Гетерогенные вычисления относятся к системам, которые используют более одного типа процессоров или ядер. Эти системы повышают производительность или энергоэффективность не только за счет добавления процессоров того же типа, но и за счет добавления разнородных сопроцессоров, обычно включающих специализированные возможности обработки для выполнения определенных задач.
Обычно неоднородность в контексте вычислений относится к разным инструкциям -набор архитектур (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).
Существующие гетерогенные вычислительные системы новые проблемы, которых нет в типичных однородных системах. Наличие нескольких элементов обработки порождает все проблемы, связанные с однородными системами параллельной обработки, в то время как уровень неоднородности в системе может вносить неоднородность в разработку системы, методы программирования и общие возможности системы. Области неоднородности могут включать:
Гетерогенное вычислительное оборудование можно найти во всех областях вычислений - от высокопроизводительных серверов и высокопроизводительных вычислительных машин до маломощных встроенных устройств, включая мобильные телефоны и планшеты.