Jump to content

Специализированная архитектура

Доменно -специфическая архитектура (DSA) — это программируемая компьютерная архитектура, специально предназначенная для очень эффективной работы в пределах данного домена приложения. Этот термин часто используется в отличие от архитектур общего назначения, таких как процессоры , которые предназначены для работы с любой компьютерной программой . [1]

В связи с полупроводниковым бумом, начавшимся в 1960-х годах, перед компьютерными архитекторами была поставлена ​​задача найти новые способы использования все большего числа доступных транзисторов. Закон Мура и масштабирование Деннарда позволили архитекторам сосредоточиться на повышении производительности микропроцессоров общего назначения в программах общего назначения. [2] [3]

Эти усилия привели к нескольким технологическим инновациям, таким как многоуровневые кэши , выполнение вне очереди , глубокие конвейеры команд , многопоточность и многопроцессорность . Влияние этих инноваций измерялось по общим критериям, таким как SPEC , и архитекторы не интересовались внутренней структурой или конкретными характеристиками этих программ. [1]

Конец Dennard Scaling подтолкнул компьютерных архитекторов к переходу от одного очень быстрого процессора к нескольким процессорным ядрам . Улучшения производительности уже нельзя было добиться простым увеличением рабочей частоты одного ядра. [4]

Конец закона Мура сместил акцент с архитектур общего назначения на более специализированное оборудование. Хотя ЦП общего назначения, вероятно, найдет свое место в любой компьютерной системе, гетерогенные системы, состоящие из компонентов общего назначения и специализированных компонентов, являются самой последней тенденцией для достижения высокой производительности. [ нужна ссылка ]

Хотя аппаратные ускорители и ASIC использовались в очень специализированных областях приложений с момента зарождения полупроводниковой промышленности, они обычно реализуют конкретную функцию с очень ограниченной гибкостью. Напротив, переход к архитектуре, ориентированной на предметную область, направлен на достижение лучшего баланса гибкости и специализации. [5]

Ярким ранним примером программируемой архитектуры для конкретной предметной области являются графические процессоры. Это специализированное оборудование было разработано специально для работы в области обработки изображений и компьютерной графики . [6] Эти программируемые процессоры нашли широкое распространение как в игровых консолях , так и в персональных компьютерах. С улучшением стека аппаратного и программного обеспечения для графических процессоров NVIDIA и AMD эти архитектуры все чаще используются для ускорения выполнения массово и до невозможности параллельных задач, даже за пределами области обработки изображений. [7]

С момента возрождения искусственного интеллекта на основе машинного обучения в 2010-х годах было разработано несколько предметно-ориентированных архитектур для ускорения вывода для различных форм искусственных нейронных сетей . Некоторые примеры: от Google TPU , NVDLA от NVIDIA. [8] и ARM . MLP компании [9]

Рекомендации по проектированию DSA

[ редактировать ]

