SlideShare a Scribd company logo
1 of 18
Download to read offline
Распределенные мультикластерные
вычислительные системы и параллельное
мультипрограммирование
Курносов Михаил Георгиевич1, 2
mkurnosov@gmail.com
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
12
V1 V2 V3 V4
Сеть связи Gigabit Ethernet
Разделяемая память
Ядро
Процессор
Ядро Ядро
Процессор
Ядро
Разделяемая память
Ядро
Процессор
Ядро Ядро
Процессор
Ядро
Разделяемая память
Ядро
Процессор
Ядро Ядро
Процессор
Ядро
Разделяемая память
Ядро
Процессор
Ядро Ядро
Процессор
Ядро
13
14
15
16
1
2
3
4
5
6
7
8
9
10
11
12
V1 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
Времяt1решения
Ранг r1
Приоритет w1
Вариант 2Времяt2решения
Ранг r2
Приоритет w2
Вариант q
Времяtqрешения
Ранг rq
Приоритет wq
Формирование расписаний решения задач
Курносов М.Г. Параллельное мультипрограммирование 8Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г.
при ограничениях:
min ( ),
S
T S
∈Ω
Найти расписание S такое, что:
min ( ),
S
F S
∈Ω
( )
, 0,ik
i
i t
r N t
∈Ξ
≤ ∀ ≥∑
{1,2,..., }, {1,2,..., },i ik q i L∈ ∈
0, {1,2,..., }.is i L≥ ∈
1
1,
1
,
max
i
i
kL
i
k
i i
k q
w
e
L w=
=
≥∑
(1)
(2)
(3)
(4)
( )tΞ – множество номеров задач, решаемых в момент времени t;
1
( )
L
i i
i
F S s c
=
= ∑
1,
( ) max{ }ik
i i
i 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
0
40
80
120
160
200
240
280
320
360
400
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 t
i 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)
Удаленныйдоступимониторинг
(SSH,GlobusToolkit;Ganglia)
Подсистема параллельного мультипрограммирования
(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 г.
Спасибо за внимание!

More Related Content

What's hot

Multiprocessor Programming Intro (lecture 2)
Multiprocessor Programming Intro (lecture 2)Multiprocessor Programming Intro (lecture 2)
Multiprocessor Programming Intro (lecture 2)Dmitry Tsitelov
 
Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...CEE-SEC(R)
 
MPIPerf: пакет оценки эффективности коммуникационных функций стандарта MPI
MPIPerf: пакет оценки эффективности коммуникационных функций стандарта MPIMPIPerf: пакет оценки эффективности коммуникационных функций стандарта MPI
MPIPerf: пакет оценки эффективности коммуникационных функций стандарта MPIMikhail Kurnosov
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...Mikhail Kurnosov
 
Многопоточные Алгоритмы (для BitByte 2014)
Многопоточные Алгоритмы (для BitByte 2014)Многопоточные Алгоритмы (для BitByte 2014)
Многопоточные Алгоритмы (для BitByte 2014)Roman Elizarov
 
Использование Time-Stamp Counter для измерения времени выполнения кода на пр...
Использование Time-Stamp Counter для измерения времени выполнения кода  на пр...Использование Time-Stamp Counter для измерения времени выполнения кода  на пр...
Использование Time-Stamp Counter для измерения времени выполнения кода на пр...Mikhail Kurnosov
 
CSEDays. Юрий Айдаров
CSEDays. Юрий АйдаровCSEDays. Юрий Айдаров
CSEDays. Юрий АйдаровLiloSEA
 
Введение в архитектуры нейронных сетей / HighLoad++ 2016
Введение в архитектуры нейронных сетей / HighLoad++ 2016Введение в архитектуры нейронных сетей / HighLoad++ 2016
Введение в архитектуры нейронных сетей / HighLoad++ 2016Grigory Sapunov
 
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)Mikhail Kurnosov
 
