АРХИТЕКТУРА
ПАРАЛЛЕЛЬНОЙ СЕТИ ДЛЯ РЕАЛИЗАЦИИ
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