18
Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование Курносов Михаил Георгиевич 1, 2 [email protected] 1 Институт физики полупроводников им. А.В. Ржанова СО РАН, Новосибирск, Россия 2 Сибирский государственный университет телекоммуникаций и информатики, Новосибирск, Россия Объединенный семинар Лаборатории вычислительных систем и Лаборатории неравновесных полупроводниковых систем ИФП СО РАН Новосибирск, 2 ноября 2012 г.

Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

Embed Size (px)

Citation preview

Page 1: Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

Распределенные мультикластерные

вычислительные системы и параллельное

мультипрограммирование

Курносов Михаил Георгиевич1, 2

[email protected]

1 Институт физики полупроводников им. А.В. Ржанова СО РАН,

Новосибирск, Россия

2 Сибирский государственный университет телекоммуникаций и информатики,

Новосибирск, Россия

Объединенный семинар Лаборатории вычислительных систем

и Лаборатории неравновесных полупроводниковых систем ИФП СО РАН

Новосибирск, 2 ноября 2012 г.

Page 2: Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

Направления работ научной школы

Курносов М.Г. Параллельное мультипрограммирование 2Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.

Архитектура распределённых вычислительных систем (ВС)

o теория структур ВС (коммуникационных сетей)

Надежность и живучесть ВС

o потенциальная и структурная живучесть ВС

o самоконтроль, самодиагностика и восстановление ВС

o отказоустойчивое выполнение параллельных программ

Организация функционирования ВС

o мультипрограммный режим

o монопрограммный режим

Проектирование и конфигурирование вычислительных

и GRID-систем

Системное программное обеспечение ВС

Page 3: Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

Мультиархитектура современных ВС

Курносов М.Г. Параллельное мультипрограммирование 3Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.

Название

системы

Производи-

тельность,

GFLOPS

Количество

ядер

CPU / GPU

Вычислительный

узел

Энергопотреб-

ление,

kW

Сеть

1 Sequoia

IBM

BlueGene/Q

20 132 659 1 572 864 / 0 16-core

Power BQC 16C

1.600 GHz

7 890 5D-тор

2 K computer

Fujitsu

11 280 384 705 024 / 0 8-core

SPARC64 VIIIfx

12 660 6D-тор

3 Mira

IBM

BlueGene/Q

10 066 330 786 432 / 0 16-core

Power BQC 16C

1.600 GHz

3 945 5D-тор

4 SuperMUC

IBM

iDataPlex

3 185 050 147 456 / 0 8-core

Intel Xeon E5 2680

2.700 GHz

3 423 Fat tree

(IB)

5 Tianhe-1A

NUDT YH

MPP

4 701 000 86 016 /

100 352

2 x Intel Xeon

X5670,

NVidia M2050

4 040 Fat tree

Top500 (июнь 2012, www.top500.org)

Page 4: Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

Параллельное мультипрограммирование

Курносов М.Г. Параллельное мультипрограммирование 4Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.

Поток параллельных задач

– единичный ранг

Вычислительная

система

Распределенная

операционная

система

Монозадачный режимВложение программ в ВС,

коллективные обменыМультизадачные режимы

Обслуживание потоков задач

Генерация подсистем в пределах ВС

• Техника теории игр

• Стохастическое программирование

Обработка наборов задач

Формирование расписаний решения

параллельных задач

Точные, эвристические и стохастические

методы и алгоритмы

Пр

оц

есс

ор

ы

Page 5: Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

Вложение параллельных программ в ВС

Курносов М.Г. Параллельное мультипрограммирование 5Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.

Вложение High Performance Linpack

в подсистему:

стандартными MPI-утилитами –

время выполнения 118 сек. (44 GFLOPS)

разработанными средствами –

время выполнения 100 сек. (53 GFLOPS)

High Performance Linpack (HPL)

Иерархическая ВС:

2 узла по 2 Intel Xeon 5150

Сеть связи Gigabit Ethernet

Общая память

Ядро Ядро

Кэш L2

Процессор

Ядро Ядро

Кэш L2

Процессор

Общая память

Ядро Ядро

Кэш L2

Процессор

Ядро Ядро

Кэш L2

Процессор

Граф

программы

Page 6: Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

Вложение параллельных программ в ВС

Курносов М.Г. Параллельное мультипрограммирование 6Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.

Метод вложения на основе многоуровневых (multilevel) алгоритмов разбиения

графов G = (V, E) параллельных программ

1. Граф G разбивается на k подмножеств; k – количество узлов, составляющих ВС. В каждое

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

2. Параллельные ветви из i-го подмножества распределяются по ядрам i-го вычислительного

узла, ∈ 1, 2, . . , .

Сеть связи Gigabit Ethernet

Разделяемая память

Ядро

Процессор

Ядро Ядро

Процессор

