АРХИТЕКТУРА ПАРАЛЛЕЛЬНОЙ СЕТИ  ДЛЯ РЕАЛИЗАЦИИ GRID-ТЕХНОЛОГИИ

 

И.И. Дзегеленок, П.Е. Ильин, Ш.А. Оцоков

(Москва, Московский Энергетический Институт, Россия)      

 

 

 

Несмотря на то, что производительность вычислительных средств постоянно растет, существует достаточно большой класс задач, которые не могут быть решены за приемлемое время даже на самом производитель­ном современном суперкомпьютере. В то же время, огромное количество персональных компьютеров, существующих сейчас в мире, большую часть времени простаивает, так как задачи, решаемые большинством обычных пользователей, не требуют значительных вычислительных ресурсов.

В результате развития коммуникационных технологий, приведших к созданию локальных и глобальных сетей с высокой пропускной способно­стью, возникла идея объединения простаивающих компьютеров в виртуаль­ный суперкомпьютер и использовать его вычислительную мощность для решения сложных научных задач. Эта идея получила название GRID-тех­нологии.

В общем случае задачу, которая может быть решена с применением GRID-технологии, можно представить в виде процесса-сервера, который осуществляет распределение заданий и множества вычислительных про­цессов. Решение задачи происходит следующим образом: процесс-сервер рассылает пакет заданий каждому вычислительному процессу, вычисли­тельный процесс производит расчеты и посылает результат обратно про­цессу-серверу, который собирает все результаты и производит общую часть обработки.

 Все задачи, решаемые с помощью GRID, можно разбить на две группы: задачи, для которых вычислительные процессы создаются только в момент запуска (синхронный старт) и задачи, для которых воз­можно создание новых вычислительных процессов непосредственно в ходе решения (асинхронный старт).

Одним из возможных вариантов создания инфраструктуры для реализации GRID-технологии является использование параллельной мультикомпьютерной сети (в дальнейшем, просто – ПМК-сети). Согласно [1], ПМК-сеть  представляет собой программно-аппаратный комплекс, который состоит из множества вычислителей (чаще всего, персональных компьютеров), соединенных между собой средой передачи данных, и программных коммуникационных средств. Основные функции ПМК-сети заключаются в следующем: 1) автоматический мониторинг доступных вычислительных ресурсов и распределение по ним вычислительных задач с возможностью задания стратегии распределения, 2) возможность адресации вычислителей на уровне логических номеров, а не на уровне сетевых адресов, что делает прикладную программу полностью независимой от конфигурации ПМК-сети, 3) освобождение разработчиков прикладных программ от необходимости использования сетевых функций низкого уровня, что совместно позволяет повысить эффективность разработки программ и уменьшить число ошибок, 4) предоставление дополнительных средств отладки и мониторинга.

При построении ПМК-сети возможно два подхода к организации управления процессом вычислений: централизованный (когда имеется специальный компьютер, который предназначен для распределения ресур­сов ПМК-сети) и децентрализованный (когда все вычислители участвуют в процессе управления ресурсами на равных правах).

ПМК-сеть с централизованной организацией состоит из центрально­го сервера, каналов связи, маршрутизатора (функции которого может вы­полнять центральный сервер) и множества вычислителей. На центральном сервере выполняется управляющий процесс и хранятся сведения о всех вычислителях, доступных в данной ПМК-сети и список всех выполняю­щихся  на данный момент времени задач. На каждом вычислителе кроме параллельных процессов расчетных задач выполняется локальный диспет­чер, реализующий ряд служебных и вспомогательных функций, и хранятся данные о задачах, в решении которых участвует данный вычислитель.

ПМК-сеть с децентрализованной организацией включает в себя мно­жество вычислителей, каналы связи и, возможно, маршрутизаторы. На каждом вычислителе хранятся данные обо всех остальных вычислителях и всех решаемых в данный момент времени в ПМК-сети задачах. Кроме того, выполня­ется управляющий процесс, который выполняет те же функции, что и в централизованном варианте реализации, а также функции, аналогичные функциям  локального диспетчера. Все управляющие процессы на каждом вычислителе равноправны, а согласование их действий может вестись одним из двух способов: либо посылкой широковещательных сообщений (только если ПМК-сеть реализована в пределах одного сегмента локальной сети), либо рассылкой уведомлений по списку вычислителей (что позволяет реализовывать ПМК-сеть с использованием Internet).

