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

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

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

История[править | править исходный текст]

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

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

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

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

Ожидается, что новая архитектура Intel Larrabee будет поддерживать технологии GPGPU.

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

GPU[править | править исходный текст]

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

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

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

Cell[править | править исходный текст]

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

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

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

Литература[править | править исходный текст]

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

См. также[править | править исходный текст]

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