Ядро

Разделяемая память

Ядро

Процессор

Ядро Ядро

Процессор

Ядро

Разделяемая память

Ядро

Процессор

Ядро Ядро

Процессор

Ядро

Разделяемая память

Ядро

Процессор

Ядро Ядро

Процессор

Ядро

13

14

15

16

1

2

3

4

5

6

7

8

9

10

11

12V1 V2 V3 V4

Сеть связи Gigabit Ethernet

Разделяемая память

Ядро

Процессор

Ядро Ядро

Процессор

Ядро

Разделяемая память

Ядро

Процессор

Ядро Ядро

Процессор

Ядро

Разделяемая память

Ядро

Процессор

Ядро Ядро

Процессор

Ядро

Разделяемая память

Ядро

Процессор

Ядро Ядро

Процессор

Ядро

13

14

15

16

1

2

3

4

5

6

7

8

9

10

11

12V1 V2 V3 V4

Вложение MPI-программы Conjugate Gradient (CG) из пакета NAS Parallel Benchmarks,

реализующей решение системы линейных алгебраических уравнений методом

сопряженных градиентов в вычислительный кластер

Время выполнения

уменьшено в 2,3 раза

TopoMPI

MPIGridMap

Page 7: Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

Формирование расписаний решения задач

Курносов М.Г. Параллельное мультипрограммирование 7Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.

Масштабируемая задача (Moldable job) – параллельная задача,

допускающая решение на подсистемах с различным количеством

элементарных машин.

Свойством масштабируемости обладают более 80% задач, решаемых на

вычислительных системах (Cirne W., Berman F., 2001)

Задача

с фиксированными

параметрами

(t, r)

Задача

Время

tрешения

Ранг r

Масштабируемая задача

(с нефиксированными параметрами)

((t1, r1, w1), (t2, r2, w2), …, (tq, rq, wq))

Вариант 1

Время

t 1решения

Ранг r1

Приоритет w1

Вариант 2Время

t 2решения

Ранг r2

Приоритет w2

Вариант q

Время

t qрешения

Ранг rq

Приоритет wq

Page 8: Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

Формирование расписаний решения задач

Курносов М.Г. Параллельное мультипрограммирование 8Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.

при ограничениях:

min ( ),S

T S∈Ω

Найти расписание S такое, что:

min ( ),S

F S∈Ω

( )

, 0,iki

i t

r N t∈Ξ

≤ ∀ ≥∑

1,2,..., , 1,2,..., ,i ik q i L∈ ∈

0, 1,2,..., .is i L≥ ∈

11,

1,

max

i

i

kLi

ki i

k q

we

L w==

≥∑

(1)

(2)

(3)

(4)

( )tΞ – множество номеров задач, решаемых в момент времени t;

1

( )L

i ii

F S s c=

= ∑

1,( ) max ik

i ii L

T S s t=

= + – время решения задач набора

– штраф за задержку

решения задач

Page 9: Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

Формирование расписаний решения задач

Курносов М.Г. Параллельное мультипрограммирование 9Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.

Разработаны стохастические алгоритмы формирования

субоптимальных расписаний решения на распределенных ВС

масштабируемых задач

MAUI

Генератор

наборов задач

Модуль анализа

эффективности

алгоритмов

Описание ВС

Модуль формирования

расписаний

Алгоритм

GA

Алгоритм

GA2

Алгоритм

GAC

Алгоритм

GAC2

Интерфейс с системами пакетной обработки заданий

TORQUE

Модуль

визуализации

расписаний

Отклонение суммарного времени решения задач от нижней границы

целевой функции T(S) составляет 15 – 25 %.

Программный пакет

MOJOS

Page 10: Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

Организация живучего функционирования ВС

Курносов М.Г. Параллельное мультипрограммирование 10Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.

[1] Sinisa Nikolic. High Performance Computing Directions: The Drive

to ExaScale Computing // Parallel computational Technologies, 2012

Отказы вычислительных ресурсов

В вычислительной системе из 106 узлов

отказы будут происходить каждые 5 мин.

(при безотказной работы узла 10 лет) [1]

Средств (само)контроля и (само)диагностики

Инструментарий отказоустойчивого выполнения

параллельных программ

Page 11: Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

Отказоустойчивое выполнение программ

Курносов М.Г. Параллельное мультипрограммирование 11Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.

КТ2 КТ3

t, c

S, Гб

В процессе выполнения параллельной

программы её состояние сохраняется

в контрольную точку (КТ)

Размер каждой КТ достигает сотен мегабайт

Критически важным является время записи

контрольной точки на носитель информации

Разработаны алгоритмы дельта-сжатия

контрольных точек восстановления

параллельных программ

Алгоритмы реализованы в пакете

HBICT – Hash Based Incremental

Checkpointing Tool

