Программные пакеты обеспечения параллельных вычислений
Автор: Аль-Хулайди Абдулмаджид Ахмед
Журнал: Вестник Донского государственного технического университета @vestnik-donstu
Рубрика: Физико-математические науки
Статья в выпуске: 1 (44) т.10, 2010 года.
Бесплатный доступ
Развитие технологий Grid подошло к фазе реализации проектов, направленных на развертывание крупных действующих инфраструктур. Использование их на практике поставило не только новые задачи, но и вызвало необходимость в оценке подходов, которые были разработаны и успешно применялись в пробных экспериментах. Одной из главной составляющей таких инфраструктур является программное обеспечение, которое рассмотрено в данной статье.
Ресурсная архитектура, кластер, безопасность, диспетчеризация
Короткий адрес: https://sciup.org/14249324
IDR: 14249324
Текст научной статьи Программные пакеты обеспечения параллельных вычислений
В отличие от кластерных систем, которые являются частным случаем grid, мировое сообщество исследователей и разработчиков grid-систем рассматривают их как единое целое и не вычленяют параметры классификации и не проводят самой классификации grid. Но если провести аналогии с кластерными системами и проанализировать вопрос, то можно определить, что данные системы можно разделить на следующие три типа [2]:
-
1. GRID на основе использования добровольно предоставляемого свободного ресурса персональных компьютеров («добровольная» GRID);
-
2. Научная GRID – хорошо распараллеливаемые приложения программируются специальным образом (например, с использованием Globus Toolkit);
-
3. GRID на основе выделения вычислительных ресурсов по требованию (Enterprise GRID или коммерческая GRID); обычные коммерческие приложения работают на виртуальном компьютере, который, в свою очередь, состоит из нескольких физических компьютеров, объединённых с помощью GRID-технологий (кластер).
Принципы функционирования Grid-системы представлены на рис.1.
Рис.1. Принцип функционирования Grid-систем
Таким образом, к прикладным задачам , при решении которых можно использовать GRID, относятся:
-
- сложное моделирование;
-
- совместная визуализация очень больших наборов научных данных;
-
- распределенная обработка для анализа данных;
-
- связь научного инструментария с удаленными компьютерами и архивами данных.
Наиболее эффективно применение распределённых вычислительных систем для решения следующих задач :
-
- распределенные высокопроизводительные вычисления, решение очень больших задач, требующих максимальных процессорных ресурсов, памяти и т.д.;
-
- «высокопоточные» вычисления, позволяющие организовать эффективное использование ресурсов для небольших задач, утилизируя временно простаивающие компьютерные ресурсы;
-
- проведение крупных разовых расчетов;
-
- вычисления с привлечением больших объемов распределенных данных, например, в метеорологии, астрономии, физике высоких энергий;
-
- коллективные вычисления: одновременная работа нескольких взаимодействующих пользователей.
На рис.2 показан пример вычислительной Grid-сети.

