Гибридная вычислительная система

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

Гибридная вычислительная система — система с гетерогенной аппаратной вычислительной структурой. Комбинация любых вычислительных устройств или блоков, например вычисления с помощью CPU и GPU совместно.[1][2]

История[править | править код]

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

В середине 2000-х для вычислительных целей начали использовать графический процессор (GPU).[1]

Основная проблема состоит в том, чтобы найти способы выполнять вычислительные задачи с помощью графического процессора. Осознав спрос на подобные вычисления, компания NVIDIA в 2007 году представила программно-аппаратную платформу CUDA, позволяющую запускать произвольный код на GPU. До появления CUDA, программистам приходилось строить гибридные системы из обычных видеокарт и программировать их, используя сложнейшие графические API.

Компания ATI разработала свои аналоги CUDA для GPGPU применений. Это технологии ATI Stream и Close to Metal.

Ожидалось, что новая архитектура Intel Larrabee будет поддерживать технологии GPGPU. Однако фактически выпущенный в рамках линейки Intel MIC продукт, Xeon Phi поддерживал только вычисления общего назначения (совместим с x86_64), лишившись возможностей графического процессора. Последующие варианты Xeon Phi реализовывались не только в виде карт расширения PCI Express, но и в виде единственного центрального процессора.

Технические особенности[править | править код]

GPU[править | править код]

Высокая вычислительная мощность GPU объясняется особенностями архитектуры. Если современные CPU содержат несколько ядер (на большинстве современных систем от 2 до 8х, 2018 г., на северных может встречаться максимум до 64х), графический процессор изначально создавался как многоядерная структура, в которой количество ядер измеряется сотнями(пример - Nvidia 1070 имеет 1920 ядер). Разница в архитектуре обусловливает и разницу в принципах работы. Если архитектура CPU предполагает последовательную обработку информации, то GPU исторически предназначался для обработки компьютерной графики, поэтому рассчитан на массивно параллельные вычисления.[3]

Каждая из этих двух архитектур имеет свои достоинства. CPU лучше работает с последовательными задачами. При большом объеме обрабатываемой информации очевидное преимущество имеет GPU. Условие только одно – в задаче должен наблюдаться параллелизм.

«GPU уже достигли той точки развития, когда многие приложения реального мира могут с легкостью выполняться на них, причем быстрее, чем на многоядерных системах. Будущие вычислительные архитектуры станут гибридными системами с графическими процессорами, состоящими из параллельных ядер и работающими в связке с многоядреными CPU.[4]
Профессор Джек Донгарра (Jack Dongarra)
Директор Innovative Computing Laboratory
Университет штата Теннесси
»

Cell[править | править код]

Процессоры IBM Cell, использовавшиеся в игровых приставках Sony PlayStation 3, содержали два типа ядер: PPE - ядро общего назначения, и массив из 8 SPE сопроцессоров.

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

Программа для GRID-вычислений BOINC поддерживает возможность использования графического процессора для выполнения вычислительных задач.[6]

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

Литература[править | править код]

  • Э. Таненбаум, М. ван Стеен. Распределенные системы. Принципы и парадигмы. — СПб.: Питер, 2003. — 877 с. — («Классика computer science»). — ISBN 5-272-00053-6.

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

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

  1. 1 2 Гибридные вычислительные системы на основе GPU
  2. [1] // Bull.com
  3. Гибридные вычислительные системы на основе графических процессоров NVIDIA Tesla Архивная копия от 8 сентября 2011 на Wayback Machine
  4. Вычисления на GPU. Дата обращения 13 сентября 2011. Архивировано 31 мая 2012 года.
  5. What is GPU Computing? (англ.). Дата обращения 13 сентября 2011. Архивировано 31 мая 2012 года.
  6. BOINC. Use your GPU for scientific computing. Дата обращения 13 сентября 2011. Архивировано 13 сентября 2011 года.