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

Preview:

Citation preview

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

в пространственно-распределённые

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

методов разбиения графов

Вторая всероссийская научно-техническая конференция

“Суперкомпьютерные технологии” (СКТ-2012)

с. Дивноморское, Геленджикский район, 24-29 сентября 2012 г.

apaznikov@gmail.com

Лаборатория вычислительных систем Института физики полупроводников им. А.В. Ржанова СО РАН

Кафедра вычислительных систем ФГОБУ ВПО “СибГУТИ”

Курносов Михаил Георгиевич, Пазников Алексей Александрович

Семинар «Вычислительные системы», Новосибирск, 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: apaznikov@gmail.com

Семинар «Вычислительные системы», Новосибирск, 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

Recommended