Рис.2. Пример вычислительной Grid -сети
Обзор существующих пакетов Grid-систем. Разрабатываемые в настоящее время программные системы делятся на два основных типа: свободно распространяемые и системы коммерческого типа. Проведём сравнительный анализ программных пакетов Grid-систем этих типов.
С развитием технологии Grid-систем стали появляться не отдельные ПО, а программные платформы, то есть взаимосогласованные наборы средств. Данные платформы со значительно большей полнотой по сравнению с пакетами ПО поддерживают развертывание и обслуживание Grid, а также организуют его функционирование как единой операционной среды. Характерные отличия платформ проявляются в том, что в них в рамках единой архитектуры начинают решаться задачи обеспечения надежности, детерминированности, качества обслуживания, управляемости Grid с помощью механизмов планирования, мониторинга заданий и устройств, учета и протоколирования.
К складывающемуся классу платформ можно отнести два европейских комплекса средств: DataGrid [3] и Unicore [4]. Первый из этих комплексов, разработанный в течение 2000 - 2003 годов, представляет для нас особый интерес, поскольку он становится стартовой программной базой проекта EGEE, в котором принимает участие и ИПМ РАН. Рассмотрение ПО DataGrid позволяет сделать заключение, что оно способно обеспечить функционирование Grid большого масштаба, но с определенными ограничениями по способу организации ресурсов и режиму их использования.
Функциональные возможности. Ядро ПО DataGrid составляет система WMS (Workload Management System), в которую входят следующие основные компоненты:
-
- User Interface. Пользовательский интерфейс на основе языка JDL;
-
- Resource Broker. Выполняет подбор ресурсов для исполнения запросов.
-
- CondorG. Выполняет удаленные операции по управлению заданиями на ресурсах.
-
- Logging and Bookkeeping. Службы протоколирования событий, генерируемых компонентами WMS и учета использования ресурсов.
-
- MyProxy. Служба, поддерживающая обновление доверительных сертификатов, используется для заданий с длительным выполнением.
-
- DataGrid Accounting System. Поддерживает экономические отношения между поставщиками и потребителями ресурсов.
Как видно из этого списка, DataGrid решает важнейшие для распределенной среды задачи, обеспечивая виртуализацию ресурсов, протоколирование, учет, поддержку отношений пре- доставления/потребления ресурсов в рамках общей архитектуры взаимодействующих между собой служб.
Обслуживаемый класс приложений. Основной класс – однопроцессорные вычислительные задания с большим временем счета. Поскольку в DataGrid помимо WMS интегрированы служба GridFTP и служба репликации файлов Replica Location Service, платформа способна обеспечивать работу с файлами большого объема.
Характеристика ресурсов . DataGrid рассчитана на кластеризованные ресурсы с любыми системами управления, с которыми имеет интерфейс Globus Toolkit. Способ выбора ресурсов для заданий основан на информации о количестве заданий в очередях кластерных систем управления и способен дать хорошие результаты при условии, что ресурсы функционируют в выделенном режиме, то есть полностью отчуждаются от владельцев. DataGrid использует информационную службу Globus Toolkit для распределенного мониторинга ресурсов.
Надежность обработки . Гарантируется завершение обработки запущенных заданий. Мониторинг задания и перезапуск в аварийных ситуациях осуществляется из точки запуска с помощью системы CondorG. Имеется аппарат прикладных контрольных точек, однако, автоматический рестарт не поддерживается.
Качество обслуживания . Способ планирования в DataGrid не позволяет получить точную оценку времени обработки заданий и тем самым качество обслуживания не регулируется.
Масштабируемость . Распределение заданий производится по централизованной схеме, оценки производительности серверов пока отсутствуют.
Платформа UNICORE имеет несколько особенностей, обусловленных тем, что с самого начала она предназначалась для обеспечения доступа к суперкомпьютерным центрам стран Центральной Европы. Unicore – одна из немногих оригинальных платформ, которая не использовала Globus Toolkit, и лишь в последнее время происходит трансформация ее протоколов в сторону общепризнанных для Grid.
Унифицированный интерфейс с вычислительными ресурсами - Unicore (UNiform Interface to COmputing REsources) предоставляет ученым и инженерам ресурсы суперкомпьютерных центров, объединенных в Grid, и делает их доступными через Интернет. Среда Grid UNICORE поддерживает высокий уровень безопасности, а аутентификация осуществляется совместимым между ресурсами и прозрачным для пользователей способом. Различия между платформами полностью скрыты, так что Unicore можно рассматривать как портал, открывающий бесшовный дистанционный доступ к суперкомпьютерам, компиляции и выполнению приложений и пересылке данных ввода-вывода.
Выигрыш, который получает пользователь UNICORE, - однородный доступ к разного рода системам, а значит, и больше возможностей по получению ресурсов. Вычислительные центры, применяющие UNICORE, смогут уменьшить количество документации для пользователей, а также более эффективно использовать свои вычислительные ресурсы.
Главные компоненты UNICORE:
-
- агент подготовки заданий (JPA);
-
- контроллер монитора заданий (JMC);
-
- сервер https UNICORE, также называемый шлюзом (Gateway);
-
- супервизор сетевых заданий (NJS);
-
- графический интерфейс пользователя, основанный на Java-аплетах.
Клиент UNICORE дает возможность потребителю создавать, представлять и управлять заданиями с любой рабочей станции или персонального компьютера, подключенных к Internet. Клиент соединяется с UNICORE через шлюз, который подтверждает подлинность клиента и пользователя перед контактированием с серверами UNICORE, которые, в свою очередь, управляют представленными UNICORE-заданиями. Задания, предназначенные для локальных компьютеров, выполняются на их пакетных подсистемах, те же, которые будут выполнены на удаленных узлах, передаются на просмотр шлюзу. Все необходимые передачи данных и синхронизации выполняют- ся серверами. Серверы также сохраняют информацию о статусе и результатах работы, передавая их клиентам по запросу пользователя. Компоненты третьей стороны, такие как Globus,могут быть интегрированы в структуру UNICORE для расширения его функциональности.
Свободно распространяемая платформа ARC (Advanced Resource Connector) разработана для проекта стран северной Европы (NorduGrid) и ориентирована на поддержку приложений физики высоких энергий (эксперименты LHC).
Основные архитектурные решения ARC следуют общепринятым подходам построения Grid. Используется организация ресурсов, аналогичная применяемой в EU DataGrid. Узлами инфраструктуры служат кластеры, управляемые системами пакетной обработки, или отдельные компьютеры. Узлы комплектуются элементами памяти (Storage Elements).
ARC обеспечивает следующие функции:
-
- информационная;
-
- включение ресурсов в Grid и их мониторинг;
-
- запуск и управление заданиями;
-
- брокеринг (распределение заданий по ресурсам);
-
- управление данными и ресурсами.
Все функции реализованы в виде служб, которые опираются на известные программные средства с открытым кодом OpenLDAP, OpenSSL и SASL. Реализация выполнена с помощью библиотек Globus Toolkit 2 (GT2), безопасность достигается путем использования протоколов и инфраструктурных решений GSI.
Отличительной особенностью NorduGrid ARC является то, что хотя эта платформа и опирается на протоколы GT2 и реализована посредством API GT2, в ней предложен собственный набор служб, заменяющий службы GT2. ARC не использует GRAM, утилиты управления заданиями, Gatekeeper и скрипты Job-manager, сервер Wuftp, схемы и информационные поставщики MDS. Для всего этого предложены собственные варианты:
-
- Grid Manager;
-
- gridftpd (ARC/NorduGrid GridFTP server);
-
- user Interface;
-
- Broker (“персональный” брокер, встроенный в пользовательский интерфейс);
-
- система мониторинга.
Кроме того, определена новая информационная схема и для нее разработаны поставщики данных, расширен язык описания ресурсов (xRSL). Таким образом, платформа ARC, хотя и построена на библиотеках GT2, это совсем не GT2, она имеет свой набор служб.
На ресурсном узле работают следующие программы ARC: Grid Manager, Gridftpd и информационные агенты. Служба Grid Manager локально запускает задание и контролирует процесс выполнения. Служба Gridftpd осуществляет дистанционный прием заданий, создавая для каждого отдельный каталог на все время обработки. На узлах работают также поставщики информации о состоянии ресурсов, собирающие данные и передающие их индексным службам, которые представляют собой упрощенный вариант базы данных GT2 GIIS и могут быть связаны в произвольную сетку: по связям происходит динамическое размножение информации. К индексным службам обращается пользовательский интерфейс (например, для выбора исполнительного узла) и Grid Manager.
Дистанционный запуск заданий производится посредством пользовательского интерфейса (UI), который представляет собой набор команд для запуска, мониторинга и управления заданиями, а также перемещения файлов и опроса информации о состоянии ресурсов. В состав UI входит Broker, функция которого – подбор наиболее подходящего ресурса для задания. Другой специальный клиент - Grid Monitor через любой Web-браузер периодически «опрашивает» распределенную информационную систему, представляя результаты в виде взаимосвязанных страниц.
При разработке ARC преследовалась цель создания ПО для производства, используя в качестве основного принципа максимально полную децентрализацию, поэтому на каждом рабочем месте пользователя Grid устанавливается персональный брокер, независимо подбирающий ресурсы для запускаемых заданий. Этот подход отличен от централизованный схемы EU DataGrid с единственным брокером на все рабочие места.
Инструментарий с открытым кодом Globus Toolkit был разработан Калифорнийским университетом и Аргоннской национальной лабораторией при поддержке ведущих компаний США и Японии. Отдельно следует отметить вклад корпорации IBM, которая участвует в проекте Globus и выпускает свой инструментарий GRID Toolbox, построенный на основе Globus Toolkit.
Globus Toolkit – это инфраструктура стандартов и инструментов. Основным стандартом в рамках проекта Globus является OGSA (Open Grid Services Architecture) - открытая архитектура вычислений учрежденческого уровня. Архитектура OGSA, созданная на концепциях и технологиях, разработанных специалистами в области Grid и Web-служб, определяет единую семантику представления служб, стандартные механизмы для создания, именования обнаружения экземпляров Grid-служб, обеспечивает прозрачность местонахождения и связывания различных протоколов и поддерживает интеграцию с базовыми механизмами нижележащих платформ. Разработка технической спецификации OGSA ведется в рамках форума Grid Global Forum. Пакет Globus Toolkit доступен для загрузки из Интернет в виде исходных текстов или дистрибутивов. IBM предоставляет GRID Toolbox в виде дистрибутивов, которые адаптированы под платформы pSeries, zSeries и xSeries. Глобус (The Globus Toolkit™) основан на четырёх основных протоколах:
-
- Уровень связи:
защищённость: Grid Security Infrastructure (GSI).
-
- Уровень ресурсов:
управление ресурсами: Grid Resource Allocation Management (GRAM).
-
- Информационный сервис: Grid Resource Information Protocol (GRIP).
-
- Пересылка данных: Grid File Transfer Protocol (GridFTP).
Заслуживает внимания появление, наряду со свободно распространяемыми платформами, целого ряда коммерческих продуктов для глобально распределенных вычислений: DCGrid, LiveCluster, GridMP, Frontier , выпущенных соответственно компаниями Entropia, DataSynapse, United Devices и Parabon Computation. Эти продукты квалифицируются производителями как платформы для Grid, и с этим, в общем, трудно не согласиться, поскольку они направлены на решение задач Grid (обеспечение скоординированного доступа к глобально распределенным ресурсам в рамках виртуальной организации) и поддерживают полный цикл обработки заданий в распределенной инфраструктуре.
Применяемый в коммерческих платформах подход имеет ряд особенностей. Прежде всего это касается организации ресурсной составляющей Grid. В платформах, основанных на Globus Toolkit, узлы Grid являются многомашинными комплексами, которые находятся в автономном административном домене, связаны локальной сетью и управляются системой пакетной обработки, играющей роль менеджера ресурсов (МР). В коммерческих же платформах узлы могут быть элементарными, то есть каждый узел – это компьютер, на который для подключения в Grid устанавливается компактный агент, выполняющий функции запуска заданий, мониторинга, защиты и контактов с управляющим центром (Grid-сервером).
Различие в типах ресурсов сказывается на архитектуре поддерживаемых Grid. Коммерческие платформы можно назвать вертикально интегрированными из-за того, что в них узлы - глобально распределенные компьютеры – недоступны для прямого запуска заданий, а интегрируются через управляющий центр, который, с одной стороны, представляет собой точку доступа ко всем ресурсам, а, с другой, выполняет функции МР, управляя ресурсами и виртуализируя их. Можно провести аналогию вертикально интегрированного Grid с кластерной архитектурой, но со следующим важным отличием: обрабатывающие узлы могут быть глобально распределены и принадлежать разным владельцам.
В коммерческих платформах предложен ряд новых программных решений, направленных на поддержку такого режима использования ресурсов, когда они не отчуждаются от владельцев. В этих условиях задачи Grid усложняются, так как ресурсная составляющая не является ни надежной (машины могут выключаться и перезагружаться), ни безопасной (посторонние лица могут иметь дистанционный или прямой доступ к машине), ни предсказуемой (в любой момент машина может быть полностью занята владельцем). В связи с этими проблемами разработаны специальные методы. Безопасность, например, рассматривается в трех аспектах: защита владельца ресурса, защита конфигурации машины, защита приложения Grid, и обеспечивается механизмами “изоляции” приложений в виртуальной исполнительной среде.
Два вида платформ с вертикальной интеграцией (коммерческие платформы) и с горизонтальной интеграцией на основе стандартов дистанционного взаимодействия в архитектуре Grid-служб OGSA, можно, наверное, рассматривать как несводимые альтернативы. Однако более продуктивным представляется взаимное сближение на основе как межплатформенной интероперабельности, так и интеграции конкретных механизмов и функций. Фактически сближение уже началось, это проявляется, например, в том, что перечисленные выше компании-разработчики в той или иной степени принимали участие в подготовке стандарта OGSA и имеют планы перевести свои частные протоколы взаимодействия в архитектуру Grid-служб.
Характеристики программных пакетов
Программные пакеты |
Характеристика |
DataGrid |
Предоставляет конечному пользователю прозрачный доступ к пространственно распределенным вычислительным ресурсам и хранилищам данных, организованным в виде независимых сайтов. Структура сайтов унифицирована. DataGrid рассчитана на кластеризованные ресурсы с любыми системами управления, с которыми имеет интерфейс Globus Toolkit. Способ выбора ресурсов для заданий основан на информации о количестве заданий в очередях кластерных систем управления. |
Globus Toolkit |
Неготовое решение, это инфраструктура стандартов и инструментов. Обеспечивает прозрачность местонахождения и связывания различных протоколов и поддерживает интеграцию с базовыми механизмами нижележащих платформ |
ARC- Grid |
Узлами инфраструктуры служат кластеры, управляемые системами пакетной обработки, или отдельные компьютеры. Узлы комплектуются элементами памяти. Использует в качестве основного принципа максимально полную децентрализацию, поэтому на каждом рабочем месте пользователя Grid устанавливается персональный брокер, независимо подбирающий ресурсы для запускаемых заданий. Этот подход отличен от централизованный схемы DataGrid с единственным брокером на все рабочие места. |
UNICORE Grid |
Единый и легкий в использовании графический интерфейс пользователя, открытая архитектура, основанная на понятии абстрактного задания, целостная архитектура защиты, минимальная зависимость от локальных административных процедур, эксплуатация существующих и находящихся на стадии становления технологий, основанных на стандарте Java и Web-технологиях. |
Заключение. Большая часть программных систем для Grid, хотя и разрабатывалась различными коллективами, основывалась на стандартах Globus Toolkit (эволюционировавших в архитектуру Grid-служб OGSA), и вследствие этого они оказалась хорошо совместимыми друг с другом. Реализованный в Globus Toolkit механизм поддержки контекста безопасности, основанный на доверительной передаче прав доступа, рассчитан на произвольное количество шагов обработки задания. Оправданность и предусмотрительность такого решения была доказана при реализации всех систем серверного обслуживания, основанных на Globus Toolkit.
Список литературы Программные пакеты обеспечения параллельных вычислений
- Foster I., Kesselman C., Tuecke S. The Anatomy of the Grid: Enabling Scalable Virtual Organizations. International Journal of High Performance Computing Applications. http://www.globus.org/research/papers/anatomy.pdf.
- Foster I., Kesselman C., J. Nick, Tuecke S. The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration. http://www.globus.org/research/papers/ogsa.pdf
- Graham S., Simeonov S., Boubez T., Daniels G., Davis D., Nakamura Y., Neyama R. Building Web Services with Java: Making Sense of XML, SOAP, WSDL, and UDDI, 2001.
- Graupner S., Pruyne J., Singhal S. Making the Utility Data Center a Power Station for the Enterprise Grid, HP Laboratories Palo Alto. http://www.hpl.hp.com/techreports/2003/HPL-2003-53.pdf