кластеры и суперкомпьютеры

Post on 28-Jun-2015

179 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

кластеры и супер компьютеры

TRANSCRIPT

Основные классы современных параллельных суперкомпьютеров

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

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

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

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

1/791/79

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

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

2/79

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

Достоинства и недостатки SMP3/79

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

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

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

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

+

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

Система состоит из однородных вычислительных узлов, включающих: один или несколько центральных процессоров;локальную память (прямой доступ к памяти других узлов

невозможен);коммуникационный процессор или сетевой адаптер, жесткие диски

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

4/79

отсутствие общей памяти снижает скорость межпроцессорного обмена.

Приращение производительности с ростом числа процессоров обычно вообще довольно быстро убывает (по закону Амдала).

5/79

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

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

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

требуются значительные усилия длямаксимального использования системных ресурсов. Этим определяется высокая цена ПО.

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

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

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

+

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

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

6/79

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

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

7/79

Повышение масштабируемости по сравнению с SMP-системами

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

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

+

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

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

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

8/79

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

Если алгоритм представим в виде операций над векторами, то производительность PVP-системы будет очень высокой.

9/79

Нет необходимости в описании и реализации взаимодействий разных узлов.

Высокая стоимость.

Невозможность представления многих алгоритмов в форме операций над векторами.

+

Современные высокопроизводительные компьютеры10/79

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

Пиковая производительность определяется как максимальное число операций над числами с плавающей запятой, которое компьютер может произвести в секунду (FLoating point OPerations per Second — FLOPS)

Пиковая производительность считается как FLOPS

peak=P*N*Hz*C

P — число процессоров;N — число вычислительных ядер на

процессор;Hz — тактовая частота процессора;C — максимальное число операций над

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

11/79

Оценка производительности компьютера

Отличие реальной производительности от

пиковой

FLOPSpeak

≠ FLOPSreal

Реальная производительность зависит от:конкретной решаемой задачи;алгоритма решения задачи;быстродействия оперативной памяти;быстродействия подсистемы ввода-вывода;...

12/79

Недостатки FLOPS

FLOPS — плохая мера производительности: неоднозначным является само определение. «Операцией с плавающей

запятой» может быть как сложение/вычитание, так и более сложные умножение/деление;

существенную роль в вычислениях играет разрядность операндов, которая нигде не оговаривается;

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

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

13/79

14/79

Тест Whetstone — это синтетический тест оценки производительности компьютеров. Впервые реализован на языке Algol 60 в 1972 г. Национальной физической лаборатории Великобритании.

Whetstone benchmark использовался для оценки производительности арифметических операций над числами с плавающей запятой.Результат — число «тысяч Whetstone-инструкций в секунду» (kWIPS).

Whetstone

CPUЧастота

процессора, ГГц

Производительность

Год выпускаMWIPS MFLOPS

Core 2 Duo 2,057 508 4319 2006

Phenom II 2,145 443 5004 2009

Core i7 930 2,496 589 5146 2010

Core i7 860 2,790 667 5239 2010

Dhrystone

Dhrystone — это синтетический тест, разработанный в 1984 г. для оценки целочисленной производительности компьютеров.Название "Dhrystone" — это игра слов с другим тестом — Whetstone.

Результат — число «Dhrystones per second», числа итераций кода программы в секунду.

Основное назначение теста — оценка производительности при работе с целыми числами. Версия 2.0 теста была выпущена автором в марте 1988 г.

15/79

Whetstone и Dhrystone — результат анализа большого количества реальных программ, включая написанные на языках FORTRAN, PL/1, SAL, ALGOL 68 и Pascal. Результат анализа — среднее число отдельных операций (условных и математических операторов, вызовов процедур, разыменование указателей и т.п.) на 1000 команд.

Недостатки синтетических тестов:не учитывает необычный код, который обычно не встречается в

программах;неустойчив к оптимизациям компилятора: результат может оказаться

выше до 30%!зависит от версии компилятора;код тестов мал по размеру и помещается в кэш-памяти современных

процессоров — не учитываются задержки при работе с памятью.

Whetstone и Dhrystone — синтетические тесты, то есть программы, которые специально разработаны, чтобы имитировать работу программ какого-то класса (например, научных геофизических).

Синтетические тесты Whetstone и Dhrystone

