Было предложено объединить эту статью в Grid computing . ( Обсудить ) Предлагается с августа 2020 года. |
Эта статья требует дополнительных ссылок для проверки . ( октябрь 2014 г. ) ( Узнайте, как и когда удалить это сообщение-шаблон ) |
Гетерогенные вычисления относятся к системам, использующим более одного типа процессоров или ядер . Эти системы повышают производительность или энергоэффективность не только за счет добавления процессоров того же типа, но и за счет добавления разнородных сопроцессоров , обычно включающих специализированные возможности обработки для обработки определенных задач. [1]
Неоднородность [ править ]
Обычно неоднородность в контексте вычислений упоминается [ когда? ] к разным архитектурам с набором инструкций (ISA), где главный процессор имеет один, а другие процессоры имеют другую - обычно совсем другую - архитектуру (может быть, более одного), а не просто другую микроархитектуру (обработка чисел с плавающей запятой - это особый случай. из этого - обычно не относящиеся к разнородным).
В прошлом гетерогенные вычисления означали, что разные ISA должны обрабатываться по-разному, в то время как в современном примере системы с гетерогенной системной архитектурой (HSA) [2] устраняют разницу (для пользователя) при использовании нескольких типов процессоров (обычно CPU и GPU [3] ] ), обычно на одной и той же интегральной схеме , чтобы обеспечить лучшее из обоих миров: общую обработку графическим процессором (помимо хорошо известных возможностей рендеринга трехмерной графики графическим процессором, он также может выполнять математически интенсивные вычисления с очень большими наборами данных), тогда как ЦП могут запускать операционную систему и выполнять традиционные последовательные задачи.
Уровень неоднородности современных вычислительных систем постепенно увеличивается, поскольку дальнейшее масштабирование технологий производства позволяет ранее дискретным компонентам стать интегрированными частями системы на кристалле или SoC. [ необходима цитата ] Например, многие новые процессоры теперь включают встроенную логику для взаимодействия с другими устройствами ( SATA , PCI , Ethernet , USB , RFID , радио , UART и контроллеры памяти ), а также программируемые функциональные блоки и аппаратные ускорители. ( GPU , криптография сопроцессоры , программируемые сетевые процессоры, A / V кодеры / декодеры и т. д.).
Недавние результаты показывают, что мультипроцессор с гетерогенным чипом ISA, который использует разнообразие, предлагаемое несколькими ISA, может превзойти лучшую однородную архитектуру с одинаковым ISA на целых 21% с 23% экономией энергии и снижением на 32% продукта задержки энергии (EDP). . [4] В заявлении AMD в 2014 году о совместимых по выводам процессорах ARM и x86 под кодовым названием Project Skybridge [5] предполагается, что мультипроцессор на базе гетерогенного ISA (ARM + x86) находится в стадии разработки. [ необходима цитата ]
Гетерогенная топология ЦП [ править ]
Система с неоднородной топологией ЦП - это система, в которой используется один и тот же ISA, но сами ядра различаются по скорости. [6] Установка больше похожа на симметричный мультипроцессор . (Хотя такие системы технически являются асимметричными мультипроцессорами , ядра не различаются по ролям или доступу к устройствам.)
Обычно такая топология используется для повышения энергоэффективности мобильных SoC. ARM big.LITTLE - это типичный случай, когда более быстрые ядра с высокой мощностью сочетаются с более медленными ядрами с низким энергопотреблением. [7] Apple Silicon производит ядра ARM аналогичной организации. Intel также выпустила гибридные ядра x86 под кодовым названием Lakefield, хотя и не без серьезных ограничений в поддержке набора команд.
Alder Lake использует маленькие и большие жилы.
Проблемы [ править ]
Гетерогенные вычислительные системы создают новые проблемы, которых нет в типичных однородных системах. [8] Наличие нескольких элементов обработки поднимает все проблемы, связанные с однородными системами параллельной обработки, в то время как уровень неоднородности в системе может вносить неоднородность в разработку системы, методы программирования и общие возможности системы. Области неоднородности могут включать: [9]
- ISA или архитектура с набором инструкций
- Вычислительные элементы могут иметь разную архитектуру набора команд, что ведет к двоичной несовместимости.
- ABI или двоичный интерфейс приложения
- Вычислительные элементы могут интерпретировать память по-разному. [10] Это может включать как порядок байтов , так и соглашение о вызовах , и структуру памяти и зависит как от архитектуры, так и от используемого компилятора .
- API или интерфейс прикладного программирования
- Услуги библиотеки и ОС могут быть доступны не для всех вычислительных элементов. [11]
- Низкоуровневая реализация языковых функций
- Функции языка, такие как функции и потоки, часто реализуются с использованием указателей на функции , механизма, который требует дополнительного перевода или абстракции при использовании в гетерогенных средах.
- Интерфейс памяти и иерархия
- Вычислить элементы могут иметь различные кэш - структуры, содержимого кэша протоколов, а также доступ к памяти может быть однородным или неоднородным доступом к памяти ( NUMA ). Различия также можно найти в способности читать данные произвольной длины, поскольку некоторые процессоры / устройства могут выполнять только байтовый, словарный или пакетный доступ.
- Соединить
- Вычислительные элементы могут иметь разные типы соединений, помимо базовых интерфейсов памяти / шины. Сюда могут входить выделенные сетевые интерфейсы, устройства прямого доступа к памяти ( DMA ), почтовые ящики, FIFO и электронные блоки памяти и т. Д. Кроме того, некоторые части гетерогенной системы могут быть согласованы с кешем, тогда как другие могут потребовать явного участия программного обеспечения для поддержания согласованности. и согласованность.
- Спектакль
- Гетерогенная система может иметь процессоры, идентичные с точки зрения архитектуры, но имеющие основные микроархитектурные различия, которые приводят к различным уровням производительности и энергопотребления. Асимметрия в возможностях в сочетании с непрозрачными моделями программирования и абстракциями операционной системы иногда может приводить к проблемам предсказуемости производительности, особенно при смешанных рабочих нагрузках.
- Разделение данных
- Хотя разделение данных на однородные платформы часто тривиально, было показано, что для общего гетерогенного случая проблема является NP-полной. [12] Было показано, что для небольшого количества разделов существует оптимальное разделение, которое идеально балансирует нагрузку и минимизирует объем обмена данными. [13]
Пример оборудования [ править ]
Гетерогенное вычислительное оборудование можно найти во всех областях вычислений - от высокопроизводительных серверов и высокопроизводительных вычислительных машин до встроенных устройств с низким энергопотреблением, включая мобильные телефоны и планшеты.
- Высокопроизводительные вычисления
- Cray XD1
- Компьютеры SRC SRC-6 и SRC-7
- Встроенные системы (DSP и мобильные платформы)
- Техасские инструменты OMAP
- Аналоговые устройства Blackfin
- Qualcomm Snapdragon
- Nvidia Tegra
- Samsung Exynos
- Яблоко серии "А"
- Блоки обработки Movidius Myriad Vision , включающие несколько симметричных процессоров, дополненных блоками с фиксированными функциями , и парой контроллеров на базе SPARC .
- SoC HiSilicon Kirin
- MediaTek SoC
- Цифровые сигнальные процессоры Cadence Design Systems Tensilica
- Реконфигурируемые вычисления
- Xilinx поле программируемой пользователем вентильной матрицы (FPGA, например, Virtex-II Pro, Virtex 4 FX, Virtex 5 FXT) и Zynq и Версальные Платформы
- Intel «Стеллартон» ( ПЛИС Atom + Altera )
- Сети
- Сетевые процессоры Intel IXP
- Сетевые процессоры Netronome NFP
- Универсальные вычислительные, игровые и развлекательные устройства
- Процессоры Intel Sandy Bridge, Ivy Bridge и Haswell
- AMD Excavator и APU Ryzen
- IBM Cell в PlayStation 3 [14]
- SpursEngine , вариант процессора IBM Cell
- Emotion Engine , найденный в PlayStation 2
- ARM big.LITTLE / архитектура процессора DynamIQ
- Почти все поставщики ARM предлагают разнородные решения; ARM, Qualcomm, Nvidia, Apple, Samsung, HiSilicon, MediaTek и др.
См. Также [ править ]
- ГПГПУ
- MPSoC
- big.LITTLE / DynamIQ
Ссылки [ править ]
- ^ Шан, Амар (2006). Гетерогенная обработка: стратегия дополнения закона Мура . Linux Journal.
- ^ "Фонд гетерогенной системной архитектуры (HSA)" . Архивировано из оригинала на 2014-04-23 . Проверено 1 ноября 2014 .
- ^ С. Миттал и Дж. Веттер (2015), Обзор методов гетерогенных вычислений CPU-GPU , ACM Computing Surveys.
- ^ Венкат, Ашиш; Таллсен, Дин М. (2014). Использование разнообразия ISA: разработка многопроцессорного процессора на гетерогенных микросхемах ISA . Материалы 41-го ежегодного международного симпозиума по компьютерной архитектуре.
- ^ Ананд Лал Шимпи (2014-05-05). «AMD объявляет о выпуске проекта SkyBridge: совместимые с выводами ARM и x86 SoC в 2015 году, поддержка Android» . AnandTech . Проверено 11 июня 2017 .
В следующем году AMD выпустит маломощную 20-нм SoC на базе Cortex A57 со встроенным графическим процессором Graphics Core Next.
- ^ «Энергетическое планирование» . Документация ядра Linux .
- ^ Обзор методов архитектуры и управления асимметричными многоядерными процессорами , ACM Computing Surveys, 2015.
- ^ Kunzman, DM (2011). Программирование гетерогенных систем . Международный симпозиум по параллельной и распределенной обработке. DOI : 10.1109 / IPDPS.2011.377 .
- ^ Flachs, Brian (2009). Внедрение гетерогенных процессоров в массовое производство (PDF) . Симпозиум по ускорителям приложений в высокопроизводительных вычислениях (SAAHPC).
- ^ «Экономичное распределение мультимедийных данных для гетерогенной памяти с использованием генетического алгоритма в облачных вычислениях» (PDF) . IEEE. 2016 г. Цитировать журнал требует
|journal=
( помощь ) - ^ Агрон, Джейсон; Эндрюс, Дэвид (2009). Аппаратные микроядра для гетерогенных многоядерных систем . Семинары по параллельной обработке, 2009. Международная конференция по параллельной обработке (ICPPW). DOI : 10.1109 / ICPPW.2009.21 .
- ^ Бомонт, Оливье; Буде, Винсент; Растелло, Фабрис; Роберт, Ив (август 2002). «Разбиение квадрата на прямоугольники: NP-полнота и алгоритмы аппроксимации» (PDF) . Алгоритмика . 34 (3): 217–239. CiteSeerX 10.1.1.3.4967 . DOI : 10.1007 / s00453-002-0962-9 .
- ^ Бомонт, Оливье; Беккер, Бретт; ДеФлюмер, Эшли; Эйро-Дюбуа, Лайонел; Ластовецкий, Алексей (июль 2018). «Последние достижения в области разделения матриц для параллельных вычислений на гетерогенных платформах» (PDF) . Транзакции IEEE по параллельным и распределенным вычислениям .
- ^ Gschwind, Майкл (2005). Новая архитектура SIMD для гетерогенного многопроцессорного чипа Cell (PDF) . Горячие чипы: симпозиум по высокопроизводительным чипам.