ПСЕВДОРЕГУЛЯРНЫЕ КОДОВЫЕ ШКАЛЫ ДЛЯ ЦИФРОВЫХ ПРЕОБРАЗОВАТЕЛЕЙ УГЛА
ПСЕВДОРЕГУЛЯРНЫЕ КОДОВЫЕ ШКАЛЫ ДЛЯ ЦИФРОВЫХ ПРЕОБРАЗОВАТЕЛЕЙ УГЛАПСЕВДОРЕГУЛЯРНЫЕ КОДОВЫЕ ШКАЛЫ ДЛЯ ЦИФРОВЫХ ПРЕОБРАЗОВАТЕЛЕЙ УГЛА
ПСЕВДОРЕГУЛЯРНЫЕ КОДОВЫЕ ШКАЛЫ ДЛЯ ЦИФРОВЫХ ПРЕОБРАЗОВАТЕЛЕЙ УГЛАITMO University
 
Modern neural net architectures - Year 2019 version
Modern neural net architectures - Year 2019 versionModern neural net architectures - Year 2019 version
Modern neural net architectures - Year 2019 versionGrigory Sapunov
 
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)Mikhail Kurnosov
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...a15464321646213
 
Семинар 12. Параллельное программирование на MPI (часть 5)
Семинар 12. Параллельное программирование на MPI (часть 5)Семинар 12. Параллельное программирование на MPI (часть 5)
Семинар 12. Параллельное программирование на MPI (часть 5)Mikhail Kurnosov
 
Дмитрий Кручинин - Сравнительный анализ библиотек глубинного обучения
Дмитрий Кручинин - Сравнительный анализ библиотек глубинного обученияДмитрий Кручинин - Сравнительный анализ библиотек глубинного обучения
Дмитрий Кручинин - Сравнительный анализ библиотек глубинного обученияAIST
 
Введение в Deep Learning
Введение в Deep LearningВведение в Deep Learning
Введение в Deep LearningGrigory Sapunov
 

What's hot (20)

Multiprocessor Programming Intro (lecture 2)
Multiprocessor Programming Intro (lecture 2)Multiprocessor Programming Intro (lecture 2)
Multiprocessor Programming Intro (lecture 2)
 
Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...
 
MPIPerf: пакет оценки эффективности коммуникационных функций стандарта MPI
MPIPerf: пакет оценки эффективности коммуникационных функций стандарта MPIMPIPerf: пакет оценки эффективности коммуникационных функций стандарта MPI
MPIPerf: пакет оценки эффективности коммуникационных функций стандарта MPI
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
 
Многопоточные Алгоритмы (для BitByte 2014)
Многопоточные Алгоритмы (для BitByte 2014)Многопоточные Алгоритмы (для BitByte 2014)
Многопоточные Алгоритмы (для BitByte 2014)
 
Использование Time-Stamp Counter для измерения времени выполнения кода на пр...
Использование Time-Stamp Counter для измерения времени выполнения кода  на пр...Использование Time-Stamp Counter для измерения времени выполнения кода  на пр...
Использование Time-Stamp Counter для измерения времени выполнения кода на пр...
 
CSEDays. Юрий Айдаров
CSEDays. Юрий АйдаровCSEDays. Юрий Айдаров
CSEDays. Юрий Айдаров
 
Введение в архитектуры нейронных сетей / HighLoad++ 2016
Введение в архитектуры нейронных сетей / HighLoad++ 2016Введение в архитектуры нейронных сетей / HighLoad++ 2016
Введение в архитектуры нейронных сетей / HighLoad++ 2016
 
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
 
Metod
MetodMetod
Metod
 
ПСЕВДОРЕГУЛЯРНЫЕ КОДОВЫЕ ШКАЛЫ ДЛЯ ЦИФРОВЫХ ПРЕОБРАЗОВАТЕЛЕЙ УГЛА
ПСЕВДОРЕГУЛЯРНЫЕ КОДОВЫЕ ШКАЛЫ ДЛЯ ЦИФРОВЫХ ПРЕОБРАЗОВАТЕЛЕЙ УГЛАПСЕВДОРЕГУЛЯРНЫЕ КОДОВЫЕ ШКАЛЫ ДЛЯ ЦИФРОВЫХ ПРЕОБРАЗОВАТЕЛЕЙ УГЛА
ПСЕВДОРЕГУЛЯРНЫЕ КОДОВЫЕ ШКАЛЫ ДЛЯ ЦИФРОВЫХ ПРЕОБРАЗОВАТЕЛЕЙ УГЛА
 
