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

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

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

Содержание
  • 1 Неоднородность
  • 2 Проблемы
  • 3 Пример оборудования
  • 4 См. Также
  • 5 Ссылки
Неоднородность

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

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

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

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

Проблемы

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

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

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

См. Также
Ссылки
Последняя правка сделана 2021-05-23 10:46:32
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте