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

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

CC BY
175
40
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДИСПЕТЧЕРИЗАЦИЯ ПАРАЛЛЕЛЬНЫХ ПРОГРАММ / ПРОСТРАНСТВЕННО-РАСПРЕДЕЛЕННЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ / GRID-СИСТЕМЫ / PARALLEL TASKS SCHEDULING / BROKERING / GEOGRAPHICALLY-DISTRIBUTED COMPUTER SYSTEMS / GRID-SYSTEMS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Курносов Михаил Георгиевич, Пазников Алексей Александрович

Рассматриваются децентрализованные алгоритмы и программы обслуживания потоков параллельных задач в пространственно-распределенных вычислительных системах (ВС). Описывается функциональная структура разработанного программного пакета GBroker децентрализованной диспетчеризации параллельных MPI-программ в пространственно-распределенных мультикластерных ВС. Приводятся результаты моделирования алгоритмов и оценка их эффективности при реализации на мультикластерных ВС.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Курносов Михаил Георгиевич, Пазников Алексей Александрович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Parallel program scheduling refers to the meaningful problem of computer systems (CS) functioning organization. For every incoming program the execution computing resources (subsystems) have to be found. System composition dynamics and variable workload of computer nodes should be taken into account by job scheduler. Centralized schedulers have the inherent significant shortcoming: CSs front-end failure may cause a whole system failure. Besides that, time overhead for resources search increase in case of using these tools in large-scale CS. Thus problem of development of decentralized models, algorithms and system software for parallel program scheduling in distributed CS is urgent. In case of decentralized scheduling collective of schedulers have to function in system and search necessary resources for programs. It allows reaching persistence also in large-scale CS, making them able to continue functioning at some subsystems failures. Decentralized algorithms and software of parallel program scheduling in geographicallydistributed and GRID systems are proposed in this paper. Geographically-distributed CS, composed of H subsystems, is considering. N is total number of computer nodes on subsystems. Let ni be number of nodes in subsystem i  S = {1, 2, …, H}. Let also bij = b(i, j, m) be channel capacity between i, j  S subsystems while transferring m bytes message ([b(i, j, m)] = byte/s). Scheduler functioning on each subsystem manages parallel program queue and searches for computing resources for job execution. Collective of schedulers is represented by graph G = (S, E), where schedulers and logical links between them correspond to vertices and edges. Presence of (i, j)  E edge means that scheduler i is able to send resource requests (jobs of its queue) to scheduler j. Set of vertices j incident to i represents its local neighborhood L(i) = {j  S: (i, j)  E}. User sends job with resource request to one of the schedulers. That scheduler (in accordance with realized algorithms) searches (sub)optimal subsystem j∗  S for users job to compute. Let job is characterized by rank r number of parallel branches, expected execution time t (walltime) and total size z of execution files and data ([z] = byte). GBroker software suite of parallel MPI-programs decentralized scheduling in geographicallydistributed CS has been created and is being developed in the Centre of Parallel Computing Technology of Siberian State University of Telecommunications and Information Sciences (CPCT SibSUTIS) and Computer Systems Laboratory of Institute of Semiconductor Physics of SB RAS (ISP SB RAS). Software suite includes scheduler gbroker, client tool gclient and netmon monitor of channels performance between subsystems at TCP/IP protocol level. Developed toolkit of parallel job scheduling was investigated on active multicluster CS, created by CPCT SibSUTIS together with ISP SB RAS. Experiments results have shown that mean job service times in centralized and decentralized scheduling are comparable. Scheduling time is rather minor in comparison with job execution time. Decentralized scheduling software suite is one of necessary components for providing persistence of geographically-distributed multicluster CS of CPCT SibSUTIS and ISP SB RAS.

Текст научной работы на тему «Инструментарий децентрализованного обслуживания потоков параллельных 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-13534, 09-07-90403, 08-07-00022, 10-07-05005, 08-07-00018), Совета по грантам Президента РФ для поддержки ведущих научных школ (грант НШ-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" - момент завершения решения задачи 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., Llórente I. Grid resource selection for opportunistic job migration // 9th International Euro-Par Conference. 2003. V. 2790. P. 366-373.

4. Huedo E., Montero R., Llórente 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: [email protected]; [email protected] Поступила в редакцию 3 декабря 2010 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.