Jump to content

Гетерогенные вычисления

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

Неоднородность [ править ]

Обычно гетерогенность в контексте вычислений относится к разным архитектурам набора команд (ISA), где основной процессор имеет одну, а другие процессоры имеют другую, обычно совершенно другую, архитектуру (возможно, несколько), а не просто другую микроархитектуру ( плавающую обработка номеров точек является особым случаем этого процесса и обычно не называется гетерогенной).

В прошлом гетерогенные вычисления означали, что с разными ISA нужно было обращаться по-разному, тогда как в современном примере с гетерогенной системной архитектурой (HSA) системы [2] устранить разницу (для пользователя) при использовании нескольких типов процессоров (обычно центральных и графических процессоров ), обычно на одной и той же интегральной схеме , чтобы обеспечить лучшее из обоих миров: общую обработку графического процессора (помимо хорошо известных возможностей рендеринга 3D-графики графического процессора). , он также может выполнять математически интенсивные вычисления с очень большими наборами данных), в то время как ЦП могут запускать операционную систему и выполнять традиционные последовательные задачи.

Уровень гетерогенности в современных вычислительных системах постепенно возрастает, поскольку дальнейшее масштабирование технологий изготовления позволяет ранее дискретным компонентам стать интегрированными частями системы -на-кристалле , или SoC. [ нужна ссылка ] Например, многие новые процессоры теперь включают встроенную логику для взаимодействия с другими устройствами ( SATA , PCI , Ethernet , USB , RFID , радиомодулями , UART и контроллерами памяти ), а также программируемые функциональные блоки и аппаратные ускорители ( графические процессоры , криптографические процессоры) . сопроцессоры , программируемые сетевые процессоры, кодеры/декодеры A/V и т. д.).

Недавние результаты показывают, что мультипроцессор с гетерогенной ISA-схемой, использующий разнообразие, предлагаемое несколькими ISA, может превзойти лучшую гомогенную архитектуру с той же ISA на целых 21% с экономией энергии на 23% и снижением на 32% продукта задержки энергии (EDP). . [3] Объявление AMD в 2014 году о совместимых по выводам процессорах ARM и x86 под кодовым названием Project Skybridge. [4] предложил создать мультипроцессор на основе гетерогенного ISA (ARM+x86). [ нужна ссылка ]

процессора Гетерогенная топология

Система с гетерогенной топологией ЦП — это система, где используется одна и та же ISA, но сами ядра разные по скорости. [5] Установка больше похожа на симметричный мультипроцессор . (Хотя такие системы технически представляют собой асимметричные мультипроцессоры , ядра не различаются по ролям или доступу к устройствам.) Обычно существует два типа ядер: ядро ​​с более высокой производительностью, обычно известное как «большое» или P-ядро, и более энергоэффективное ядро. обычно известный как «маленький» или E-core. Термины P- и E-ядра обычно используются в отношении реализации гетерогенных вычислений Intel, а термины «большие» и «маленькие ядра» обычно используются в отношении архитектуры ARM.

Обычно такая топология используется для обеспечения большей энергоэффективности, особенно в мобильных SoC.

  • ARM big.LITTLE (на смену DynamIQ) представляет собой прототипный случай, в котором более быстрые ядра с высоким энергопотреблением сочетаются с более медленными ядрами с низким энергопотреблением. [6]
  • Apple выпустила кремниевые SoC Apple с аналогичной организацией.
  • Intel также выпустила гибридные чипы x86-64 под кодовым названием Lakefield , хотя и не без серьезных ограничений в поддержке набора команд. Более новый Alder Lake уменьшает жертвы, добавляя дополнительную поддержку набора команд к «маленькому» ядру.

Проблемы [ править ]

Гетерогенные вычислительные системы создают новые проблемы, которых нет в типичных однородных системах. [7] Наличие нескольких элементов обработки поднимает все проблемы, связанные с однородными системами параллельной обработки, в то время как уровень неоднородности в системе может привести к неравномерности в разработке системы, методах программирования и общих возможностях системы. Области неоднородности могут включать в себя: [8]

ISA или архитектура набора команд
Вычислительные элементы могут иметь разную архитектуру набора команд, что приводит к двоичной несовместимости.
ABI или двоичный интерфейс приложения
Вычислительные элементы могут интерпретировать память по-разному. [9] Это может включать в себя как порядок байтов , соглашение о вызовах архитектуры, так и от компилятора . , так и расположение памяти, и зависит как от используемой
API или интерфейс прикладного программирования
Службы библиотеки и ОС могут не быть одинаково доступны для всех вычислительных элементов. [10]
Низкоуровневая реализация функций языка
Возможности языка, такие как функции и потоки, часто реализуются с использованием указателей на функции — механизма, который требует дополнительного перевода или абстракции при использовании в гетерогенных средах.
памяти Интерфейс и иерархия
Вычислительные элементы могут иметь разные кэша структуры , протоколы согласованности кэша , а доступ к памяти может быть унифицированным или неравномерным доступом к памяти ( NUMA ). Различия также можно найти в способности читать данные произвольной длины, поскольку некоторые процессоры/устройства могут выполнять только байтовый, словный или пакетный доступ. [11]
Межсоединение
Вычислительные элементы могут иметь разные типы межсоединений, помимо базовых интерфейсов памяти/шины. прямого доступа к памяти ( DMA Это могут быть выделенные сетевые интерфейсы, устройства ), почтовые ящики, FIFO , блокноты памяти и т. д. Кроме того, некоторые части гетерогенной системы могут быть кэш-когерентными, тогда как другие могут требовать явного участия программного обеспечения для поддержания согласованности. и согласованность.
Производительность
Гетерогенная система может иметь процессоры, идентичные по архитектуре, но имеющие основные микроархитектурные различия, которые приводят к разным уровням производительности и энергопотребления. Асимметрия возможностей в сочетании с непрозрачными моделями программирования и абстракциями операционной системы иногда может привести к проблемам с предсказуемостью производительности, особенно при смешанных рабочих нагрузках.
Инструменты разработки
Для разных типов процессоров обычно требуются разные инструменты (редакторы, компиляторы и т. д.) для разработчиков программного обеспечения, что усложняет разделение приложения на них. [12]
Разделение данных
Хотя разделение данных на однородных платформах часто является тривиальной задачей, было показано, что для общего гетерогенного случая проблема является NP-полной. [13] Было показано, что для небольшого количества разделов существуют оптимальные разделы, которые идеально балансируют нагрузку и минимизируют объем связи. [14]