16/79

LINPACK

Тест LINPACK измеряет производительность компьютера по выполнению операций над числами с плавающей запятой.

Тест измеряет насколько быстро компьютер решает систему линейных уравнений размерности N*N вида Ax = b. Решение ищется методом Гаусса и требует

2/3·N3 + 2·N2 операций над числами с плавающей запятой.

Для высокопроизводительных систем пакет High-Performance LINPACK Benchmark используется для ранжирования в списке TOP500 самых быстрых в мире компьютеров. HPC benchmark запускается несколько раз, чтобы найти размерность Nmax, при которой достигается наилучшая производительность

17/79

Несмотря на недостатки, показатель FLOPS используют для оценки производительности, основываясь на тесте LINPACK.

Причины популярности:FLOPS — это абсолютная величина;многие задачи инженерной и научной практики в конечном итоге

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

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

Jaguar: 1.76 PFLOPS=1760 TFLOPS

Суперкомпьютер «Ломоносов»: 350 TFLOPS

18/79

Суперкомпьютер МГУ «Ломоносов»

420 Тфлопс350 Тфлопс83%4 4468 892 35 776T-Blade2, T-Blade 1.1, PowerXCell 8iIntel Xeon 5570, 2.93 GHz56,5 ТБайтQDR Infiniband1,35 ПБайтClusrtx T-Platforms Edition252 м2

1.5 МВт

Пиковая производительностьРеальная производительность

ЭффективностьЧисло вычислительных узлов

Число процессоровЧисло процессорных ядер

Типы вычислительных узловОсновной процессорОперативная память

Коммуникационная сетьСистема хранения данных

Операционная системаЗанимаемая площадь

Энергопотребление вычислителя

Суперкомпьютер МГУ Суперкомпьютер МГУ ““ЛомоносовЛомоносов””

20/79

Суперкомпьютер МГУ Суперкомпьютер МГУ ““ЛомоносовЛомоносов””

21/79

Суперкомпьютер МГУ Суперкомпьютер МГУ ““ЛомоносовЛомоносов””

22/79

Суперкомпьютер МГУ “Ломоносов”

23/79

24/79

Суперкомпьютер МГУ Суперкомпьютер МГУ ““ЛомоносовЛомоносов””

Всего в системе 10т гликоля и 40т воды

25/79

Суперкомпьютер МГУ Суперкомпьютер МГУ ““ЛомоносовЛомоносов””

26/79

Суперкомпьютер МГУ Суперкомпьютер МГУ ““ЛомоносовЛомоносов””

Вес оборудования машзала – 57 т, СБЭ – 92т

27/79

Суперкомпьютер МГУ Суперкомпьютер МГУ ““ЛомоносовЛомоносов””

Общая длина кабелей более 80 км

Суперкомпьютер МГУ Суперкомпьютер МГУ ““ЛомоносовЛомоносов””

Общая длина кабелей более 80 км

Общая длина кабелей более 80 км

28/79

Проблемы кластеров

Что мешает кластерам и дальше развиваться экспоненциальными темпами?

2010 2011 2012 2013 2014 2015 2016

29/79

Высокая стоимость

Стоимость только суперкомпьютера (без учета инфраструктуры) — более 200 млн. долларов

Jaguar

Только энергопотребление обходится в 70.000 долларов/сутки

Большое энергопотребление31/79

Энергопотребление: более 12 МВт

Петрозаводская ТЭЦ:установленная электрическая мощность 280 МВт

Необходимость охлаждения32/79

Более 70% занимаемых суперкомпьютером площадей — системы охлаждения

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

Плохая масштабируемость33/79

Для увеличения в 2 раза производительности существующего суперкомпьютера недостаточно просто «в 2 раза увеличить доступную площадь и 2 раза увеличить количество доступной электроэнергии» — как правило, необходимо полностью начинать проектирование «с нуля»

Высокая вероятность отказа компонент34/79

Около 45.000 процессоров360 ТБ оперативной памяти6,6 ПБ дискового пространства

Если вероятность отказа процессора в год составит 0,008, то в среднем каждый день будет выходить из строя один процессор кластера

Сложность обслуживания35/79

Плохая управляемость36/79

Более 25 тысяч операционных систем

Десятки тысяч пользователей

top related