Инструментарий децентрализованного обслуживания потоков параллельных MPI-задач в пространственно-распределенных мультикластерных вычислительных системах

Тип работы:
Реферат
Предмет:
ТЕХНИЧЕСКИЕ НАУКИ


Узнать стоимость

Детальная информация о работе

Выдержка из работы

ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2011 Управление, вычислительная техника и информатика № 3(16)
УДК 004. 272
М. Г. Курносов, А. А. Пазников
ИНСТРУМЕНТАРИЙ ДЕЦЕНТРАЛИЗОВАННОГО ОБСЛУЖИВАНИЯ ПОТОКОВ ПАРАЛЛЕЛЬНЫХ MPI-ЗАДАЧ В ПРОСТРАНСТВЕННО-РАСПРЕДЕЛЕННЫХ МУЛЬТИКЛАСТЕРНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ1
Рассматриваются децентрализованные алгоритмы и программы обслуживания потоков параллельных задач в пространственно-распределенных вычислительных системах (ВС). Описывается функциональная структура разработанного программного пакета GBroker децентрализованной диспетчеризации параллельных MPI-программ в пространственно-распределенных муль-тикластерных ВС. Приводятся результаты моделирования алгоритмов и оценка их эффективности при реализации на мультикластерных ВС.
Ключевые слова: диспетчеризация параллельных программ, пространственно-распределенные вычислительные системы, GRID-системы.
При решении сложных задач науки и техники широкое применение получили пространственно'--распределенные вычислительные системы (ВС) — макроколлективы рассредоточенных вычислительных средств (подсистем), взаимодействующих между собой через локальные и глобальные сети связи (включая сеть Internet) [1, 2]. К таким системам относятся GRID-системы и мультикластерные ВС.
К значимым проблемам организации функционирования пространственно-распределенных ВС относится диспетчеризация параллельных программ. Для каждой программы, из поступивших в ВС, требуется определить ресурсы (подсистемы) для ее выполнения. В средствах диспетчеризации необходимо учитывать возможность изменения состава и загрузки распределенной ВС с течением времени.
Централизованные средства диспетчеризации программ имеют существенный недостаток: отказ управляющего узла ВС может привести к неработоспособности всей системы. Кроме того, в случае применения таких средств в большемасштабных ВС возрастают временные затраты на поиск требуемых ресурсов. Поэтому актуальной является задача разработки децентрализованных моделей, алгоритмов и программного обеспечения для диспетчеризации параллельных задач в распределенных ВС.
При децентрализованной диспетчеризации в вычислительной системе должен функционировать коллектив диспетчеров, осуществляющий выбор необходимых ресурсов для реализации программ. Это позволяет достичь и живучести большемасштабных ВС, то есть способности систем продолжать работу при отказах отдельных компонентов и подсистем.
Существует несколько пакетов централизованной диспетчеризации параллельных программ в пространственно-распределенных системах: GridWay, Common Scheduler Framework (CSF), Nimrod/G, Condor-G, GrADS, AppLeS,
1 Работа выполнена в рамках интеграционного проекта № 113 СО РАН, при поддержке РФФИ (гранты № 09−07−13 534, 09−07−90 403, 08−07−22, 10−07−5 005, 08−07−18), Совета по грантам Президента Р Ф для поддержки ведущих научных школ (грант НШ-5176. 2010. 9) и в рамках государственного контракта № 02. 740. 11. 0006 с Минобрнауки Р Ф.
DIRAC, WMS и др. В пакете GridWay [3, 4] преследуется цель минимизации времени обслуживания задач, при этом учитывается время решения задачи и её пребывания в очереди- реализован механизм миграции задач между подсистемами. Среда CSF [5] предоставляет средства резервирования ресурсов на основе алгоритма Round-Robin и алгоритмов, созданных пользователем. В основе Nimrod/G [6] лежит экономическая модель, целью которой является поиск равновесного состояния между поставщиками и потребителями ресурсов посредством механизма аукциона. Диспетчер Condor-G [7], являющийся развитием системы Condor, ориентирован на использование в системах высокой пропускной способности (High-throughput Computing) и основан на алгоритмах Matchmaking и ClassAd. Предполагается, что пользователь самостоятельно выбирает подсистему из списка доступных- при этом поддерживается возможность создания пользовательских диспетчеров. Функционирование диспетчера WMS [8], используемого в GRID-проекте Enable Grid for e-Science, основывается на применении двух алгоритмов диспетчеризации: либо задача отправляется на подсистему для решения как можно быстрее, либо ожидает в очереди до тех пор, пока ресурс не станет доступным. В DIRAC [9] на подсистемах установлены агенты, которые при освобождении ресурсов запрашивают задачи из глобальной очереди.
В данной работе предлагаются децентрализованные алгоритмы и программное обеспечение диспетчеризации параллельных программ в пространственно-распределенных вычислительных и GRID-системах.
1. Постановка задачи
Пусть имеется пространственно-распределенная ВС, состоящая из Н подсистем- N — суммарное количество элементарных машин (ЭМ) в подсистемах. Обозначим через п количество ЭМ, входящих в состав подсистемы I е? = {1, 2, …, Н}. Пусть также Ъу = Ъ (/, у, т) — пропускная способность канала связи между подсистемами
I, у е? при передаче сообщений размером т байт ([Ъ (/, у, т)] = байт/с).
В каждой подсистеме присутствует диспетчер, который поддерживает очередь параллельных задач и осуществляет поиск вычислительных ресурсов для их выполнения (рис. 1).
Рис. 1. Пример локальных окрестностей диспетчеров:
H = 4, L (1)={3, 4}, L (2) = {3, 4}, L (2) = {1, 2}, L (4) = {1, 2}
Коллектив диспетчеров представлен в виде ориентированного графа О = (?, Е), в котором вершинам соответствуют диспетчеры, а ребрам — логические связи между ними. Наличие дуги (г, у) е Е в графе означает, что диспетчер г может отправлять ресурсные запросы (задачи из своей очереди) диспетчеру у. Множество всех вершин у, смежных вершине г, образуют её локальную окрестность Ь (г) = {у е ?: (г, у) е Е}.
Пользователь направляет задачу и запрос на выделение ресурсов одному из диспетчеров. Диспетчер (в соответствии с реализованным в нем алгоритмом) осуществляет поиск (суб)оптимальной подсистемы у* е? для выполнения задачи пользователя.
Считаем, что задача характеризуется рангом г — количеством параллельных ветвей, ожидаемым временем t выполнения программы ^а1Шше) и суммарным размером г исполняемых файлов и данных ([г] = байт). Рассмотрим децентрализованный алгоритм обслуживания потоков параллельных задач в пространственно -распределенных ВС.
2. Децентрализованный алгоритм диспетчеризации параллельных задач
При поступлении программы пользователя в очередь подсистемы г е? её диспетчер выполняет следующий алгоритм:
1. У каждого диспетчера у е Щ) и {/'-} запрашивается оценка времени у, через которое программа может быть запущена на ресурсах подсистемы у в случае передачи программы в её очередь.
2. Через систему мониторинга определяется текущее значение пропускной способности Ъу = Ъ (г, у, ?) канала связи между подсистемами г и у.
3. Отыскивается оценка времени У (г, у) обслуживания программы в случае её перенаправления в очередь подсистемы у. Время обслуживания включает в себя время доставки исполняемых файлов и данных до подсистемы у, время ожидания у в очереди подсистемы и время t выполнения программы:
У (г, у) = г / Ъу + у + У.
4. Программа перенаправляется в очередь подсистемы у*, в которой достигается минимальное значение времени У (г, у) обслуживания параллельной программы
у* = а^шт{ (г, у)}.
уеЬ (1)и{1]
Диспетчер выполняет описанный алгоритм поиска подсистем при наступлении одного из нижеследующих событий.
1. Поступление новой задачи в очередь от пользователя.
2. Удаление задачи из очереди, начало выполнения задачи, изменение параметров (количества ветвей, времени решение) одной или нескольких задач в очереди. Перечисленные события влекут за собой поиск новых подсистем для задач, стоящих в очереди после задач с модифицированными параметрами и состояниями.
3. Окончание временного интервала Д с момента последнего запуска алгоритма поиска подсистем.
Периодический поиск подсистем для задач в очереди позволяет учесть динамически изменяющуюся загрузку ресурсов пространственно-распределенных вычислительных и вКШ-систем. Описанный подход реализован в программном пакете вВгокег децентрализованной диспетчеризации параллельных МР1-программ в пространственно-распределенных мультикластерных ВС.
3. Программный пакет GBroker
В Центре параллельных вычислительных технологий ГОУ ВПО «Сибирский государственный университет телекоммуникаций и информатики» (ЦПВТ ГОУ ВПО «СибГУТИ») и Лаборатории вычислительных систем Института физики полупроводников им. А. В. Ржанова СО РАН (ИФП СО РАН) создан и развивается программный пакет GBroker [10] децентрализованной диспетчеризации параллельных MPI-программ в пространственно-распределенных ВС. Пакет разработан на языке ANSI C для операционной системы GNU/Linux.
В пакет (рис. 2) входят диспетчер gbroker, клиентское приложение gclient и средство мониторинга производительности каналов связи netmon между подсистемами на уровне стека протоколов TCP/IP.
Рис. 2. Функциональная структура пакета GBroker
Модуль gbroker устанавливается на каждой из подсистем и на основе расширяемой архитектуры обеспечивает интерфейс с локальной системой пакетной обработки заданий (на данный момент — TORQUE). Модуль netmon устанавливается вместе с gbroker на подсистемах. Взаимодействуя друг с другом, сервисы netmon собирают информацию о производительности каналов связи между подсистемами. Модуль gclient реализует интерфейс между пользователем и системой.
Администратор настраивает локальные окрестности диспетчеров gbroker, указывая, какие диспетчеры с какими могут обмениваться задачами из своих очередей, и настраивает сервис netmon.
Пользователь формирует задание, состоящее из параллельной MPI-программы и паспорта на языке ресурсных запросов JSDL (Job Submission Description Language) и отправляет его средствами gclient любому из диспетчеров gbroker. Диспетчер в соответствии с описанным алгоритмом выбирает подсистему, на которой должна выполняться задача.
4. Моделирование алгоритмов и программных средств
Созданный инструментарий децентрализованной диспетчеризации параллельных задач исследован на действующей мультикластерной ВС, созданной ЦПВТ
ГОУ ВПО «СибГУТИ» совместно с Лабораторией В С ИФП СО РАН. В экспериментах было использовано 3 сегмента мультикластерной ВС (рис. 3):
— кластер Xeon16: 4 узла (2 x Intel Xeon 5150, 16 процессорных ядер) —
— кластер Xeon32: 4 узла (2 х Intel Xeon 5345, 32 процессорных ядра) —
— кластер Xeon80: 10 узлов (2 x Intel Xeon 5420, 80 процессорных ядер).
Сеть связи между сегментами ВС Fast Ethernet.
На сегментах системы был установлен пакет Gbroker и настроен компонент netmon (рис. 3). В локальную окрестность каждого диспетчеры были включены диспетчеры всех кластеров.
Рис. 3. Тестовая конфигурация пространственно-распределенной мультикластерной ВС (H = 3)
В качестве тестовых задач использовались MPI-программы из пакета NAS Parallel Benchmarks (NPB). Моделирование проводилось следующим образом. На выбранную подсистему поступал стационарный поток из M = 500 параллельных задач. Тестовые задачи выбирались псевдослучайным образом. Ранг ri параллельной программы генерировался в соответствии с распределением Пуассона со значениями математического ожидания r = {4, 8, 12, 16}. Задачи поступали в очередь диспетчера кластера Xeon80 через интервалы времени t, экспоненциально распределенные со значениями интенсивности X = {0. 1, 0. 2, 0. 3, 0,4}, [X] = с-1.
Обозначим через ti — момент времени поступления задачи i е {1, 2, …, M} на вход диспетчера, t'-t — момент времени начала решения задачи i, t& quot- - момент завершения решения задачи i. Тогда суммарное время т обслуживания (ожидания в очереди и решения) M задач составит
т = max t" — min ti.
?=1,2,…, M i=1,2,…, IM
Для оценки эффективности алгоритма диспетчеризации использовались следующие показатели:
— среднее время T обслуживания задачи
M
T = VM X (t--ti) —
i=1
— среднее время Ш пребывания задачи в очереди
м
Ш = 1 М X (4 — ^) —
і=і
— пропускная способность В системы
В = М / т.
На рис. 4 показана зависимость среднего времени обслуживания параллельных задач от интенсивности их поступления в систему.
Рис. 4. Зависимости среднего времени Т обслуживания задачи от интенсивности X потока задач: 1 — г = 4- 2 — г = 8- 3 — г = 12- 4 — г = 16
Из графиков видно, что среднее время обслуживания задачи увеличивается с ростом интенсивности потока поступления задач. Это связано с образованием очередей задач на подсистемах ВС. Такое влияние интенсивности потока особенно значительно при рангах параллельных программ, близких к количеству процессорных ядер в подсистемах.
Среднее время Ш пребывания задачи в очереди незначительно (рис. 5) по сравнению с суммарным временем её обслуживания и в среднем не превосходит одной секунды (для рассматриваемой конфигурации ВС). Среднее время пребывания задачи в очереди не изменяется существенно как с ростом интенсивности потока поступления задач, так и с увеличением среднего ранга параллельных задач.
Рис. 5. Зависимости среднего времени Ш пребывания задачи в очереди от интенсивности X потока задач: 1 — г = 4- 2 — г = 8- 3 — г = 12- 4 — г = 16
Пропускная способность системы (рис. 6) растет при увеличении интенсивности потока поступления задач. При больших значениях интенсивности происходит снижение пропускной способности системы, что связано с образованием очередей на подсистемах. С увеличением среднего ранга задач это влияние интенсивности на пропускную способность системы усиливается.
Рис. 6. Зависимости пропускной способности B системы от интенсивности X потока задач: 1 — r = 4- 2 — r = 8- 3 — r = 12- 4 — r = 16
Заключение
Централизованные системы диспетчеризации большемасштабных распределенных ВС характеризуются вычислительной сложностью поиска требуемых ресурсов. Децентрализованная диспетчеризация параллельных программ в пространственно-распределенных вычислительных и GRID-системах позволяет повысить их живучесть. Кроме того, применение централизованных систем диспетчеризации в большемасштабных ВС ограничено вычислительной сложностью поиска требуемых ресурсов.
Результаты исследования созданного инструментария децентрализованной диспетчеризации параллельных MPI-программ на мультикластерной ВС показали, что среднее время обслуживания задач и при децентрализованной, и при централизованной диспетчеризации сопоставимы. Время диспетчеризации достаточно мало по сравнению со временем выполнения задач.
Инструментарий децентрализованной диспетчеризации — один из необходимых компонентов обеспечения живучести пространственно-распределенной мультикластерной ВС ЦПВТ ГОУ ВПО «СибГУТИ» и лаборатории ВС ИФП СО РАН.
ЛИТЕРАТУРА
1. Евреинов Э. В., Хорошевский В. Г. Однородные вычислительные систем. Новосибирск: Наука, 1978. 320 с.
2. ХорошевскийВ.Г. Архитектура вычислительных систем. М.: МГТУ им. Н. Э. Баумана. 2008. 520 с.
3. Montero R., Huedo E., Llorente I. Grid resource selection for opportunistic job migration // 9th International Euro-Par Conference. 2003. V. 2790. P. 366−373.
4. Huedo E., Montero R., Llorente I. A framework for adaptive execution on grids // Software -Practice and Experience (SPE). 2004. V. 34. P. 631−651.
5. Xiaohui W., ZhaohuiD., Shutao Y. CSF4: A WSRF compliant meta-scheduler // Proc. of World Congress in Computer Science Computer Engineering, and Applied Computing. 2006. P. 61−67.
6. Buyya R., Abramson D., Giddy J. Nimrod/G: an architecture for a resource management and scheduling system in a global computational Grid // Proc. of the 4th International Conference on High Performance Computing in Asia-Pacific Region. 2000. P. 283−289.
7. Frey J. et. al. Condor-G: A computation management agent for multi-institutional grids // Cluster Computing. 2001. V. 5. P. 237−246.
8. Andreetto P., Borgia S., Dorigo A. Practical approaches to grid workload and resource management in the EGEE project // CHEP'04: Proc. of the Conference on Computing in High Energy and Nuclear Physics. 2004. V. 2. P. 899−902.
9. Caron E., Garonne V., Tsaregorodtsev A. Evaluation of meta-scheduler architectures and task assignment policies for high throughput computing // Technical report. Institut National de Recherche en Informatique et en Automatique. 2005.
10. Курносов М. Г., Пазников А. А. Децентрализованное обслуживание потоков параллельных задач в пространственно-распределенных вычислительных системах // Вестник СибГУТИ. 2010. № 2 (10). С. 79−86.
Курносов Михаил Георгиевич
Пазников Алексей Александрович
ГОУ ВПО «Сибирский государственный университет
телекоммуникаций и информатики»
E-mail: mkurnosov@gmail. com- apaznikov@gmail. com Поступила в редакцию 3 декабря 2010 г.

ПоказатьСвернуть
Заполнить форму текущей работой