2020 03-31-lection
2020 03-31-lection2020 03-31-lection
2020 03-31-lection
 
Modern neural net architectures - Year 2019 version
Modern neural net architectures - Year 2019 versionModern neural net architectures - Year 2019 version
Modern neural net architectures - Year 2019 version
 
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
 
Семинар 12. Параллельное программирование на MPI (часть 5)
Семинар 12. Параллельное программирование на MPI (часть 5)Семинар 12. Параллельное программирование на MPI (часть 5)
Семинар 12. Параллельное программирование на MPI (часть 5)
 
Quantum computing rus 2020
Quantum computing rus 2020Quantum computing rus 2020
Quantum computing rus 2020
 
A.g.demenev(perm su) 2014
A.g.demenev(perm su) 2014A.g.demenev(perm su) 2014
A.g.demenev(perm su) 2014
 
Дмитрий Кручинин - Сравнительный анализ библиотек глубинного обучения
Дмитрий Кручинин - Сравнительный анализ библиотек глубинного обученияДмитрий Кручинин - Сравнительный анализ библиотек глубинного обучения
Дмитрий Кручинин - Сравнительный анализ библиотек глубинного обучения
 
Введение в Deep Learning
Введение в Deep LearningВведение в Deep Learning
Введение в Deep Learning
 

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

С.Ковалёв -- теория категорий как математическое основание MBSE
С.Ковалёв -- теория категорий как математическое основание MBSEС.Ковалёв -- теория категорий как математическое основание MBSE
С.Ковалёв -- теория категорий как математическое основание MBSEAnatoly Levenchuk
 
Пространственно-распределенная мультикластерная вычислительная система: архит...
Пространственно-распределенная мультикластерная вычислительная система: архит...Пространственно-распределенная мультикластерная вычислительная система: архит...
Пространственно-распределенная мультикластерная вычислительная система: архит...Mikhail Kurnosov
 
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАН
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАНВычислительная и коммуникационная инфраструктура Академгородка и СО РАН
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАНBDA
 
651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособиеivanov1566353422
 
651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособиеefwd2ws2qws2qsdw
 
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАН
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАНВычислительная и коммуникационная инфраструктура Академгородка и СО РАН
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАНBDA
 
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Alexey Paznikov
 
2016 Забелин Вячеслав Андреевич Бакалаврская работа: Разработка программных с...
2016 Забелин Вячеслав Андреевич Бакалаврская работа: Разработка программных с...2016 Забелин Вячеслав Андреевич Бакалаврская работа: Разработка программных с...
2016 Забелин Вячеслав Андреевич Бакалаврская работа: Разработка программных с...RF-Lab
 
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray ChapelЛекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray ChapelMikhail Kurnosov
 
Язык параллельного программирования Cray Chapel
Язык параллельного программирования Cray ChapelЯзык параллельного программирования Cray Chapel
Язык параллельного программирования Cray ChapelMikhail Kurnosov
 
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...ITMO University
 
TMPA-2013 Zhuravlev: Data Migration between DBMS Using Cryptographic Hash Fun...
TMPA-2013 Zhuravlev: Data Migration between DBMS Using Cryptographic Hash Fun...TMPA-2013 Zhuravlev: Data Migration between DBMS Using Cryptographic Hash Fun...
TMPA-2013 Zhuravlev: Data Migration between DBMS Using Cryptographic Hash Fun...Iosif Itkin
 
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Mikhail Kurnosov
 
02 - Квантовые вычисления. Информация и вычисления
02 - Квантовые вычисления. Информация и вычисления02 - Квантовые вычисления. Информация и вычисления
02 - Квантовые вычисления. Информация и вычисленияRoman Brovko
 
презентация лекций
презентация лекцийпрезентация лекций
презентация лекцийstudent_kai
 
