Распределенные мультикластерные вычислительные...
TRANSCRIPT
Распределенные мультикластерные
вычислительные системы и параллельное
мультипрограммирование
Курносов Михаил Георгиевич1, 2
1 Институт физики полупроводников им. А.В. Ржанова СО РАН,
Новосибирск, Россия
2 Сибирский государственный университет телекоммуникаций и информатики,
Новосибирск, Россия
Объединенный семинар Лаборатории вычислительных систем
и Лаборатории неравновесных полупроводниковых систем ИФП СО РАН
Новосибирск, 2 ноября 2012 г.
Направления работ научной школы
Курносов М.Г. Параллельное мультипрограммирование 2Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.
Архитектура распределённых вычислительных систем (ВС)
o теория структур ВС (коммуникационных сетей)
Надежность и живучесть ВС
o потенциальная и структурная живучесть ВС
o самоконтроль, самодиагностика и восстановление ВС
o отказоустойчивое выполнение параллельных программ
Организация функционирования ВС
o мультипрограммный режим
o монопрограммный режим
Проектирование и конфигурирование вычислительных
и GRID-систем
Системное программное обеспечение ВС
Мультиархитектура современных ВС
Курносов М.Г. Параллельное мультипрограммирование 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)
Параллельное мультипрограммирование
Курносов М.Г. Параллельное мультипрограммирование 4Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.
Поток параллельных задач
– единичный ранг
Вычислительная
система
Распределенная
операционная
система
Монозадачный режимВложение программ в ВС,
коллективные обменыМультизадачные режимы
Обслуживание потоков задач
Генерация подсистем в пределах ВС
• Техника теории игр
• Стохастическое программирование
Обработка наборов задач
Формирование расписаний решения
параллельных задач
Точные, эвристические и стохастические
методы и алгоритмы
Пр
оц
есс
ор
ы
Вложение параллельных программ в ВС
Курносов М.Г. Параллельное мультипрограммирование 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
Процессор
Граф
программы
Вложение параллельных программ в ВС
Курносов М.Г. Параллельное мультипрограммирование 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
Формирование расписаний решения задач
Курносов М.Г. Параллельное мультипрограммирование 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
Формирование расписаний решения задач
Курносов М.Г. Параллельное мультипрограммирование 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=
= + – время решения задач набора
– штраф за задержку
решения задач
Формирование расписаний решения задач
Курносов М.Г. Параллельное мультипрограммирование 9Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.
Разработаны стохастические алгоритмы формирования
субоптимальных расписаний решения на распределенных ВС
масштабируемых задач
MAUI
Генератор
наборов задач
Модуль анализа
эффективности
алгоритмов
Описание ВС
Модуль формирования
расписаний
Алгоритм
GA
Алгоритм
GA2
Алгоритм
GAC
Алгоритм
GAC2
Интерфейс с системами пакетной обработки заданий
TORQUE
Модуль
визуализации
расписаний
Отклонение суммарного времени решения задач от нижней границы
целевой функции T(S) составляет 15 – 25 %.
Программный пакет
MOJOS
Организация живучего функционирования ВС
Курносов М.Г. Параллельное мультипрограммирование 10Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.
[1] Sinisa Nikolic. High Performance Computing Directions: The Drive
to ExaScale Computing // Parallel computational Technologies, 2012
Отказы вычислительных ресурсов
В вычислительной системе из 106 узлов
отказы будут происходить каждые 5 мин.
(при безотказной работы узла 10 лет) [1]
Средств (само)контроля и (само)диагностики
Инструментарий отказоустойчивого выполнения
параллельных программ
Отказоустойчивое выполнение программ
Курносов М.Г. Параллельное мультипрограммирование 11Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.
КТ2 КТ3
t, c
S, Гб
В процессе выполнения параллельной
программы её состояние сохраняется
в контрольную точку (КТ)
Размер каждой КТ достигает сотен мегабайт
Критически важным является время записи
контрольной точки на носитель информации
Разработаны алгоритмы дельта-сжатия
контрольных точек восстановления
параллельных программ
Алгоритмы реализованы в пакете
HBICT – Hash Based Incremental
Checkpointing Tool
КТ1
. . .
. . .
. . .
. . .
. . .
. . .
Оптимизация контрольных точек восстановления
Курносов М.Г. Параллельное мультипрограммирование 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
Анализ функционирования распределенных ВС
Курносов М.Г. Параллельное мультипрограммирование 13Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.
Стохастическая модель функционирования
распределенных ВС со структурной избыточностью
Распределение вероятностей состояния системы P0(i, t), P1(i, t), …, PN(i, t)
Pj(i, t) – вероятность того, что в системе, начавшей функционировать в состоянии
i ∈ 0, 1, …, N, в момент времени t ≥ 0 будет j исправных машин
Анализ функционирования распределенных ВС
Курносов М.Г. Параллельное мультипрограммирование 14Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.
Составляются дифференциальные уравнения для вероятностей
Pj(i, t) состояний ВС с учетом подмножества поглощающих состояний
Задаются начальные условия
Система дифференциальных уравнений с помощью преобразования
Лапласа сводится к алгебраической
По правилу Крамера определяется решение алгебраической
системы уравнений, причем решение выражается через полиномы,
вычисляемые рекуррентно
После обращения преобразования Лапласа выписываются формулы
для Pj(i, t) – аналитическое решение
Функция
готовности: ,
Мат. ожидание числа
исправных машин: , ,
Классический подход
Потенциальная живучесть ВС
Курносов М.Г. Параллельное мультипрограммирование 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
Мультикластерная вычислительная система
Курносов М.Г. Параллельное мультипрограммирование 16Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.
Кластер H
460 GFLOPS
(Intel Xeon 5620,
InfiniBand QDR)
Кластер F (Jet)
144 ядра
1.44 TFLOPS
(Intel Xeon 5420,
Gigabit Ethernet)
Программное обеспечение мультикластерной ВС
Курносов М.Г. Параллельное мультипрограммирование 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
Подсистема параллельного мультипрограммирования
Разрабатываемые в ИФП СО РАН и ЦПВТ ФГОБУ ВПО “СибГУТИ” компоненты
Курносов М.Г. Параллельное мультипрограммирование 18Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.
Спасибо за внимание!