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

18
Пространственно-распределенная мультикластерная вычислительная система: архитектура и программное обеспечение В.Г. Хорошевский, С.Н. Мамойленко, М.Г. Курносов Семинар Вычислительные системыИнститут физики полупроводников им. А.В. Ржанова СО РАН г . Новосибирск, 7 мая 2010 г . [email protected], [email protected], [email protected] Центр параллельных вычислительных технологий ГОУ ВПО «Сибирский государственный университет телекоммуникаций и информатики» ул. Кирова, 86 630102, Новосибирск, Россия Тел. & факс: +7 (383) 269 82 75 E-mail: [email protected] Лаборатория вычислительных систем Институт физики полупроводников им. А.В. Ржанова CО РАН пр-кт ак. Лаврентьева, 13 630090, Новосибирск, Россия Тел. & факс: +7 (383) 333 21 71 E-mail: [email protected]

Upload: mikhail-kurnosov

Post on 02-Jul-2015

170 views

Category:

Documents


3 download

TRANSCRIPT

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

Пространственно-распределеннаямультикластерная вычислительная система:

архитектура и программное обеспечение

В.Г. Хорошевский,

С.Н. Мамойленко, М.Г. Курносов

Семинар “Вычислительные системы”

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

г. Новосибирск, 7 мая 2010 г.

[email protected], [email protected], [email protected]

Центр параллельных

вычислительных технологий

ГОУ ВПО «Сибирский государственный университет

телекоммуникаций и информатики»

ул. Кирова, 86

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

Тел. & факс: +7 (383) 269 82 75

E-mail: [email protected]

Лаборатория вычислительных систем

Институт физики полупроводников

им. А.В. Ржанова CО РАН

пр-кт ак. Лаврентьева, 13

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

Тел. & факс: +7 (383) 333 21 71

E-mail: [email protected]

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

Институт систе

много

прогр

аммирования Р

АН

Сеть программы

“Университетский

кластер” 2

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

вычислительная системаGRID-модель

� Программируемость структуры, масштабируемость, живучесть

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

Кластер GHP BLc3000

Intel Xeon 5410

300 GFLOPS

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

Институт систе

много

прогр

аммирования Р

АН

Сеть программы

“Университетский

кластер” 3

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

вычислительная системаGRID-модель

� Программируемость структуры, масштабируемость, живучесть

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

Кластер F1,44 TFLOPS

Кластер GHP BLc3000

Intel Xeon 5410

300 GFLOPS

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

4

Организация функционирования мультикластерной ВС средствами

пакетов Globus Toolkit и GridWay

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

5

Организация функционирования мультикластерной ВС средствами

пакетов Globus Toolkit и GridWay

Globus ToolkitGlobus Toolkit

GridFTP GRAM GridFTP GRAM

MyProxy

Certificate Authority

GridWay

GridWay

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

6

Аутентификация пользователей и передача файлов междусегментами мультикластерной ВС

[griduser@xeon16 ~]$ myproxy-logon -s xeon80.cpct.sibsutis.ru

1. Аутентификация пользователя gridusergridusergridusergriduser на сегменте Xeon16

Enter MyProxy pass phrase: *****

A credential has been received for user griduser in /tmp/x509up_u565.

[griduser@xeon16 ~]$ globus-url-copy file:///tmp/data \

2. Отправка файла /tmp/data/tmp/data/tmp/data/tmp/data с сегмента Xeon16 на сегмент Xeon80

gsiftp://xeon80.cpct.sibsutis.ru/tmp/newdata

3. Отправка файла /tmp/newdata/tmp/newdata/tmp/newdata/tmp/newdata с сегмента Xeon80 на сегмент Xeon32

[griduser@xeon16 ~]$ globus-url-copy \

gsiftp://xeon80.cpct.sibsutis.ru/tmp/newdata \

gsiftp://xeon32.cpct.sibsutis.ru/tmp/inputdata

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

[griduser@xeon16 ~]$ mpicc -static mpiprog.c –o mpiprog

7

Удаленное выполнение программ на заданном сегментемультикластерной ВС