Джон Хеннесси и Дэвид Паттерсон изложили пять принципов проектирования DSA, которые приводят к повышению эффективности использования площади и экономии энергии. Целью этих типов архитектуры часто также является снижение затрат на единовременное проектирование (NRE), чтобы инвестиции в специализированное решение можно было легче окупить. [1]

  1. Минимизируйте расстояние, на которое перемещаются данные: перемещение данных в иерархиях памяти общего назначения требует значительного количества энергии, чтобы попытаться минимизировать задержку доступа к данным. В случае предметно-ориентированных архитектур ожидается, что понимание предметных областей приложений разработчиками аппаратного обеспечения и компиляторов позволит создать более простые и специализированные иерархии памяти, в которых перемещение данных в основном обрабатывается программным обеспечением, с адаптированной памятью для конкретных функций внутри области. домен. [1]
  2. Инвестируйте сэкономленные ресурсы в арифметические единицы или большую память: поскольку значительное количество аппаратных ресурсов можно сэкономить, отказавшись от архитектурных оптимизаций общего назначения, таких как выполнение вне очереди, предварительная выборка адресов , объединение и спекуляции с оборудованием, сэкономленные ресурсы следует реинвестируются, чтобы максимально использовать доступный параллелизм , например, путем добавления большего количества арифметических единиц или решения любых проблем с пропускной способностью памяти путем добавления памяти большего размера. [1]
  3. Используйте самую простую форму параллелизма, соответствующую домену: поскольку домены целевых приложений почти всегда представляют собой внутреннюю форму параллелизма, важно решить, как воспользоваться преимуществами этого параллелизма и предоставить его программному обеспечению. Если, например, архитектура SIMD может работать в предметной области, программисту будет проще использовать ее, чем архитектуру MIMD . [1]
  4. Уменьшите размер и тип данных до простейших, необходимых для предметной области: по возможности использование более узких и простых типов данных дает несколько преимуществ. Например, это снижает стоимость перемещения данных для приложений, ограниченных памятью , а также может уменьшить количество ресурсов, необходимых для реализации соответствующих арифметических единиц. [1]
  5. Используйте предметно-ориентированный язык программирования для переноса кода в DSA: одной из проблем для DSA является простота использования, а точнее, возможность эффективного программирования архитектуры и запуска на ней приложений. По возможности рекомендуется использовать существующие предметно-ориентированные языки (DSL), такие как Halide. [10] и ТензорФлоу [11] чтобы упростить программирование DSA. Повторное использование существующих наборов инструментов компилятора и программных инфраструктур делает использование нового DSA значительно более доступным. [1]

DSA для глубоких нейронных сетей

[ редактировать ]

Одной из областей применения, в которой DSA добился наибольшего успеха, является искусственный интеллект . В частности, было разработано несколько архитектур для ускорения глубоких нейронных сетей (DNN). [12] В следующих разделах мы приведем несколько примеров.

Тензорный процессор
Тензорный процессор 3.0
Дизайнер Google
Представлено май 2016 г.
Тип Нейронная сеть
Машинное обучение

Google TPU был разработан в 2015 году для ускорения вывода DNN, поскольку компания прогнозировала, что использование голосового поиска потребует удвоения вычислительных ресурсов, выделяемых в то время для вывода нейронной сети. [13]

TPU был спроектирован как сопроцессор, обменивающийся данными через шину PCIe , который можно легко встроить в существующие серверы. В первую очередь это механизм умножения матриц, следующий за CISC (компьютер со сложным набором команд) ISA . Механизм умножения использует систолическое выполнение для экономии энергии, уменьшая количество операций записи в SRAM . [14]

TPU был изготовлен по 28-нм техпроцессу и работал на частоте 700 МГц. Часть приложения, работающая на TPU, реализована в TensorFlow. [14]

TPU вычисляет в основном целые числа пониженной точности, что дополнительно способствует экономии энергии и повышению производительности. [14]

Microsoft Катапульта

[ редактировать ]

Microsoft Проект «Катапульта» [15] поместить FPGA, подключенную через шину PCIe, к серверам центров обработки данных с идеей использования FPGA для ускорения различных приложений, работающих на сервере, используя возможности реконфигурации FPGA для ускорения множества различных приложений.

В отличие от TPU от Google, Catapult FPGA необходимо было программировать с использованием языков описания оборудования, таких как Verilog и VHDL . По этой причине основной проблемой для авторов платформы была ограниченная программируемость. [16]

Microsoft разработала ускоритель CNN для платформы Catapult, который в первую очередь был разработан для ускорения функции ранжирования в поисковой системе Bing . Предложенная архитектура обеспечивала реконфигурируемую конструкцию во время выполнения на основе двумерного систолического массива. [17] [18]

NVDLA — это ускоритель вывода глубокого обучения NVIDIA. Это аппаратная конструкция с открытым исходным кодом, доступная в ряде конфигураций с широкими возможностями параметризации. Модель small-NVDLA предназначена для развертывания в сценариях с ограниченными ресурсами, таких как Интернет вещей , где основными проблемами являются стоимость, площадь и мощность. Наоборот. модель большого NVDLA больше подходит для сценариев высокопроизводительных вычислений . NVDLA предоставляет собственную специализированную инфраструктуру обучения, инструменты компиляции и пакет программного обеспечения для выполнения. [19]

DSA для других доменов

[ редактировать ]

