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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Гетерогенные вычислительные системы — электронные системы, использующие различные типы вычислительных блоков. Вычислительными блоками такой системы могут быть процессор общего назначения (GPP), процессор специального назначения (например, цифровой сигнальный процессор (DSP) или графический процессор (GPU)), сопроцессор, логика ускорения (специализированная интегральная схема (ASIC) или программируемая пользователем вентильная матрица (FPGA)).

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

В прошлом, технологические достижения и масштабируемость частоты позволяли большинству компьютерных приложений увеличивать производительность без структурных изменений или аппаратного ускорения. Хотя эти достижения сохраняются, их влияние на современные прикладное ПО не так значительно, как влияние некоторых препятствий, таких как стена памяти[en] и стена мощности[1][2][3].

Теперь, с этими дополнительными ограничениями, основным методом получения дополнительной производительности вычислительных систем является введение дополнительных специализированных ресурсов, в результате чего вычислительная система становится гетерогенной[4][5]. Это позволяет разработчику использовать несколько типов вычислительных элементов, каждый из которых способен выполнять задачи, которые лучше всего для него подходят[6].

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

Ещё один термин, который иногда используется для этого типа вычислений «гибридные вычисления»[7]. Hybrid-core computing[en] — форма гетерогенных вычислений, в которой асимметричные вычислительные устройства сосуществуют в одном процессоре.

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

Примечания[править | править код]

  1. Маркова В. И., Куликов И. М. Архитектура современных ЭВМ. Дата обращения: 27 декабря 2012. Архивировано 18 января 2013 года.
  2. IBM. Cell Broadband Engine Programming Tutorial. Дата обращения: 16 декабря 2012. Архивировано 18 января 2013 года.
  3. John Shalf. The New Landscape of Parallel Computer Architecture. Дата обращения: 16 декабря 2012. Архивировано 18 января 2013 года.
  4. Michael Gschwind. The Cell Broadband Engine: Exploiting Multiple Levels of Parallelism in a Chip Multiprocessor. International Journal of Parallel Programming. Дата обращения: 16 декабря 2012. Архивировано 18 января 2013 года.
  5. Brodtkorb, André Rigland; Christopher Dyken, Trond R. Hagen, Jon M. Hjelmervik, Olaf O. Storaasli. State-of-the-Art in Heterogeneous Computing (неопр.) // Scientific Programming. — 2010. — May (т. 18). — С. 1—33. Архивировано 7 мая 2016 года.
  6. Heterogeneous Processing: a Strategy for Augmenting Moore's Law. Linux Journal. Дата обращения: 16 декабря 2012. Архивировано 18 января 2013 года.
  7. Visions for Application Development on Hybrid Computing Systems. Дата обращения: 16 декабря 2012. Архивировано 18 января 2013 года.