Altair - Advanced Particle Simulator
Altair - Advanced Particle SimulatorAltair - Advanced Particle Simulator
Altair - Advanced Particle SimulatorAlexander Le-Zakharov
 

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

С.Ковалёв -- теория категорий как математическое основание MBSE
С.Ковалёв -- теория категорий как математическое основание MBSEС.Ковалёв -- теория категорий как математическое основание MBSE
С.Ковалёв -- теория категорий как математическое основание MBSE
 
Пространственно-распределенная мультикластерная вычислительная система: архит...
Пространственно-распределенная мультикластерная вычислительная система: архит...Пространственно-распределенная мультикластерная вычислительная система: архит...
Пространственно-распределенная мультикластерная вычислительная система: архит...
 
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАН
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАНВычислительная и коммуникационная инфраструктура Академгородка и СО РАН
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАН
 
651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие
 
651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие651.локальные методы анализа динамических систем учебное пособие
651.локальные методы анализа динамических систем учебное пособие
 
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАН
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАНВычислительная и коммуникационная инфраструктура Академгородка и СО РАН
Вычислительная и коммуникационная инфраструктура Академгородка и СО РАН
 
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
 
2016 Забелин Вячеслав Андреевич Бакалаврская работа: Разработка программных с...
2016 Забелин Вячеслав Андреевич Бакалаврская работа: Разработка программных с...2016 Забелин Вячеслав Андреевич Бакалаврская работа: Разработка программных с...
2016 Забелин Вячеслав Андреевич Бакалаврская работа: Разработка программных с...
 
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray ChapelЛекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
 
Sokolov
SokolovSokolov
Sokolov
 
Efficiency vvv
Efficiency vvvEfficiency vvv
Efficiency vvv
 
Язык параллельного программирования Cray Chapel
Язык параллельного программирования Cray ChapelЯзык параллельного программирования Cray Chapel
Язык параллельного программирования Cray Chapel
 
лекция 4
лекция 4лекция 4
лекция 4
 
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...
РЕАЛИЗАЦИЯ РАДИАЛЬНО-БАЗИСНОЙ НЕЙРОННОЙ СЕТИ НА МАССИВНО-ПАРАЛЛЕЛЬНОЙ АРХИТЕК...
 
TMPA-2013 Zhuravlev: Data Migration between DBMS Using Cryptographic Hash Fun...
TMPA-2013 Zhuravlev: Data Migration between DBMS Using Cryptographic Hash Fun...TMPA-2013 Zhuravlev: Data Migration between DBMS Using Cryptographic Hash Fun...
TMPA-2013 Zhuravlev: Data Migration between DBMS Using Cryptographic Hash Fun...
 
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
 
02 - Квантовые вычисления. Информация и вычисления
02 - Квантовые вычисления. Информация и вычисления02 - Квантовые вычисления. Информация и вычисления
02 - Квантовые вычисления. Информация и вычисления
 
09 rodionov
09 rodionov09 rodionov
09 rodionov
 
презентация лекций
презентация лекцийпрезентация лекций
презентация лекций
 
Altair - Advanced Particle Simulator
Altair - Advanced Particle SimulatorAltair - Advanced Particle Simulator
Altair - Advanced Particle Simulator
 

More from Mikhail Kurnosov

Векторизация кода (семинар 2)
Векторизация кода (семинар 2)Векторизация кода (семинар 2)
Векторизация кода (семинар 2)Mikhail Kurnosov
 
Векторизация кода (семинар 3)
Векторизация кода (семинар 3)Векторизация кода (семинар 3)
Векторизация кода (семинар 3)Mikhail Kurnosov
 
Векторизация кода (семинар 1)
Векторизация кода (семинар 1)Векторизация кода (семинар 1)
Векторизация кода (семинар 1)Mikhail Kurnosov
 
Лекция 7. Декартовы деревья (Treaps, дучи, дерамиды)
Лекция 7. Декартовы деревья (Treaps, дучи, дерамиды)Лекция 7. Декартовы деревья (Treaps, дучи, дерамиды)
Лекция 7. Декартовы деревья (Treaps, дучи, дерамиды)Mikhail Kurnosov
 