Оба рассмотренных выше варианта реализации ПМК-сети позволяют организовать инфраструктуру для реализации GRID-задач с синхронным стартом. В этом случае задача выполняется следующим образом: первый из запущенных процессов становится координатором. Для централизованного варианта им, как правило, оказывается тот, который запущен непосредственно на сервере. Именно он раздает задания. В свою очередь,  на всех остальных доступных в момент запуска вычислителях запус­каются процессы, на которых будут проводиться непосредственно вычис­ления. Схема организации вычислений для  такой сети представлена на рис. 1.

 

 

Рис. 1. Схема реализации GRID-вычислений с использованием централизованного варианта ПМК-сети.

В централизованном варианте ПМК-сети также возможна реализа­ция задач с асинхронным стартом. Это делается путем рассылки уведомле­ний с информацией о новом вычислителе всем уже выполняющимся про­цессам.

В настоящее время на кафедре ВМСС разработана централизован­ная версия ПМК-сети, получившая название КУРС-2004. Эта версия может рабо­тать как в локальных, так и в глобальных сетях в режиме автоматической инициали­зации, и позволяет решать как обычные задачи с фиксированным количеством вычислителей, так и GRID-задачи с синхронным стартом.

В ходе тестирования ПМК-сети КУРС 2004 был реализован ряд прикладных задач, в том числе и с применением GRID-технологии. Одной из таких задач является решение системы линейных алгебраиче­ских уравнений (СЛАУ) с применением модели «безошибочных вычисле­ний».

Модель «безошибочных  вычислений» позволяет полностью исключить ошибки округления при вычислениях на поле рациональных чисел в заданном диапазоне значений. Этот диапазон определяется из неравенства 2*N2+1≤M, где N-порядок дроби Фа­рея, а M-модуль системы [2]. Нетрудно заметить, что это ограничение на по­рядок дроби является существенным и сильно сужает область при­менения подобных вычислений. В частности, если для представления чи­сел в системе остаточных классов (СОК) использовать стандартный цело­численный тип long integer, то максимальный порядок дроби Фарея не превосходит пятидесяти тысяч, что  недопустимо даже при целочисленном результате.

Расширить диапазон представляемых чисел возможно решить путем применения вычислений в системах остаточных классов с несколькими модулями. Такое решение  позволило распараллелить задачу на несколько вычислителей, причем  обмен информацией между ними будет не­значительным [3].

На ПМК-сети КУРС 2004 данная задача была реализована в двух ва­риантах: с явно задаваемым количеством вычислителей (обычный режим работы) и с использованием всех доступных вычислителей в сети (GRID-технология с синхронным стартом). При решении задачи один из вычис­лителей является координатором: на нем осуществляется ввод/вывод дан­ных и рассылка другим вычислителям, остальные – подчиненными.

После того, как все вычислители запущены и на координаторе введе­ны все необходимые данные, начинается процесс решения задачи, состоя­щий из следующих этапов:

1) координатор рассылает необходимые дан­ные (коэффициенты СЛАУ),

2) каждый вычислитель (в том числе и коор­динатор) решает систему уравнений для своего модуля СОК,

3) координа­тор по очереди передает жезл подчиненным процессам, каждый из кото­рых отправляет ему результаты решения задачи для своего модуля,

4) когда все результаты приняты, производится преобразование корней урав­нения из многомодульной системы остаточных классов в дроби Фарея (на этом этапе используются длинные вычисления),

5) координатор выводит результаты решения задачи на экран.

С учетом всего вышеизложенного можно сделать вывод, что архитектура ПМК-сети позволяет создать инфраструктуру для реализации GRID-вычислений. Однако децентрализованный вариант ПМК-сети накладывает ряд существенных ограничений, и может применяться только в корпоративных сетях, в то время как централизованный вариант позволяет реализовать GRID-технологию полностью как для задач с синхронным, так и для задач с асинхронным стартом.

 

ЛИТЕРАТУРА

1. Дзегеленок И.И., Кузнецов А.Ю. Параллельные мультикомпьютерные сети как направление развития распределенных супер-ЭВМ// Сб. "Системы управления и силовая электроника"/ Под общ ред. В.Д.Ковалёва.-М.:ВЭИ.-2001, с.62-67

2. Дзегеленок И.И., Оцоков Ш.А. Подход к решению проблемы безошибочных вычислений с использованием ускоренного отображения дробей Фарея// Сборник докладов.–М.: Научный фонд «Первая Исследовательская Лаборатория имени академика В.А. Мельникова», 2004 , с.130–133

3. Дзегеленок И.И., Ильин П.Е. и др. Декомпозиционный подход к осуществлению GRID-технологий// Научно-технический журнал  «Информационная математика»– М.: Изд-во  «АСТ-Физико-математическая литература», № 1(5), 2005, с.110–119