Пример оборудования [ править ]

Гетерогенное вычислительное оборудование можно найти в каждой области вычислений — от высокопроизводительных серверов и высокопроизводительных вычислительных машин до маломощных встроенных устройств, включая мобильные телефоны и планшеты.

См. также [ править ]

Ссылки [ править ]

  1. ^ Шан, Амар (2006). Гетерогенная обработка: стратегия усиления закона Мура . Linux-журнал.
  2. ^ «Фонд гетерогенной системной архитектуры (HSA)» . Архивировано из оригинала 23 апреля 2014 г. Проверено 1 ноября 2014 г.
  3. ^ Венкат, Ашиш; Таллсен, Дин М. (2014). Использование разнообразия ISA: проектирование мультипроцессора с гетерогенной ISA . Материалы 41-го ежегодного международного симпозиума по компьютерной архитектуре.
  4. ^ Ананд Лал Шимпи (5 мая 2014 г.). «AMD анонсирует проект SkyBridge: совместимые по выводам процессоры ARM и x86 в 2015 году, поддержка Android» . АнандТех . Проверено 11 июня 2017 г. В следующем году AMD выпустит маломощную 20-нм SoC на базе Cortex A57 со встроенным графическим процессором Graphics Core Next.
  5. ^ «Энергосберегающее планирование» . Документация ядра Linux .
  6. ^ Обзор методов проектирования и управления асимметричными многоядерными процессорами , Обзоры вычислений ACM, 2015.
  7. ^ Кунцман, DM (2011). Программирование гетерогенных систем . Международный симпозиум по параллельной и распределенной обработке. дои : 10.1109/IPDPS.2011.377 .
  8. ^ Флахс, Брайан (2009). Выведение гетерогенных процессоров в массовое производство (PDF) . Симпозиум по ускорителям приложений в высокопроизводительных вычислениях (SAAHPC).
  9. ^ «Распределение мультимедийных данных с учетом затрат в гетерогенной памяти с использованием генетического алгоритма в облачных вычислениях» (PDF) . IEEE. 2016. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  10. ^ Агрон, Джейсон; Эндрюс, Дэвид (2009). Аппаратные микроядра для гетерогенных многоядерных систем . Семинары по параллельной обработке, 2009 г. Международная конференция по параллельной обработке (ICPPW). дои : 10.1109/ICPPW.2009.21 .
  11. ^ Ланг, Йоханнес (2020). Гетерогенные вычисления с использованием многопроцессорных однокристальных систем ARM и DSP (магистр). Форарльбергский университет прикладных наук. дои : 10.25924/опус-4525 .
  12. ^ Вонг, Уильям Г. (30 сентября 2002 г.). «Инструменты имеют значение при разработке программного обеспечения для смешанных процессоров» . www.electronicdesign.com . Проверено 9 августа 2023 г.
  13. ^ Бомонт, Оливье; Буде, Винсент; Растелло, Фабрис; Робер, Ив (август 2002 г.). «Разбиение квадрата на прямоугольники: NP-полнота и алгоритмы аппроксимации» (PDF) . Алгоритмика . 34 (3): 217–239. CiteSeerX   10.1.1.3.4967 . дои : 10.1007/s00453-002-0962-9 . S2CID   9729067 .
  14. ^ Бомонт, Оливье; Беккер, Бретт; ДеФлюмер, Эшли; Эйро-Дюбуа, Лионель; Ластовецкий, Алексей (июль 2018 г.). «Последние достижения в разделении матриц для параллельных вычислений на гетерогенных платформах» (PDF) . Транзакции IEEE в параллельных и распределенных вычислениях .
  15. ^ Гшвинд, Майкл (2005). Новая архитектура SIMD для гетерогенного мультипроцессора Cell (PDF) . Горячие чипы: симпозиум по высокопроизводительным чипам. Архивировано из оригинала (PDF) 18 июня 2020 г. Проверено 28 октября 2014 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a4da0870d2a09ed1bbc4904e1af8f76d__1708852380
URL1:https://arc.ask3.ru/arc/aa/a4/6d/a4da0870d2a09ed1bbc4904e1af8f76d.html
Заголовок, (Title) документа по адресу, URL1:
Heterogeneous computing - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)