Лекция 7. Стандарт OpenMP (подолжение)
Лекция 7. Стандарт OpenMP (подолжение)Лекция 7. Стандарт OpenMP (подолжение)
Лекция 7. Стандарт OpenMP (подолжение)Mikhail Kurnosov
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPMikhail Kurnosov
 
Лекция 6. Фибоначчиевы кучи (Fibonacci heaps)
Лекция 6. Фибоначчиевы кучи (Fibonacci heaps)Лекция 6. Фибоначчиевы кучи (Fibonacci heaps)
Лекция 6. Фибоначчиевы кучи (Fibonacci heaps)Mikhail Kurnosov
 
Лекция 5. B-деревья (B-trees, k-way merge sort)
Лекция 5. B-деревья (B-trees, k-way merge sort)Лекция 5. B-деревья (B-trees, k-way merge sort)
Лекция 5. B-деревья (B-trees, k-way merge sort)Mikhail Kurnosov
 
Лекция 4. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 4. Векторизация кода (Code vectorization: SSE, AVX)Лекция 4. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 4. Векторизация кода (Code vectorization: SSE, AVX)Mikhail Kurnosov
 
Лекция 4. Префиксные деревья (tries, prefix trees)
Лекция 4. Префиксные деревья (tries, prefix trees)Лекция 4. Префиксные деревья (tries, prefix trees)
Лекция 4. Префиксные деревья (tries, prefix trees)Mikhail Kurnosov
 