КТ1

. . .

. . .

. . .

. . .

. . .

. . .

Page 12: Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

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

Курносов М.Г. Параллельное мультипрограммирование 12Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.

Дельта-сжатие контрольных точек восстановления

NAS Parallel Benchmark – Conjugate Gradient (CG)

0

2

4

6

8

10

12

14

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

V, ГБ

t, c

04080

120160200240280320360400

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

τ, с

t, c

BLCR DMTCP+GZIP HBICT

Page 13: Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

Анализ функционирования распределенных ВС

Курносов М.Г. Параллельное мультипрограммирование 13Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.

Стохастическая модель функционирования

распределенных ВС со структурной избыточностью

Распределение вероятностей состояния системы P0(i, t), P1(i, t), …, PN(i, t)

Pj(i, t) – вероятность того, что в системе, начавшей функционировать в состоянии

i ∈ 0, 1, …, N, в момент времени t ≥ 0 будет j исправных машин

Page 14: Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

Анализ функционирования распределенных ВС

Курносов М.Г. Параллельное мультипрограммирование 14Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.

Составляются дифференциальные уравнения для вероятностей

Pj(i, t) состояний ВС с учетом подмножества поглощающих состояний

Задаются начальные условия

Система дифференциальных уравнений с помощью преобразования

Лапласа сводится к алгебраической

По правилу Крамера определяется решение алгебраической

системы уравнений, причем решение выражается через полиномы,

вычисляемые рекуррентно

После обращения преобразования Лапласа выписываются формулы

для Pj(i, t) – аналитическое решение

Функция

готовности: ,

Мат. ожидание числа

исправных машин: , ,

Классический подход

Page 15: Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

Потенциальная живучесть ВС

Курносов М.Г. Параллельное мультипрограммирование 15Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.

Распределенная ВС, N ЭМ

Реконфигуратор

L(i,t)L (i,t)L (i,t)L (i,t)

Свободные ВУ

m - M (i,t)m - M (i,t)m - M (i,t)m - M (i,t)Занятые ВУ

M (i,t )M (i, t )M (i, t )M (i, t )

Восстанавливающие устройства, m ВУ

Отказавшие ЭМ

''νλ'ν

µ

Работоспособные ЭМ

K (i, t )K ( i, t )K ( i, t )K ( i, t ) N (i, t )N (i, t )N (i, t )N (i, t )

Резервные

ЭМ

m – число восстанавливающих устройств (ВУ)

λ – интенсивность отказов ЭМ

– интенсивность восстановления ЭМ

одним ВУ

µ

– среднее число ЭМ, учитываемых

реконфигуратором

– число работоспособных ЭМ

в начальный момент времени (t = 0)

i

( , )i tN – среднее число работоспособных ЭМ,

0,t ≥ ( , 0 )i i=N

( , )i tM – среднее число занятых ВУ

( , )i tL

( , ) ( , ) ( , )i t N i t i t= − −K N L

N – число элементарных машин (ЭМ)

Континуальный подход

( ) ( )( , ) ,

N i N i ti t e

µ λ µ λ µ

λ µ λ µ

− − − += +

+ +N ( , ) ( , ),i t N i t= −M N

Page 16: Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

Мультикластерная вычислительная система

Курносов М.Г. Параллельное мультипрограммирование 16Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.

Кластер H

460 GFLOPS

(Intel Xeon 5620,

InfiniBand QDR)

Кластер F (Jet)

144 ядра

1.44 TFLOPS

(Intel Xeon 5420,

Gigabit Ethernet)

Page 17: Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

Программное обеспечение мультикластерной ВС

Курносов М.Г. Параллельное мультипрограммирование 17Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.

Операционная система GNU/Linux

Подсистема самоконтроля, самодиагностики ВС и организации

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

(HBICT – Hash Based Incremental Checkpointing Tool)Уд

ал

ен

ны

й д

ост

уп

и м

он

ито

ри

нг

(SS

H,

Glo

bu

sTo

olk

it;

Ga

ng

lia

)

Подсистема параллельного мультипрограммирования

(MOJOS, TORQUE, MAUI, mpiexec)

Средства организации распределенной очереди задач

(GBroker, GridWay)

Средства разработки параллельных программ

• MPI: MPICH2/MVAPICH2, Open MPI , TopoMPI, MPIGridMap

• PGAS: Cray Chapel, IBM X10

• OpenMP: GNU Compilers, Intel Compilers,

• Cредств анализа производительности: MPIPerf, mpistat, VampirTrace

Подсистема параллельного мультипрограммирования

Разрабатываемые в ИФП СО РАН и ЦПВТ ФГОБУ ВПО “СибГУТИ” компоненты

Page 18: Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование

Курносов М.Г. Параллельное мультипрограммирование 18Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.

Спасибо за внимание!