Программные пакеты обеспечения параллельных вычислений

Бесплатный доступ

Развитие технологий 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
Статья научная