Помимо применения в области искусственного интеллекта, DSA применяются во многих областях научных вычислений, обработки изображений и сетей. [20] [21]

Пиксельное визуальное ядро

[ редактировать ]

Pixel Visual Core (PVC) — это на базе ARM, процессор обработки изображений разработанный Google . PVC — это полностью программируемая изображений , видения и искусственного интеллекта многоядерная доменно-ориентированная архитектура (DSA) для для мобильных устройств и, в будущем, для Интернета вещей . Впервые он появился в Google Pixel 2 и 2 XL , представленных 19 октября 2017 года. Он также появился в Google Pixel 3 и 3 XL . Начиная с Pixel 4 , этот чип был заменен на Pixel Neural Core . [22]

Архитектура специализированных ядер Anton3. Геометрические ядра выполняют вычисления общего назначения, а специализированное оборудование ускоряет вычисления силовых полей.

Anton3 — это DSA, предназначенный для эффективного моделирования молекулярной динамики . Он использует специализированную сеть межсоединений с топологией 3D- тора для соединения нескольких вычислительных узлов. [21] Каждый вычислительный узел содержит набор из 64 ядер, соединенных между собой посредством сетки . Ядра реализуют специализированный глубокий конвейер для эффективного расчета силового поля между молекулами. Эта гетерогенная система сочетает в себе аппаратное обеспечение общего назначения и специализированные компоненты для достижения рекордной скорости моделирования. [23]

  1. ^ Перейти обратно: а б с д и ж г час Хеннесси, Джон Л.; Паттерсон, Дэвид А. (2019). Компьютерная архитектура: количественный подход . Крсте Асанович (6-е изд.). Кембридж, Массачусетс: Morgan Kaufmann Publishers, издательство Elsevier. п. 540. ИСБН  978-0-12-811905-1 .
  2. ^ Мур, GE (январь 1998 г.). «Втиснение большего количества компонентов в интегральные схемы» . Труды IEEE . 86 (1): 82–85. дои : 10.1109/jproc.1998.658762 . ISSN   0018-9219 .
  3. ^ Деннард, Р.Х.; Генслен, Ф.Х.; Ю, Хва-Ниен; Райдаут, ВЛ; Басус, Э.; Леблан, Арканзас (октябрь 1974 г.). «Проектирование ионно-имплантированных МОП-транзисторов с очень малыми физическими размерами» . Журнал IEEE твердотельных схем . 9 (5): 256–268. Бибкод : 1974IJSSC...9..256D . дои : 10.1109/jssc.1974.1050511 . ISSN   0018-9200 . S2CID   283984 .
  4. ^ Шауэр, Брайан. «Многоядерные процессоры – необходимость» (PDF) . Архивировано из оригинала (PDF) 25 ноября 2011 г. Проверено 6 июля 2023 г.
  5. ^ Барр, Кейт Эллиотт (2007). Проектирование ASIC в кремниевой песочнице: полное руководство по созданию интегральных схем смешанных сигналов . Нью-Йорк: МакГроу-Хилл. ISBN  978-0-07-148161-8 .
  6. ^ «Что такое графический процессор?» . Виртуальный рабочий стол . Проверено 7 июля 2023 г.
  7. ^ «Ускоренные приложения NVIDIA» . NVIDIA . Проверено 6 июля 2023 г.
  8. ^ «NVDLA — Микроархитектуры — Nvidia — WikiChip» . ru.wikichip.org . Проверено 6 июля 2023 г.
  9. ^ «Процессор машинного обучения (MLP) — Микроархитектуры — ARM — WikiChip» . ru.wikichip.org . Проверено 6 июля 2023 г.
  10. ^ Рэган-Келли, Джонатан. «Халид» . halide-lang.org . Проверено 6 июля 2023 г.
  11. ^ «ТензорФлоу» . ТензорФлоу . Проверено 6 июля 2023 г.
  12. ^ Гаюми, Мехди (12 октября 2021 г.), «Основы и архитектура глубоких нейронных сетей (DNN)» , Глубокое обучение на практике , Бока-Ратон: Чепмен и Холл / CRC, стр. 77–107, doi : 10.1201/9781003025818-5 , ISBN  9781003025818 , S2CID   241427658 , получено 6 июля 2023 г.
  13. ^ Хеннесси, Джон Л.; Паттерсон, Дэвид А. (2019). Компьютерная архитектура: количественный подход . Крсте Асанович (6-е изд.). Кембридж, Массачусетс: Morgan Kaufmann Publishers, издательство Elsevier. п. 557. ИСБН  978-0-12-811905-1 .
  14. ^ Перейти обратно: а б с Хеннесси, Джон Л.; Паттерсон, Дэвид А. (2019). Компьютерная архитектура: количественный подход . Крсте Асанович (6-е изд.). Кембридж, Массачусетс: Morgan Kaufmann Publishers, издательство Elsevier. п. 560. ИСБН  978-0-12-811905-1 .
  15. ^ «Проект Катапульта» . Исследования Майкрософт . Проверено 6 июля 2023 г.
  16. ^ Патнэм, Эндрю; Колфилд, Адриан М.; Чанг, Эрик С.; Чиу, Дерек; Константинид, Кипр; Демме, Джон; Исмаилзаде, Хади; Фауэрс, Джереми; Гопал, Гопи Прашант; Грей, Ян; Хазельман, Майкл; Хаук, Скотт; Привет, Стивен; Хормати, Амир; Ким, Джу Ён (28 октября 2016 г.). «Реконфигурируемая структура для ускорения предоставления услуг крупномасштабных центров обработки данных» . Коммуникации АКМ . 59 (11): 114–122. дои : 10.1145/2996868 . ISSN   0001-0782 . S2CID   3826382 .
  17. ^ Хеннесси, Джон Л.; Паттерсон, Дэвид А. (2019). Компьютерная архитектура: количественный подход . Крсте Асанович (6-е изд.). Кембридж, Массачусетс: Morgan Kaufmann Publishers, издательство Elsevier. п. 573. ИСБН  978-0-12-811905-1 .
  18. ^ «Клев между пингвинами» . Бинг . Проверено 6 июля 2023 г.
  19. ^ «Букварь NVDLA — Документация NVDLA» . nvdla.org . Проверено 6 июля 2023 г.
  20. ^ «Модули обработки данных NVIDIA BlueField (DPU)» . NVIDIA . Проверено 6 июля 2023 г.
  21. ^ Перейти обратно: а б Шоу, Дэвид Э.; Адамс, Питер Дж.; Азария, Асаф; Банк, Джозеф А.; Бэтсон, Брэннон; Белл, Алистер; Бергдорф, Майкл; Бхатт, Джанви; Баттс, Дж. Адам; Коррейя, Тимоти; Диркс, Роберт М.; Дрор, Рон О.; Иствуд, Майкл П.; Эдвардс, Брюс; Эвен, Амос (14 ноября 2021 г.). «Антон 3: Двадцать микросекунд моделирования молекулярной динамики перед обедом». Материалы Международной конференции по высокопроизводительным вычислениям, сетям, хранению и анализу . АКМ. стр. 1–11. дои : 10.1145/3458817.3487397 . ISBN  978-1-4503-8442-1 . S2CID   239036976 .
  22. ^ Катресс, Ян. «Горячие фишки 2018: живой блог Google Pixel Visual Core (10:00 по тихоокеанскому времени, 17:00 по всемирному координированному времени)» . www.anandtech.com . Проверено 7 июля 2023 г.
  23. ^ Рассел, Джон (2 сентября 2021 г.). «Антон-3 — это огнедышащий зверь из молекулярного моделирования» . HPCwire . Проверено 6 июля 2023 г.

Дальнейшее чтение

[ редактировать ]
  • Компьютерная архитектура. Количественный подход. Шестое издание. Джон Л. Хеннесси. Стэнфордский университет. Дэвид А. Паттерсон. Калифорнийский университет, Беркли.

См. также

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f714f47e2e87677f6a8d1a2001e76e72__1713233340
URL1:https://arc.ask3.ru/arc/aa/f7/72/f714f47e2e87677f6a8d1a2001e76e72.html
Заголовок, (Title) документа по адресу, URL1:
Domain-specific architecture - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)