Russian Language English Language

13 Модели, методы и инструментальные средства проектирования распределенных информационных систем

13.1 Параллельная сеть для реализации GRID-вычислений


Экспресс информация

Редколлегия журнала

Подписка на новости

Гостевая книга

Предоставление материалов

Письмо в редакцию

На начало


2004, Номер2 ( 5)



Place for sale
ПАРАЛЛЕЛЬНАЯ СЕТЬ ДЛЯ РЕАЛИЗАЦИИ GRID-ВЫЧИСЛЕНИЙ

ПАРАЛЛЕЛЬНАЯ СЕТЬ ДЛЯ РЕАЛИЗАЦИИ GRID-ВЫЧИСЛЕНИЙ

Дзегеленок И.И., Ильин П.Е., Ильин И.В.

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

                          

 

 

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

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

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

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

 

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

 

ЛИТЕРАТУРА:

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

 

2. Дзегеленок И.И., Оцоков Ш.А. Экспериментальная модель безошибочных вычислений на ПМК-сети «Курс 2000».Международный форум информатизации-2003: Доклады международной конференции «Информационные средства и технологии», в 3-х т.т. Т.3.–М.: Янус-К, 2003, с.103–106

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