&(rsl_substitution = (GRIDFTP_XEON32 gsiftp://xeon32.cpct.sibsutis.ru)(GRIDFTP_XEON16 gsiftp://xeon16.cpct.sibsutis.ru))

(executable = $(GRIDFTP_XEON16)/$(HOME)/mpiprog)(arguments = ./file.dat)(job_type = mpi)(count = 8)(stdout = $(HOME)/mpiprog.stdout)(file_stage_in = ($(GRIDFTP_XEON16)/$(HOME)/mpiprog.data

$(HOME)/file.dat))(file_stage_out = ($(HOME)/mpiprog.stdout

$(GRIDFTP_XEON16)/$(HOME)/mpiprog.res)($(HOME)/mpiprog.stdout$(GRIDFTP_XEON32)/$(HOME)/mpiprog.res))

(file_clean_up = $(HOME)/mpiprog.stdout)

1. Компиляция MPI-программы

2. Формирование паспорта задачи в формате RSL – Resource Specification Language

[griduser@xeon16 ~]$ cat job.rsl

Запрос на подсистему из 8 элементарных машин.Входные данные должны быть доставлены с сегмента Xeon16, а результирующий файл переданна сегменты Xeon16 и Xeon32.

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

8

Удаленное выполнение программ на заданном сегменте

мультикластерной ВС

3. Запуск задачи на сегменте Xeon80

[griduser@xeon16 ~]$ globusrun -b -r xeon80.cpct.sibsutis.ru -f job.rsl

4. Запрос состояния задачи

[griduser@xeon16 ~]$ globusrun –status \https://xeon80.cpct.sibsutis.ru:44383/16073658407281668776/5308558837526086045/

globus_gram_client_callback_allow successfulGRAM Job submission successfulhttps://xeon80.cpct.sibsutis.ru:44383/16073658407281668776/5308558837526086045/GLOBUS_GRAM_PROTOCOL_JOB_STATE_STAGE_INGLOBUS_GRAM_PROTOCOL_JOB_STATE_PENDINGGLOBUS_GRAM_PROTOCOL_JOB_STATE_ACTIVE

ACTIVE

[griduser@xeon16 ~]$ globusrun –status \https://xeon80.cpct.sibsutis.ru:44383/16073658407281668776/5308558837526086045/DONE

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

9

Удаленное выполнение программ на заданном сегментемультикластерной ВС

Process 0 of 8 is on node1.cluster.localProcess 1 of 8 is on node2.cluster.localProcess 2 of 8 is on node3.cluster.localProcess 3 of 8 is on node4.cluster.localProcess 4 of 8 is on node5.cluster.localProcess 5 of 8 is on node6.cluster.localProcess 6 of 8 is on node7.cluster.localProcess 7 of 8 is on node8.cluster.localPI is approximately 3.1415926535897811, Error is 0.0000000000000120Elapsed time = 0.0092 sec.

5. Проверка результатов выполнения программы на сегменте Xeon32

[griduser@xeon32 ~]$ cat mpiprog.res

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

HID PRIO OS ARCH MHZ %CPU N(U/F/T) LRMS HOSTNAME0 1 Linux2.6.18-8.e x86_6 2660 0 0/4/4 pbs xeon16.cpct.sibsutis.ru1 1 Linux2.6.18-164 x86_6 2330 0 0/4/4 pbs xeon32.cpct.sibsutis.ru2 1 Linux2.6.18-8.e x86_6 2500 0 0/10/10 pbs xeon80.cpct.sibsutis.ru

10

Запуск программ через GRID-диспетчер GridWay

[griduser@xeon16 ~]$ mpicc -static mpiprog.c -o mpiprog

3. Подготовка паспорта задачи в формате GridWay

[griduser@xeon16 ~]$ cat job.jt

2. Компиляция программы

EXECUTABLE = mpiprogARGUMENTS = ./mpiprog.resINPUT_FILES = gsiftp://xeon16.cpct.sibsutis.ru/home/griduser/mpiprog.dataSTDOUT_FILE = gsiftp://xeon32.cpct.sibsutis.ru/home/griduser/mpiprog.resTYPE = mpiNP = 8

1. Запрос информации о состоянии сегментов мультикластерной ВС

[griduser@xeon16 ~]$ gwhost

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

[griduser@xeon16 ~]$ gwsubmit job.jt

[griduser@xeon32 ~]$ cat mpiprog.res

[griduser@xeon16 ~]$ gwps

11

Запуск программ через GRID-диспетчер GridWay

5. Запрос информации о состоянии задач

Process 0 of 8 is on node1.cluster.localProcess 1 of 8 is on node2.cluster.localProcess 2 of 8 is on node3.cluster.localProcess 3 of 8 is on node4.cluster.localProcess 4 of 8 is on node5.cluster.localProcess 5 of 8 is on node6.cluster.localProcess 6 of 8 is on node7.cluster.localProcess 7 of 8 is on node8.cluster.localPI is approximately 3.1415926535897811, Error is 0.0000000000000120Elapsed time = 0.0092 sec.

6. Результаты выполнения задания на сегменте Xeon32

USER JID DM EM START END NAME HOSTgriduser:0 0 done ---- 23:47:56 23:48:16 pi.jt xeon32.cpct.sibsutis.rugriduser:0 1 wrap actv 12:41:04 --:--:-- job.jt xeon80.cpct.sibsutis.ru

4. Запуск задачи через диспетчер GridWay

[griduser@xeon16 ~]$ gwpsUSER JID DM EM START END NAME HOSTgriduser:0 0 done ---- 23:47:56 23:48:16 pi.jt xeon32.cpct.sibsutis.rugriduser:0 1 done ---- 12:41:04 12:41:39 job.jt xeon80.cpct.sibsutis.ru

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

12

Web-сайт мультикластерной ВС

• Руководства для пользователей ресурсов

мультикластерной ВС

• Описание конфигурации сегментов

мультикластерной ВС

• Информация о состоянии сегментов

http://cpct.sibsutis.ru

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

13

Интеграция нового сегмента в мультикластерную ВС

Globus Toolkit

GridFTP GRAM

MyProxy

Certificate Authority

GridWay

Globus Toolkit

GridFTP GRAM

GridWay

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

14

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

Распределенные ВС из списка TOP500 (34 редакция, ноябрь 2009 года) имеют как

минимум два уровня в иерархической организации – общая память узлов

и сеть межузловых связей.

Level 3

Level 2

Level 1

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

15

Вложение параллельной программы в структурураспределенной ВС

Вложение теста High Performance

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

Стандартными MPI-утилитами (MPICH2):

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

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

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

High Performance Linpack

Кластер с иерархическойструктурой:

2 узла по 2 процессора Intel Xeon 5150

Сеть связи Gigabit Ethernet

Общая память

Ядро Ядро

Кэш L2

Процессор

Ядро Ядро

Кэш L2

Процессор

Общая память

Ядро Ядро

Кэш L2

Процессор

Ядро Ядро

Кэш L2

Процессор

Граф программы

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

16

Библиотека коммуникационных функций TopoMPI

TopoMPI (от англ. Topology-aware MPI library) – библиотека коммуникационных функций стандарта

MPI, ориентированная на эффективную реализацию параллельных программ в большемасштабных

иерархических распределенных ВС.

Основные возможности:

• Оптимизация вложения (mapping) параллельных программ в иерархические распределенные ВС.

• Эффективные алгоритмы реализации коллективных операций информационных обменов (collective

communication) в иерархических распределенных ВС.

• Переносимая реализация на C99 (ISO/IEC 9899:1999) и MPI 2.2.

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

17

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

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

Подсистема самоконтроля, самодиагностики ВС и организации отказоустойчивого выполнения параллельных программ

(DMTCP – Distributed MultiThreaded CheckPointing)Удаленный

доступ и

мониторинг

(SS

H,

Glo

bu

sTo

olk

it; G

an

glia

)

Подсистема параллельного мультипрограммирования(TORQUE, MAUI, mpiexec)

Средства организации распределенной очереди задач(Gbroker, dqueued, GridWay)

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

• MPI: TopoMPI, MPICH2, OpenMPI

• PGAS: Unified Parallel C• OpenMPI: GNU Compilers, Intel Compilers, Sun Studio Compilers• Средств анализа MPI-программ: mpistat, otfstat, VampirTrace

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

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

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

18

СПАСИБО

ЗА ВНИМАНИЕ