Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
HPC-системы.docx
Скачиваний:
19
Добавлен:
29.05.2017
Размер:
2.74 Mб
Скачать
  1. Что такое кластер

Кластер — группа вычислителей, объединенных высокоскоростными каналами связи и представляющая с точки зрения пользователя единый аппаратный ресурс.

Ускорение вычислений на кластере происходит благодаря параллельному выполнению на разных вычислителях независимых участков программы (см. рисунок 4). В процессе выполнения программы по мере необходимости результаты вычислений объединяются, передаются на другие вычислители и используются в дальнейших вычислениях.

Рисунок 4 «Распараллеливание задач»

  1. Типы суперкомпьютеров

Рассмотрим следующие архитектуры вычислительных систем:

  • Симметричные мультипроцессорные системы (SMP);

  • Массивно-параллельные системы (MPP);

  • Параллельно-векторные системы (PVP);

  • Системы с неоднородным доступом к памяти (NUMA).

Симметричные мультипроцессорные системы: Система состоит из нескольких однородных процессоров и массива общей памяти (обычно имеющего несколько независимых блоков). Все процессоры имеют доступ к любой точке памяти с одинаковой скоростью. Процессоры подключены к памяти либо с помощью общей шины, либо с помощью специального коммутатора. Архитектура системы представлена на рисунке 5.

Рисунок 5 «Архитектура SMP-системы»

Основные преимущества SMP-систем следующие:

  • повышение производительности приложений прямым наращиванием производительных аппаратных средств;

  • создание приложений в привычных программных средах;

  • одинаковое время доступа ко всей памяти;

  • высокая пропускная способность пересылки сообщений между вычислительными устройствами;

  • поддержка когерентности совокупности кэшей и блоков основной памяти, неделимые операции синхронизации и блокировки.

Однако есть и существенный недостаток: степень масштабируемости SMP систем ограничена в пределах технической реализуемости одинакового для всех процессоров доступа в память со скоростью, характерной для однопроцессорных компьютеров. Как правило, количество процессоров в SMP не превышает тридцати двух.

Массивно-параллельные системы: система состоит из однородных вычислительных узлов, включающих

  • один или несколько центральных процессоров;

  • локальную память (прямой доступ к памяти других узлов невозможен);

  • коммуникационный процессор или сетевой адаптер, жесткие диски и/или другие устройства ввода/вывода.

К системе могут быть добавлены специальные узлы ввода-вывода и управляющие узлы. Узлы связаны через некоторую коммуникационную среду (см. рисунок 6).

Рисунок 6 «Архитектура MPP-системы»

Основное преимущество MPP-систем заключается в масштабируемости: процессор имеет доступ только к своей локальной памяти, значит, не возникает необходимости в синхронизации. Кроме того, отсутствие общей памяти снижает скорость межпроцессорного обмена.

Практически все рекорды производительности устанавливаются на машинах именно такой архитектуры, состоящих из нескольких тысяч процессоров.

Однако и такие, достаточно простые системы, имеют значительные недостатки:

  • требуется специальная техника программирования для реализации обмена сообщениями между процессорами;

  • каждый процессор может использовать только ограниченный объем локального банка памяти;

  • требуются значительные усилия для максимального использования системных ресурсов, что приводит к высокой стоимости ПО;

  • приращение производительности с ростом числа процессоров обычно довольно быстро убывает;

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

  • проблема переносимости программ между различными системами;

  • эффективность распараллеливания во многих случаях сильно зависит от деталей архитектуры МРР-системы, например топологии соединения процессорных узлов.

Системы с неоднородным доступом к памяти: Система состоит из однородных базовых модулей, включающих один или несколько процессоров и блок памяти. Модули объединены с помощью высокоскоростной коммуникационной среды. Поддерживается единое адресное пространство, аппаратно поддерживается доступ к удаленной памяти, т.е. к памяти других модулей. При этом доступ к локальной памяти в несколько раз быстрее, чем к удаленной (см. рисунок 7).

Рисунок 7 «Архитектура NUMA-системы»

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

Основное преимущество NUMA-систем — это повышение масштабируемости по сравнению с SMP-системами.

Недостатки:

  • основная проблема — обеспечение когерентности кэшей;

  • масштабируемость вырастает на порядок, но за это приходится платить увеличением стоимости аппаратного и программного обеспечения;

  • аппаратура усложняется за счет появления единой коммуникационной среды, к качеству которой предъявляются высокие требования.

Параллельно-векторные системы: Основным признаком PVP-систем является наличие специальных векторно-конвейерных процессоров, в которых предусмотрен команды однотипной обработки векторов независимых данных, эффективно выполняющиеся на конвейерных функциональных устройствах.

Как правило, несколько таких процессоров работают одновременно с общей памятью (аналогично SMP) в рамках многопроцессорных конфигураций. Несколько таких узлов могут быть объединены с помощью коммутатора (аналогично MPP).

Параллелизм обработки обеспечивается представлением данных в виде векторов значений. Одна и та же операция производится над вектором в целом. Некоторые авторы утверждают, что такие машины не являются параллельными, так как векторы обрабатываются последовательно (параллельность имеется только на уровне компонентов вектора) и относят их к классу непараллельных машин.

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

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

Современные вычислительные кластеры создаются, как правило, в комбинации архитектур (см. рисунок 8).

Рисунок 8 «Архитектура современного вычислительного кластера»

Современный кластер = SMP + MPP + PVP

Следует заметить, что помимо вычислительных, существуют еще и другие типы кластеров, например, кластеры высокой доступности (high availability) или кластеры распределения (балансировки) нагрузки.