Лекция 3. Оптимизация доступа к памяти (Memory access optimization, cache opt...
Лекция 3. Оптимизация доступа к памяти (Memory access optimization, cache opt...Лекция 3. Оптимизация доступа к памяти (Memory access optimization, cache opt...
Лекция 3. Оптимизация доступа к памяти (Memory access optimization, cache opt...Mikhail Kurnosov
 
Лекция 3. АВЛ-деревья (AVL trees)
Лекция 3. АВЛ-деревья (AVL trees)Лекция 3. АВЛ-деревья (AVL trees)
Лекция 3. АВЛ-деревья (AVL trees)Mikhail Kurnosov
 
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Mikhail Kurnosov
 
Лекция 2. Красно-чёрные деревья (Red-black trees). Скошенные деревья (Splay t...
Лекция 2. Красно-чёрные деревья (Red-black trees). Скошенные деревья (Splay t...Лекция 2. Красно-чёрные деревья (Red-black trees). Скошенные деревья (Splay t...
Лекция 2. Красно-чёрные деревья (Red-black trees). Скошенные деревья (Splay t...Mikhail Kurnosov
 
Лекция 1. Амортизационный анализ (amortized analysis)
Лекция 1. Амортизационный анализ (amortized analysis)Лекция 1. Амортизационный анализ (amortized analysis)
Лекция 1. Амортизационный анализ (amortized analysis)Mikhail Kurnosov
 
Лекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовЛекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовMikhail Kurnosov
 
Семинар 11. Параллельное программирование на MPI (часть 4)
Семинар 11. Параллельное программирование на MPI (часть 4)Семинар 11. Параллельное программирование на MPI (часть 4)
Семинар 11. Параллельное программирование на MPI (часть 4)Mikhail Kurnosov
 
Лекция 10. Графы. Остовные деревья минимальной стоимости
Лекция 10. Графы. Остовные деревья минимальной стоимостиЛекция 10. Графы. Остовные деревья минимальной стоимости
Лекция 10. Графы. Остовные деревья минимальной стоимостиMikhail Kurnosov
 
Семинар 10. Параллельное программирование на MPI (часть 3)
Семинар 10. Параллельное программирование на MPI (часть 3)Семинар 10. Параллельное программирование на MPI (часть 3)
Семинар 10. Параллельное программирование на MPI (часть 3)Mikhail Kurnosov
 
Семинар 9. Параллельное программирование на MPI (часть 2)
Семинар 9. Параллельное программирование на MPI (часть 2)Семинар 9. Параллельное программирование на MPI (часть 2)
Семинар 9. Параллельное программирование на MPI (часть 2)Mikhail Kurnosov
 

More from Mikhail Kurnosov (20)

Векторизация кода (семинар 2)
Векторизация кода (семинар 2)Векторизация кода (семинар 2)
Векторизация кода (семинар 2)
 
Векторизация кода (семинар 3)
Векторизация кода (семинар 3)Векторизация кода (семинар 3)
Векторизация кода (семинар 3)
 
Векторизация кода (семинар 1)
Векторизация кода (семинар 1)Векторизация кода (семинар 1)
Векторизация кода (семинар 1)
 
Лекция 7. Декартовы деревья (Treaps, дучи, дерамиды)
Лекция 7. Декартовы деревья (Treaps, дучи, дерамиды)Лекция 7. Декартовы деревья (Treaps, дучи, дерамиды)
Лекция 7. Декартовы деревья (Treaps, дучи, дерамиды)
 
Лекция 7. Стандарт OpenMP (подолжение)
Лекция 7. Стандарт OpenMP (подолжение)Лекция 7. Стандарт OpenMP (подолжение)
Лекция 7. Стандарт OpenMP (подолжение)
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
 
Лекция 6. Фибоначчиевы кучи (Fibonacci heaps)
Лекция 6. Фибоначчиевы кучи (Fibonacci heaps)Лекция 6. Фибоначчиевы кучи (Fibonacci heaps)
Лекция 6. Фибоначчиевы кучи (Fibonacci heaps)
 
Лекция 5. B-деревья (B-trees, k-way merge sort)
Лекция 5. B-деревья (B-trees, k-way merge sort)Лекция 5. B-деревья (B-trees, k-way merge sort)
Лекция 5. B-деревья (B-trees, k-way merge sort)
 
Лекция 4. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 4. Векторизация кода (Code vectorization: SSE, AVX)Лекция 4. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 4. Векторизация кода (Code vectorization: SSE, AVX)
 
Лекция 4. Префиксные деревья (tries, prefix trees)
Лекция 4. Префиксные деревья (tries, prefix trees)Лекция 4. Префиксные деревья (tries, prefix trees)
Лекция 4. Префиксные деревья (tries, prefix trees)
 
Лекция 3. Оптимизация доступа к памяти (Memory access optimization, cache opt...
Лекция 3. Оптимизация доступа к памяти (Memory access optimization, cache opt...Лекция 3. Оптимизация доступа к памяти (Memory access optimization, cache opt...
Лекция 3. Оптимизация доступа к памяти (Memory access optimization, cache opt...
 
Лекция 3. АВЛ-деревья (AVL trees)
Лекция 3. АВЛ-деревья (AVL trees)Лекция 3. АВЛ-деревья (AVL trees)
Лекция 3. АВЛ-деревья (AVL trees)
 
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
 
Лекция 2. Красно-чёрные деревья (Red-black trees). Скошенные деревья (Splay t...
Лекция 2. Красно-чёрные деревья (Red-black trees). Скошенные деревья (Splay t...Лекция 2. Красно-чёрные деревья (Red-black trees). Скошенные деревья (Splay t...
Лекция 2. Красно-чёрные деревья (Red-black trees). Скошенные деревья (Splay t...
 
Лекция 1. Амортизационный анализ (amortized analysis)
Лекция 1. Амортизационный анализ (amortized analysis)Лекция 1. Амортизационный анализ (amortized analysis)
Лекция 1. Амортизационный анализ (amortized analysis)
 
Лекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовЛекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмов
 
Семинар 11. Параллельное программирование на MPI (часть 4)
Семинар 11. Параллельное программирование на MPI (часть 4)Семинар 11. Параллельное программирование на MPI (часть 4)
Семинар 11. Параллельное программирование на MPI (часть 4)
 
Лекция 10. Графы. Остовные деревья минимальной стоимости
Лекция 10. Графы. Остовные деревья минимальной стоимостиЛекция 10. Графы. Остовные деревья минимальной стоимости
Лекция 10. Графы. Остовные деревья минимальной стоимости
 
Семинар 10. Параллельное программирование на MPI (часть 3)
Семинар 10. Параллельное программирование на MPI (часть 3)Семинар 10. Параллельное программирование на MPI (часть 3)
Семинар 10. Параллельное программирование на MPI (часть 3)
 
Семинар 9. Параллельное программирование на MPI (часть 2)
Семинар 9. Параллельное программирование на MPI (часть 2)Семинар 9. Параллельное программирование на MPI (часть 2)
Семинар 9. Параллельное программирование на MPI (часть 2)
 

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

  • 1. Распределенные мультикластерные вычислительные системы и параллельное мультипрограммирование Курносов Михаил Георгиевич1, 2 mkurnosov@gmail.com 1 Институт физики полупроводников им. А.В. Ржанова СО РАН, Новосибирск, Россия 2 Сибирский государственный университет телекоммуникаций и информатики, Новосибирск, Россия Объединенный семинар Лаборатории вычислительных систем и Лаборатории неравновесных полупроводниковых систем ИФП СО РАН Новосибирск, 2 ноября 2012 г.
  • 2. Направления работ научной школы Курносов М.Г. Параллельное мультипрограммирование 2Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г. Архитектура распределённых вычислительных систем (ВС) o теория структур ВС (коммуникационных сетей) Надежность и живучесть ВС o потенциальная и структурная живучесть ВС o самоконтроль, самодиагностика и восстановление ВС o отказоустойчивое выполнение параллельных программ Организация функционирования ВС o мультипрограммный режим o монопрограммный режим Проектирование и конфигурирование вычислительных и GRID-систем Системное программное обеспечение ВС
  • 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)
  • 4. Параллельное мультипрограммирование Курносов М.Г. Параллельное мультипрограммирование 4Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г. Поток параллельных задач – единичный ранг Вычислительная система Распределенная операционная система Монозадачный режим Вложение программ в ВС, коллективные обменыМультизадачные режимы Обслуживание потоков задач Генерация подсистем в пределах ВС • Техника теории игр • Стохастическое программирование Обработка наборов задач Формирование расписаний решения параллельных задач Точные, эвристические и стохастические методы и алгоритмы Процессоры
  • 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 Процессор Граф программы
  • 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 12 V1 V2 V3 V4 Сеть связи Gigabit Ethernet Разделяемая память Ядро Процессор Ядро Ядро Процессор Ядро Разделяемая память Ядро Процессор Ядро Ядро Процессор Ядро Разделяемая память Ядро Процессор Ядро Ядро Процессор Ядро Разделяемая память Ядро Процессор Ядро Ядро Процессор Ядро 13 14 15 16 1 2 3 4 5 6 7 8 9 10 11 12 V1 V2 V3 V4 Вложение MPI-программы Conjugate Gradient (CG) из пакета NAS Parallel Benchmarks, реализующей решение системы линейных алгебраических уравнений методом сопряженных градиентов в вычислительный кластер Время выполнения уменьшено в 2,3 раза TopoMPI MPIGridMap
  • 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 Времяt1решения Ранг r1 Приоритет w1 Вариант 2Времяt2решения Ранг r2 Приоритет w2 Вариант q Времяtqрешения Ранг rq Приоритет wq
  • 8. Формирование расписаний решения задач Курносов М.Г. Параллельное мультипрограммирование 8Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г. при ограничениях: min ( ), S T S ∈Ω Найти расписание S такое, что: min ( ), S F S ∈Ω ( ) , 0,ik i i t r N t ∈Ξ ≤ ∀ ≥∑ {1,2,..., }, {1,2,..., },i ik q i L∈ ∈ 0, {1,2,..., }.is i L≥ ∈ 1 1, 1 , max i i kL i k i i k q w e L w= = ≥∑ (1) (2) (3) (4) ( )tΞ – множество номеров задач, решаемых в момент времени t; 1 ( ) L i i i F S s c = = ∑ 1, ( ) max{ }ik i i i L T S s t = = + – время решения задач набора – штраф за задержку решения задач
  • 9. Формирование расписаний решения задач Курносов М.Г. Параллельное мультипрограммирование 9Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г. Разработаны стохастические алгоритмы формирования субоптимальных расписаний решения на распределенных ВС масштабируемых задач MAUI Генератор наборов задач Модуль анализа эффективности алгоритмов Описание ВС Модуль формирования расписаний Алгоритм GA Алгоритм GA2 Алгоритм GAC Алгоритм GAC2 Интерфейс с системами пакетной обработки заданий TORQUE Модуль визуализации расписаний Отклонение суммарного времени решения задач от нижней границы целевой функции T(S) составляет 15 – 25 %. Программный пакет MOJOS
  • 10. Организация живучего функционирования ВС Курносов М.Г. Параллельное мультипрограммирование 10Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г. [1] Sinisa Nikolic. High Performance Computing Directions: The Drive to ExaScale Computing // Parallel computational Technologies, 2012 Отказы вычислительных ресурсов В вычислительной системе из 106 узлов отказы будут происходить каждые 5 мин. (при безотказной работы узла 10 лет) [1] Средств (само)контроля и (само)диагностики Инструментарий отказоустойчивого выполнения параллельных программ
  • 11. Отказоустойчивое выполнение программ Курносов М.Г. Параллельное мультипрограммирование 11Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г. КТ2 КТ3 t, c S, Гб В процессе выполнения параллельной программы её состояние сохраняется в контрольную точку (КТ) Размер каждой КТ достигает сотен мегабайт Критически важным является время записи контрольной точки на носитель информации Разработаны алгоритмы дельта-сжатия контрольных точек восстановления параллельных программ Алгоритмы реализованы в пакете HBICT – Hash Based Incremental Checkpointing Tool КТ1 ... ... ...... ... ...
  • 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 0 40 80 120 160 200 240 280 320 360 400 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. Анализ функционирования распределенных ВС Курносов М.Г. Параллельное мультипрограммирование 13Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г. Стохастическая модель функционирования распределенных ВС со структурной избыточностью Распределение вероятностей состояния системы {P0(i, t), P1(i, t), …, PN(i, t)} Pj(i, t) – вероятность того, что в системе, начавшей функционировать в состоянии i ∈ {0, 1, …, N}, в момент времени t ≥ 0 будет j исправных машин
  • 14. Анализ функционирования распределенных ВС Курносов М.Г. Параллельное мультипрограммирование 14Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г. Составляются дифференциальные уравнения для вероятностей Pj(i, t) состояний ВС с учетом подмножества поглощающих состояний Задаются начальные условия Система дифференциальных уравнений с помощью преобразования Лапласа сводится к алгебраической По правилу Крамера определяется решение алгебраической системы уравнений, причем решение выражается через полиномы, вычисляемые рекуррентно После обращения преобразования Лапласа выписываются формулы для Pj(i, t) – аналитическое решение Функция готовности: ࡿ ࢚ ൌ ෍ ࡼ࢐ሺ࢏, ࢚ሻ ࡺ ࢐ୀ࢔ Мат. ожидание числа исправных машин: घ ࢏, ࢚ ൌ ෍ ࢐ࡼ࢐ሺ࢏, ࢚ሻ ࡺ ࢐ୀ૙ Классический подход
  • 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 t i t e µ λ µ λ µ λ µ λ µ − − − + = + + + N ( , ) ( , ),i t N i t= −M N
  • 16. Мультикластерная вычислительная система Курносов М.Г. Параллельное мультипрограммирование 16Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г. Кластер H 460 GFLOPS (Intel Xeon 5620, InfiniBand QDR) Кластер F (Jet) 144 ядра 1.44 TFLOPS (Intel Xeon 5420, Gigabit Ethernet)
  • 17. Программное обеспечение мультикластерной ВС Курносов М.Г. Параллельное мультипрограммирование 17Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г. Операционная система GNU/Linux Подсистема самоконтроля, самодиагностики ВС и организации отказоустойчивого выполнения параллельных программ (HBICT – Hash Based Incremental Checkpointing Tool) Удаленныйдоступимониторинг (SSH,GlobusToolkit;Ganglia) Подсистема параллельного мультипрограммирования (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. Курносов М.Г. Параллельное мультипрограммирование 18Семинар ИФП СО РАН, Новосибирск, 2 ноября 2012 г. Спасибо за внимание!