SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Пространственно-распределенная
мультикластерная вычислительная система:
архитектура и программное обеспечение
В.Г. Хорошевский,
С.Н. Мамойленко, М.Г. Курносов
Семинар “Вычислительные системы”
Институт физики полупроводников им. А.В. Ржанова СО РАН
г. Новосибирск, 7 мая 2010 г.
khor@isp.nsc.ru, msn@cpct.sibsutis.ru, mkurnosov@isp.nsc.ru
Центр параллельных
вычислительных технологий
ГОУ ВПО «Сибирский государственный университет
телекоммуникаций и информатики»
ул. Кирова, 86
630102, Новосибирск, Россия
Тел. & факс: +7 (383) 269 82 75
E-mail: khor@cpct.sibsutis.ru
Лаборатория вычислительных систем
Институт физики полупроводников
им. А.В. Ржанова CО РАН
пр-кт ак. Лаврентьева, 13
630090, Новосибирск, Россия
Тел. & факс: +7 (383) 333 21 71
E-mail: khor@isp.nsc.ru
Институт системного
программирования РАН
Сеть программы
“Университетский
кластер” 2
Пространственно-распределённая мультикластерная
вычислительная система
GRID-модель
Программируемость структуры, масштабируемость, живучесть
Параллельное мультипрограммирование
Кластер G
HP BLc3000
Intel Xeon 5410
300 GFLOPS
Институт системного
программирования РАН
Сеть программы
“Университетский
кластер” 3
Пространственно-распределённая мультикластерная
вычислительная система
GRID-модель
Программируемость структуры, масштабируемость, живучесть
Параллельное мультипрограммирование
Кластер F
1,44 TFLOPS
Кластер G
HP BLc3000
Intel Xeon 5410
300 GFLOPS
4
Организация функционирования мультикластерной ВС средствами
пакетов Globus Toolkit и GridWay
5
Организация функционирования мультикластерной ВС средствами
пакетов Globus Toolkit и GridWay
Globus ToolkitGlobus Toolkit
GridFTP GRAM GridFTP GRAM
MyProxy
Certificate Authority
GridWay
GridWay
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
[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.
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/530855883752
6086045/
globus_gram_client_callback_allow successful
GRAM Job submission successful
https://xeon80.cpct.sibsutis.ru:44383/16073658407281668776/530855883752
6086045/
GLOBUS_GRAM_PROTOCOL_JOB_STATE_STAGE_IN
GLOBUS_GRAM_PROTOCOL_JOB_STATE_PENDING
GLOBUS_GRAM_PROTOCOL_JOB_STATE_ACTIVE
ACTIVE
[griduser@xeon16 ~]$ globusrun –status 
https://xeon80.cpct.sibsutis.ru:44383/16073658407281668776/530855883752
6086045/
DONE
9
Удаленное выполнение программ на заданном сегменте
мультикластерной ВС
Process 0 of 8 is on node1.cluster.local
Process 1 of 8 is on node2.cluster.local
Process 2 of 8 is on node3.cluster.local
Process 3 of 8 is on node4.cluster.local
Process 4 of 8 is on node5.cluster.local
Process 5 of 8 is on node6.cluster.local
Process 6 of 8 is on node7.cluster.local
Process 7 of 8 is on node8.cluster.local
PI is approximately 3.1415926535897811, Error is 0.0000000000000120
Elapsed time = 0.0092 sec.
5. Проверка результатов выполнения программы на сегменте Xeon32
[griduser@xeon32 ~]$ cat mpiprog.res
HID PRIO OS ARCH MHZ %CPU N(U/F/T) LRMS HOSTNAME
0 1 Linux2.6.18-8.e x86_6 2660 0 0/4/4 pbs xeon16.cpct.sibsutis.ru
1 1 Linux2.6.18-164 x86_6 2330 0 0/4/4 pbs xeon32.cpct.sibsutis.ru
2 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 = mpiprog
ARGUMENTS = ./mpiprog.res
INPUT_FILES = gsiftp://xeon16.cpct.sibsutis.ru/home/griduser/mpiprog.data
STDOUT_FILE = gsiftp://xeon32.cpct.sibsutis.ru/home/griduser/mpiprog.res
TYPE = mpi
NP = 8
1. Запрос информации о состоянии сегментов мультикластерной ВС
[griduser@xeon16 ~]$ gwhost
[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.local
Process 1 of 8 is on node2.cluster.local
Process 2 of 8 is on node3.cluster.local
Process 3 of 8 is on node4.cluster.local
Process 4 of 8 is on node5.cluster.local
Process 5 of 8 is on node6.cluster.local
Process 6 of 8 is on node7.cluster.local
Process 7 of 8 is on node8.cluster.local
PI is approximately 3.1415926535897811, Error is 0.0000000000000120
Elapsed time = 0.0092 sec.
6. Результаты выполнения задания на сегменте Xeon32
USER JID DM EM START END NAME HOST
griduser:0 0 done ---- 23:47:56 23:48:16 pi.jt xeon32.cpct.sibsutis.ru
griduser:0 1 wrap actv 12:41:04 --:--:-- job.jt xeon80.cpct.sibsutis.ru
4. Запуск задачи через диспетчер GridWay
[griduser@xeon16 ~]$ gwps
USER JID DM EM START END NAME HOST
griduser:0 0 done ---- 23:47:56 23:48:16 pi.jt xeon32.cpct.sibsutis.ru
griduser:0 1 done ---- 12:41:04 12:41:39 job.jt xeon80.cpct.sibsutis.ru
12
Web-сайт мультикластерной ВС
• Руководства для пользователей ресурсов
мультикластерной ВС
• Описание конфигурации сегментов
мультикластерной ВС
• Информация о состоянии сегментов
http://cpct.sibsutis.ru
13
Интеграция нового сегмента в мультикластерную ВС
Globus Toolkit
GridFTP GRAM
MyProxy
Certificate Authority
GridWay
Globus Toolkit
GridFTP GRAM
GridWay
14
Распределенные вычислительные системы
с иерархической структурой
Распределенные ВС из списка TOP500 (34 редакция, ноябрь 2009 года) имеют как
минимум два уровня в иерархической организации – общая память узлов
и сеть межузловых связей.
Level 3
Level 2
Level 1
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
Процессор
Граф
программы
16
Библиотека коммуникационных функций TopoMPI
TopoMPI (от англ. Topology-aware MPI library) – библиотека коммуникационных функций стандарта
MPI, ориентированная на эффективную реализацию параллельных программ в большемасштабных
иерархических распределенных ВС.
Основные возможности:
• Оптимизация вложения (mapping) параллельных программ в иерархические распределенные ВС.
• Эффективные алгоритмы реализации коллективных операций информационных обменов (collective
communication) в иерархических распределенных ВС.
• Переносимая реализация на C99 (ISO/IEC 9899:1999) и MPI 2.2.
17
Программное обеспечение мультикластерной ВС
Операционная система GNU/Linux
Подсистема самоконтроля, самодиагностики ВС и организации
отказоустойчивого выполнения параллельных программ
(DMTCP – Distributed MultiThreaded CheckPointing)
Удаленныйдоступимониторинг
(SSH,GlobusToolkit;Ganglia)
Подсистема параллельного мультипрограммирования
(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
Подсистема параллельного мультипрограммирования
Разрабатываемые в ИФП СО РАН и ЦПВТ ГОУ ВПО “СибГУТИ” компоненты
18
СПАСИБО
ЗА ВНИМАНИЕ

Weitere ähnliche Inhalte

Was ist angesagt?

Web осень 2013 лекция 1
Web осень 2013 лекция 1Web осень 2013 лекция 1
Web осень 2013 лекция 1
Technopark
 
Операционные системы
Операционные системыОперационные системы
Операционные системы
yaevents
 
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Ontico
 
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
GeeksLab Odessa
 
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Ontico
 
Romanova techforum bash
Romanova techforum bashRomanova techforum bash
Romanova techforum bash
kuchinskaya
 
Web осень 2012 лекция 3
Web осень 2012 лекция 3Web осень 2012 лекция 3
Web осень 2012 лекция 3
Technopark
 
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Tanya Denisyuk
 
Типичный стек технологий для использования с Node.js
Типичный стек технологий для использования с Node.jsТипичный стек технологий для использования с Node.js
Типичный стек технологий для использования с Node.js
Serge Shirokov
 

Was ist angesagt? (20)

Анализ трафика
Анализ трафикаАнализ трафика
Анализ трафика
 
Сокеты
СокетыСокеты
Сокеты
 
Web осень 2013 лекция 1
Web осень 2013 лекция 1Web осень 2013 лекция 1
Web осень 2013 лекция 1
 
Операционные системы
Операционные системыОперационные системы
Операционные системы
 
PostgreSQL Streaming Replication
PostgreSQL Streaming ReplicationPostgreSQL Streaming Replication
PostgreSQL Streaming Replication
 
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
 
Tarantool Modules, Tarantool Meetup 2016-08-25
Tarantool Modules, Tarantool Meetup 2016-08-25Tarantool Modules, Tarantool Meetup 2016-08-25
Tarantool Modules, Tarantool Meetup 2016-08-25
 
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
 
Fabric для управления серверами
Fabric для управления серверамиFabric для управления серверами
Fabric для управления серверами
 
Спецификация WSGI (PEP-333)
Спецификация WSGI (PEP-333)Спецификация WSGI (PEP-333)
Спецификация WSGI (PEP-333)
 
Веб-сервер
Веб-серверВеб-сервер
Веб-сервер
 
Андрей Субботин "Локализация приложений для iOS: как не прострелить себе ногу"
Андрей Субботин "Локализация приложений для iOS: как не прострелить себе ногу"Андрей Субботин "Локализация приложений для iOS: как не прострелить себе ногу"
Андрей Субботин "Локализация приложений для iOS: как не прострелить себе ногу"
 
Советы для начинающих разработчиков PostgreSQL
Советы для начинающих разработчиков PostgreSQL Советы для начинающих разработчиков PostgreSQL
Советы для начинающих разработчиков PostgreSQL
 
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
 
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
 
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
 
Romanova techforum bash
Romanova techforum bashRomanova techforum bash
Romanova techforum bash
 
Web осень 2012 лекция 3
Web осень 2012 лекция 3Web осень 2012 лекция 3
Web осень 2012 лекция 3
 
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
 
Типичный стек технологий для использования с Node.js
Типичный стек технологий для использования с Node.jsТипичный стек технологий для использования с Node.js
Типичный стек технологий для использования с Node.js
 

Andere mochten auch

PhD thesis presentation 2012
PhD thesis presentation 2012PhD thesis presentation 2012
PhD thesis presentation 2012
vsharma78
 
An Introduction To Linux Development Environment
An Introduction To Linux Development EnvironmentAn Introduction To Linux Development Environment
An Introduction To Linux Development Environment
S. M. Hossein Hamidi
 
Introducción a la administración f08
Introducción a la administración f08Introducción a la administración f08
Introducción a la administración f08
Skepper63
 

Andere mochten auch (20)

Finding Time to Study for the CIH Exam
Finding Time to Study for the CIH ExamFinding Time to Study for the CIH Exam
Finding Time to Study for the CIH Exam
 
아름다운+이별 김건모
아름다운+이별 김건모아름다운+이별 김건모
아름다운+이별 김건모
 
DSS ITSEC 2013 Conference 07.11.2013 - Accellion - The Secure File-Sharing P...
DSS ITSEC 2013 Conference 07.11.2013  - Accellion - The Secure File-Sharing P...DSS ITSEC 2013 Conference 07.11.2013  - Accellion - The Secure File-Sharing P...
DSS ITSEC 2013 Conference 07.11.2013 - Accellion - The Secure File-Sharing P...
 
Linux Installation And Shamba Server
Linux Installation And Shamba ServerLinux Installation And Shamba Server
Linux Installation And Shamba Server
 
Almoços Convívio Cerberus
Almoços Convívio CerberusAlmoços Convívio Cerberus
Almoços Convívio Cerberus
 
Mac os installation and Hardware Report
Mac os installation and Hardware ReportMac os installation and Hardware Report
Mac os installation and Hardware Report
 
Sp ws1 ulrich teichler
Sp ws1 ulrich teichlerSp ws1 ulrich teichler
Sp ws1 ulrich teichler
 
Lee Clark 7th June 2010
Lee Clark 7th June 2010Lee Clark 7th June 2010
Lee Clark 7th June 2010
 
PhD thesis presentation 2012
PhD thesis presentation 2012PhD thesis presentation 2012
PhD thesis presentation 2012
 
Jaba sat explorer-710
Jaba sat explorer-710Jaba sat explorer-710
Jaba sat explorer-710
 
cIHMS
cIHMScIHMS
cIHMS
 
An Introduction To Linux Development Environment
An Introduction To Linux Development EnvironmentAn Introduction To Linux Development Environment
An Introduction To Linux Development Environment
 
QIP 2012
QIP 2012QIP 2012
QIP 2012
 
Lecture 13
Lecture 13Lecture 13
Lecture 13
 
Introducción a la administración f08
Introducción a la administración f08Introducción a la administración f08
Introducción a la administración f08
 
Desktop environment
Desktop environmentDesktop environment
Desktop environment
 
Cyber Crime
Cyber CrimeCyber Crime
Cyber Crime
 
Cyber crime
Cyber crimeCyber crime
Cyber crime
 
презентация земноводные и пресмыкающиеся
презентация земноводные и пресмыкающиесяпрезентация земноводные и пресмыкающиеся
презентация земноводные и пресмыкающиеся
 
IT Security and Wire Fraud Awareness Slide Deck
IT Security and Wire Fraud Awareness Slide DeckIT Security and Wire Fraud Awareness Slide Deck
IT Security and Wire Fraud Awareness Slide Deck
 

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

Bgp методякоби
Bgp методякобиBgp методякоби
Bgp методякоби
Michael Karpov
 
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray ChapelЛекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Mikhail Kurnosov
 
20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonov20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonov
Computer Science Club
 
Язык параллельного программирования Cray Chapel
Язык параллельного программирования Cray ChapelЯзык параллельного программирования Cray Chapel
Язык параллельного программирования Cray Chapel
Mikhail Kurnosov
 
6 кареев киров
6 кареев киров6 кареев киров
6 кареев киров
qasib
 

Ähnlich wie Пространственно-распределенная мультикластерная вычислительная система: архитектура и программное обеспечение (20)

Bgp методякоби
Bgp методякобиBgp методякоби
Bgp методякоби
 
Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Семинар 1. Многопоточное программирование на OpenMP (часть 1)Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Семинар 1. Многопоточное программирование на OpenMP (часть 1)
 
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
 
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray ChapelЛекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
 
Программируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusПрограммируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco Nexus
 
Про асинхронное сетевое программирование
Про асинхронное сетевое программированиеПро асинхронное сетевое программирование
Про асинхронное сетевое программирование
 
TMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: Genode
 
A.g.demenev(perm su) 2014
A.g.demenev(perm su) 2014A.g.demenev(perm su) 2014
A.g.demenev(perm su) 2014
 
Efficiency vvv
Efficiency vvvEfficiency vvv
Efficiency vvv
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"
 
20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonov20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonov
 
Язык параллельного программирования Cray Chapel
Язык параллельного программирования Cray ChapelЯзык параллельного программирования Cray Chapel
Язык параллельного программирования Cray Chapel
 
Lightweight Static Analysis for Data Race Detection in Operating System Kernels
Lightweight Static Analysis for Data Race Detection in Operating System KernelsLightweight Static Analysis for Data Race Detection in Operating System Kernels
Lightweight Static Analysis for Data Race Detection in Operating System Kernels
 
Семинар 8. Параллельное программирование на MPI (часть 1)
Семинар 8. Параллельное программирование на MPI (часть 1)Семинар 8. Параллельное программирование на MPI (часть 1)
Семинар 8. Параллельное программирование на MPI (часть 1)
 
6 кареев киров
6 кареев киров6 кареев киров
6 кареев киров
 
GRANIT — Global Russian Advanced Network Initiative
GRANIT — Global Russian Advanced Network InitiativeGRANIT — Global Russian Advanced Network Initiative
GRANIT — Global Russian Advanced Network Initiative
 
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
 

Mehr von Mikhail Kurnosov

Mehr von 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. Фибоначчиевы кучи (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)
 
Семинар 12. Параллельное программирование на MPI (часть 5)
Семинар 12. Параллельное программирование на MPI (часть 5)Семинар 12. Параллельное программирование на MPI (часть 5)
Семинар 12. Параллельное программирование на MPI (часть 5)
 
Лекция 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. Пространственно-распределенная мультикластерная вычислительная система: архитектура и программное обеспечение В.Г. Хорошевский, С.Н. Мамойленко, М.Г. Курносов Семинар “Вычислительные системы” Институт физики полупроводников им. А.В. Ржанова СО РАН г. Новосибирск, 7 мая 2010 г. khor@isp.nsc.ru, msn@cpct.sibsutis.ru, mkurnosov@isp.nsc.ru Центр параллельных вычислительных технологий ГОУ ВПО «Сибирский государственный университет телекоммуникаций и информатики» ул. Кирова, 86 630102, Новосибирск, Россия Тел. & факс: +7 (383) 269 82 75 E-mail: khor@cpct.sibsutis.ru Лаборатория вычислительных систем Институт физики полупроводников им. А.В. Ржанова CО РАН пр-кт ак. Лаврентьева, 13 630090, Новосибирск, Россия Тел. & факс: +7 (383) 333 21 71 E-mail: khor@isp.nsc.ru
  • 2. Институт системного программирования РАН Сеть программы “Университетский кластер” 2 Пространственно-распределённая мультикластерная вычислительная система GRID-модель Программируемость структуры, масштабируемость, живучесть Параллельное мультипрограммирование Кластер G HP BLc3000 Intel Xeon 5410 300 GFLOPS
  • 3. Институт системного программирования РАН Сеть программы “Университетский кластер” 3 Пространственно-распределённая мультикластерная вычислительная система GRID-модель Программируемость структуры, масштабируемость, живучесть Параллельное мультипрограммирование Кластер F 1,44 TFLOPS Кластер G HP BLc3000 Intel Xeon 5410 300 GFLOPS
  • 4. 4 Организация функционирования мультикластерной ВС средствами пакетов Globus Toolkit и GridWay
  • 5. 5 Организация функционирования мультикластерной ВС средствами пакетов Globus Toolkit и GridWay Globus ToolkitGlobus Toolkit GridFTP GRAM GridFTP GRAM MyProxy Certificate Authority GridWay GridWay
  • 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
  • 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.
  • 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/530855883752 6086045/ globus_gram_client_callback_allow successful GRAM Job submission successful https://xeon80.cpct.sibsutis.ru:44383/16073658407281668776/530855883752 6086045/ GLOBUS_GRAM_PROTOCOL_JOB_STATE_STAGE_IN GLOBUS_GRAM_PROTOCOL_JOB_STATE_PENDING GLOBUS_GRAM_PROTOCOL_JOB_STATE_ACTIVE ACTIVE [griduser@xeon16 ~]$ globusrun –status https://xeon80.cpct.sibsutis.ru:44383/16073658407281668776/530855883752 6086045/ DONE
  • 9. 9 Удаленное выполнение программ на заданном сегменте мультикластерной ВС Process 0 of 8 is on node1.cluster.local Process 1 of 8 is on node2.cluster.local Process 2 of 8 is on node3.cluster.local Process 3 of 8 is on node4.cluster.local Process 4 of 8 is on node5.cluster.local Process 5 of 8 is on node6.cluster.local Process 6 of 8 is on node7.cluster.local Process 7 of 8 is on node8.cluster.local PI is approximately 3.1415926535897811, Error is 0.0000000000000120 Elapsed time = 0.0092 sec. 5. Проверка результатов выполнения программы на сегменте Xeon32 [griduser@xeon32 ~]$ cat mpiprog.res
  • 10. HID PRIO OS ARCH MHZ %CPU N(U/F/T) LRMS HOSTNAME 0 1 Linux2.6.18-8.e x86_6 2660 0 0/4/4 pbs xeon16.cpct.sibsutis.ru 1 1 Linux2.6.18-164 x86_6 2330 0 0/4/4 pbs xeon32.cpct.sibsutis.ru 2 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 = mpiprog ARGUMENTS = ./mpiprog.res INPUT_FILES = gsiftp://xeon16.cpct.sibsutis.ru/home/griduser/mpiprog.data STDOUT_FILE = gsiftp://xeon32.cpct.sibsutis.ru/home/griduser/mpiprog.res TYPE = mpi NP = 8 1. Запрос информации о состоянии сегментов мультикластерной ВС [griduser@xeon16 ~]$ gwhost
  • 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.local Process 1 of 8 is on node2.cluster.local Process 2 of 8 is on node3.cluster.local Process 3 of 8 is on node4.cluster.local Process 4 of 8 is on node5.cluster.local Process 5 of 8 is on node6.cluster.local Process 6 of 8 is on node7.cluster.local Process 7 of 8 is on node8.cluster.local PI is approximately 3.1415926535897811, Error is 0.0000000000000120 Elapsed time = 0.0092 sec. 6. Результаты выполнения задания на сегменте Xeon32 USER JID DM EM START END NAME HOST griduser:0 0 done ---- 23:47:56 23:48:16 pi.jt xeon32.cpct.sibsutis.ru griduser:0 1 wrap actv 12:41:04 --:--:-- job.jt xeon80.cpct.sibsutis.ru 4. Запуск задачи через диспетчер GridWay [griduser@xeon16 ~]$ gwps USER JID DM EM START END NAME HOST griduser:0 0 done ---- 23:47:56 23:48:16 pi.jt xeon32.cpct.sibsutis.ru griduser:0 1 done ---- 12:41:04 12:41:39 job.jt xeon80.cpct.sibsutis.ru
  • 12. 12 Web-сайт мультикластерной ВС • Руководства для пользователей ресурсов мультикластерной ВС • Описание конфигурации сегментов мультикластерной ВС • Информация о состоянии сегментов http://cpct.sibsutis.ru
  • 13. 13 Интеграция нового сегмента в мультикластерную ВС Globus Toolkit GridFTP GRAM MyProxy Certificate Authority GridWay Globus Toolkit GridFTP GRAM GridWay
  • 14. 14 Распределенные вычислительные системы с иерархической структурой Распределенные ВС из списка TOP500 (34 редакция, ноябрь 2009 года) имеют как минимум два уровня в иерархической организации – общая память узлов и сеть межузловых связей. Level 3 Level 2 Level 1
  • 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 Процессор Граф программы
  • 16. 16 Библиотека коммуникационных функций TopoMPI TopoMPI (от англ. Topology-aware MPI library) – библиотека коммуникационных функций стандарта MPI, ориентированная на эффективную реализацию параллельных программ в большемасштабных иерархических распределенных ВС. Основные возможности: • Оптимизация вложения (mapping) параллельных программ в иерархические распределенные ВС. • Эффективные алгоритмы реализации коллективных операций информационных обменов (collective communication) в иерархических распределенных ВС. • Переносимая реализация на C99 (ISO/IEC 9899:1999) и MPI 2.2.
  • 17. 17 Программное обеспечение мультикластерной ВС Операционная система GNU/Linux Подсистема самоконтроля, самодиагностики ВС и организации отказоустойчивого выполнения параллельных программ (DMTCP – Distributed MultiThreaded CheckPointing) Удаленныйдоступимониторинг (SSH,GlobusToolkit;Ganglia) Подсистема параллельного мультипрограммирования (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 Подсистема параллельного мультипрограммирования Разрабатываемые в ИФП СО РАН и ЦПВТ ГОУ ВПО “СибГУТИ” компоненты