Upload
mikhail-kurnosov
View
166
Download
0
Embed Size (px)
Citation preview
Вложение параллельных программ
в пространственно-распределённые
вычислительные системы на основе
методов разбиения графов
Вторая всероссийская научно-техническая конференция
“Суперкомпьютерные технологии” (СКТ-2012)
с. Дивноморское, Геленджикский район, 24-29 сентября 2012 г.
Лаборатория вычислительных систем Института физики полупроводников им. А.В. Ржанова СО РАН
Кафедра вычислительных систем ФГОБУ ВПО “СибГУТИ”
Курносов Михаил Георгиевич, Пазников Алексей Александрович
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников
Мультикластерные вычислительные системы
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 2Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
? MPI-программа
Специализированные
библиотеки MPI
• MPICH-G2
• PACX
• GridMPI
• mpiG
• MCMPI
• Stampi
• X-Com
• NumGRID
Стандартные средства
GNU/Linux
• VPN
• NAT
• Routing
• IPv6*
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников
Средства диспетчеризации параллельных задачв пространственно-распределённых ВС
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 3
Christian Kauhaus, Adrian Knoth, Thomas Peiselt, Dietmar Fey. Efficient Message Passing on Multi-Clusters: An IPv6 Extension to Open MPI // Proceedings of KiCC'07 – 2007. – 6p.
*
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 4
Выполнение параллельных программ в пространственно-распределённых ВС на основе IPv6
Конфигурация тестовой подсистемы мультикластерной ВС
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 5
Иерархическая организация памяти кластерных вычислительных систем
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 6
Выполнение параллельных программ на пространственно-распределённых ВС на основе IPv6
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 7
Вложение в мультикластерные системы с иерархической организацией коммуникационных сред
),,,,( mqpjitВремя передачи сообщений:
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 8
Модели параллельной программы
V = (1, 2, …, N} – множество ветвей параллельной программы,
E ⊆ V × V – информационно-логические связи между ветвями
(обмены),
dij – вес ребра (i, j) ∈ E, характеризующий обмены между ветвями
параллельной программы.
G = (V, E) – граф обменов параллельной программы,
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 9
Модели параллельной программы
Что понимается под весом dij ребра?
1) mij – средний размер сообщения, передаваемого
между ветвями.
2) nij – количество информационных обменов.
Учитываются только дифференцированные обмены!
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
The Parallel Ocean Program, NP = 16The Parallel Ocean Program, NP = 32The Parallel Ocean Program, NP = 64The Parallel Ocean Program, NP = 128
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 10
Графы параллельных программ
Моделирование процессов в мировом океане
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 11
Вложение параллельных программ
MPI-программа
Мультикластерная
вычислительная система
?
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 12
Задача оптимального вложения параллельных программ в ВС с иерархической организацией коммуникационной среды
,11
∑=
=N
j
ijx ,,...,2,1 Mi =
,11
∑=
≤M
i
ijx ,,...,2,1 Nj =
{ },1,0∈ijx ., CjVi ∈∈
при ограничениях:
)(1 1 1
),( min),,,(max)(ijx
M
j
N
p
N
q
qpzjqipVi
qpjitxxXF →
⋅⋅= ∑∑∑= = =
∈
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 13
Иерархический метод вложения параллельных программ
Подсистем 1 (8 ядер) Подсистема 2 (16 ядер) Подсистема 3 (16 ядер)
The Parallel Ocean Program (POP), NP = 40
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 14
Иерархический метод вложения параллельных программ
Подсистем 1 (8 ядер) Подсистема 2 (16 ядер) Подсистема 3 (16 ядер)
The Parallel Ocean Program (POP), NP = 40
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 15
Иерархический метод вложения параллельных программ
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
METHOD HierarchicMap (G, l)
Входные данные:
Выходные данные:
G – информационный граф параллельной программы;
l – текущий уровень разбиения.
xij – вложение; xij = 1, если ветвь i назначена на ЭМ j,
иначе xij = 0.
1
2
3
4
5
6
if l = L – 1 then
return GL,1, GL,2, …,
else
(Gl+1,1, Gl+1,2, …, )← PartGraph(G, nl+1)
for i = 1 to nl+1 do
HierarchicMap(Gl+1,i, l + 1)
LnLG ,
1,1 ++ lnlG
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 16
Алгоритмы иерархического многоуровневого разбиения графов
Пакеты разбиения графов: METIS, hwloc (scotch), gpart
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 17
Вложение MPI-программ в мультикластерную систему
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
сайт: cpct.sibsutis.ru/~apaznikov
e-mail: [email protected]
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 18
Организация экспериментов
Программное обеспечение подсистем:
• Библиотека стандарта MPI OpenMPI 1.4.5 (с поддержкой IPv6).
• Пакет профилирования MPI-программ VampirTrace.
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 19
Организация экспериментов
Параллельные MPI-программы:
• The Parallel Ocean Program (POP) – пакет моделирования процессов
в мировом океане.
• GRAPH500 – обработка неструктурированных данных графового типа.
• SWEEP3D – моделирование процесса распространения нейтронов.
• LU, SP, MG, BT – программы из пакета тестов производительности
NAS Parallel Benchmark (NPB).
Параметры экспериментов:
• Максимальный ранг параллельной программы – 120.
• Пакеты разбиения графов: METIS, hwloc (scotch), gpart.
• При вложении использовались два типа графов задач.
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 20
Время выполнения параллельной MPI-программыThe Parallel Ocean Program
NP = 64 NP = 120
– линейное вложение – METIS – Scotch – gpart
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 21
Время выполнения параллельной MPI-программыSWEEP 3D
NP = 64 NP = 120
– линейное вложение – METIS – Scotch – gpart
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 22
Время выполнения параллельной MPI-программыNPB LU
NP = 64 NP = 120
– линейное вложение – METIS – Scotch – gpart
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 23
Время выполнения параллельной MPI-программыNPB MG
NP = 32 NP = 64
– линейное вложение – METIS – Scotch – gpart
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 24
Время выполнения параллельной MPI-программыNPB BT
NP = 36 NP = 64
– линейное вложение – METIS – Scotch – gpart
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 25
Время выполнения параллельной MPI-программыNPB SP
NP = 36 NP = 64
– линейное вложение – METIS – Scotch – gpart
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 26
Время выполнения параллельной MPI-программыThe Parallel Ocean Program
NP = 64 NP = 120
– линейное вложение – разбиение по узлам
– разбиение по подсистемам – иерархический подход
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 27
Время выполнения параллельной MPI-программыSWEEP 3D
NP = 64 NP = 120
– линейное вложение – разбиение по узлам
– разбиение по подсистемам – иерархический подход
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 28
Время выполнения параллельной MPI-программыNPB LU
NP = 64 NP = 120
– линейное вложение – разбиение по узлам
– разбиение по подсистемам – иерархический подход
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 29
Время выполнения параллельной MPI-программыNPB MG
NP = 32 NP = 64
– линейное вложение – разбиение по узлам
– разбиение по подсистемам – иерархический подход
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 30
Время выполнения параллельной MPI-программыNPB BT
NP = 36 NP = 64
– линейное вложение – разбиение по узлам
– разбиение по подсистемам – иерархический подход
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 31
Время выполнения параллельной MPI-программыNPB SP
NP = 36 NP = 64
– линейное вложение – разбиение по узлам
– разбиение по подсистемам – иерархический подход
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
• POP ⇒ Scotch (до 5 раз при NP = 120)
• SWEEP3D ⇒ gpart (на 30% при NP = 120)
• GRAPH500 ⇒ METIS, Scotch, gpart (до 10 раз при NP = 32)
• NPB LU ⇒ линейное вложение
• NPB MG ⇒ METIS, Scotch, gpart (до 5 раз при NP = 64)
• NPB BT ⇒ линейное вложение
• NPB SP ⇒ gpart (на 30% при NP = 64)
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников
Рекомендации по использованию алгоритмов вложения
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 32
Предложенные алгоритмы наиболее эффективны для
разреженными графов MPI-программ с преобладанием
дифференцированных обменов.
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
• Предложен подход к выполнению параллельных MPI-программ
в мультикластерных системах на основе протокола IPv6.
• Созданные алгоритмы вложения в пространственно-
распределённые ВС позволяют в несколько раз сократить время
решения некоторых задач. Наиболее эффективен иерархический
алгоритм вложения.
• Выбор типа графов задач оказывает незначительное влияние на
результат вложения.
• Необходимо создать алгоритм автоматического выбора
алгоритма вложения параллельных программ.
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников
Заключение
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 33Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Спасибо за внимание!
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 34Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 35
Время работы алгоритмов вложения
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 36
Время выполнения параллельной MPI-программыGRAPH500
NP = 32
– линейное вложение – METIS
– Scotch – gpart
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 37
Время выполнения параллельной MPI-программыThe Parallel Ocean Program
NP = 64 NP = 120
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 38
Время выполнения параллельной MPI-программыSWEEP 3D
NP = 64 NP = 120
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 39
Время выполнения параллельной MPI-программыGRAPH500
NP = 32
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 40
Время выполнения параллельной MPI-программыNPB LU
NP = 64 NP = 120
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 41
Время выполнения параллельной MPI-программыNPB MG
NP = 32 NP = 64
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 42
Время выполнения параллельной MPI-программыNPB BT
NP = 36 NP = 64
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 43
Время выполнения параллельной MPI-программыNPB SP
NP = 36 NP = 64
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012
Семинар «Вычислительные системы», Новосибирск, 29 апреля 2011 г.Михаил Курносов, Алексей Пазников 44
Выбор подсистем различных рангов при моделировании
$ cat machinefile.120
xeon16-node1-ipv6 slots=4
xeon16-node2-ipv6 slots=4
xeon16-node3-ipv6 slots=4
xeon16-node4-ipv6 slots=4
xeon32-node3-ipv6 slots=8
jet-cn1-ipv6 slots=8
jet-cn2-ipv6 slots=8
jet-cn3-ipv6 slots=8
jet-cn4-ipv6 slots=8
jet-cn5-ipv6 slots=8
jet-cn6-ipv6 slots=8
jet-cn7-ipv6 slots=8
jet-cn8-ipv6 slots=8
jet-cn9-ipv6 slots=8
jet-cn10-ipv6 slots=8
jet-cn11-ipv6 slots=8
jet-cn12-ipv6 slots=8
$ cat machinefile.32
xeon16-node1-ipv6 slots=4
xeon16-node2-ipv6 slots=4
xeon32-node3-ipv6 slots=8
jet-cn1-ipv6 slots=8
jet-cn2-ipv6 slots=8
$ cat machinefile.64
xeon16-node1-ipv6 slots=4
xeon16-node2-ipv6 slots=4
xeon16-node3-ipv6 slots=4
xeon16-node4-ipv6 slots=4
xeon32-node3-ipv6 slots=8
jet-cn1-ipv6 slots=8
jet-cn2-ipv6 slots=8
jet-cn3-ipv6 slots=8
jet-cn4-ipv6 slots=8
jet-cn5-ipv6 slots=8
$ cat machinefile.36
xeon16-node1-ipv6 slots=4
xeon16-node2-ipv6 slots=4
xeon16-node2-ipv6 slots=4
xeon32-node3-ipv6 slots=8
jet-cn1-ipv6 slots=8
jet-cn2-ipv6 slots=8
Курносов М.Г., Пазников А.А. Вложение параллельных программ … с. Дивноморское, Геленджикский район, 24-29 сентября 2012