Появление нового ПО грид



Ближайшие перспективы

На повестке дня стоит появление нового поколения программного обеспечения грид (ГПО). Ожидания связаны с двумя разработками: Globus Alliance готовит версию 4.0 комплекса Globus Toolkit, а рабочая группа JRA1 проекта EGEE собирается выпустить комплекс gLite, читается "gee-lite".

Есть два основания, чтобы говорить о смене поколений ГПО: во-первых, происходит переход к стандартам открытой архитектуры служб OGSA, и, во-вторых, новое ГПО помимо инструментальных средств будет включать комплект служб, которые не только поддерживают дистанционные операции (запуск заданий, передача файлов), но и обеспечивают функционирование грид как операционной среды (мониторинг аппаратно-программной инфраструктуры, слежение за заданиями, распределение ресурсов и т.д.).

Хотя концепция OGSA была сформулирована еще в 2002 году [1], ее проведение в жизнь оказалось довольно трудным. OGSA ввела понятие грид-служб как основной формы программных компонентов распределенных систем и поставила задачу стандартизации взаимодействия грид-служб. Соответствующие спецификации были разработаны в предложениях по инфрастуктуре грид-служб OGSI [2] и реализованы в Globus Toolkit 3. Далее история развивалась таким образом, что OGSI был пересмотрен, и новый подход получил название WSRF – Web-services Resource Framework [3].

Основным мотивом трансформации OGSI в WSRF стал поиск компромисса между технологиями грид- и Web-служб, что важно прежде всего с практической точки зрения, так как облегчается перевод уже имеющихся Web-приложений на технологии грид, а с другой стороны открывается возможность использования в грид развитого инструментария. Решение, предложенное в WSRF, представляет собой надстройку над Web-службами, расширяющими их возможности средствами работы с запоминающими состояние (stateful) ресурсами: WSRF – это пять дополняющих стандарты Web-служб спецификаций, которые позволяют устанавливать связь между Web-службами и ресурсами.

Теперь на очереди появление первых реализаций WSRF. В Globus Toolkit 4.0 и gLite это, соответственно, WS Core и WSRF::Lite. Эти компоненты содержат контейнеры (среда функционирования) для грид-служб, а также API и средства их разработки. Располагая реализацией WSRF, программисты, в том числе прикладные, получат инструментарий для создания служб со стандартными интерфейсами и компоновки из них распределенных приложений.

Вторая отмеченная особенность нового ГПО – расширенный комплект служб. Версии Globus Toolkit с первой по третью содержали лишь службы для выполнения дистанционных операций, однако грид – это пространственно распределенная инфраструктура, выполняющая роль операционной среды для различных приложений. Как подтверждает практика, чтобы эта среда сохраняла свойства обычных компьютерных систем, в ней необходимо решение задач обеспечения надежности, детерминированности, качества обслуживания, управляемости, и они начинают реально решаться службами планирования, мониторинга заданий и устройств, учета, протоколирования и т.д.


Globus Toolkit 4.0

Globus Toolkit 4.0 (GT 4) находится на заключительной стадии реализации. Выпуск стабильного релиза GT 4 Final назначен на 31 января 2005, после чего все внешние интерфейсы будут зафиксированы.

На сайте Globus Alliance приводится
описание состава служб GT 4 (Рис. 1), сведения о них, планы и состояние реализации.



Рис. 1. Компоненты Globus Toolkit 4.0


gLite

Даже учитывая появление в Globus Toolkit 4 новых служб (CAS, RLS), следует признать, что главное направление его развития – средства разработки и поддержки служб. Основное отличие комплекса gLite в том, что помимо инструментальных средств, в него входит более широкий набор служб. gLite существенно опирается на опыт ряда крупных европейских проектов: EDG, LCG, Alien, Nordugrid и создается коллективно – в его разработке участвуют более 80 специалистов из 11 исследовательских центров. gLite должен стать основным ГПО проекта EGEE, придя на смену комплексу LCG-2.

Приведем обзор основных подсистем gLite.

Вычислительный элемент (Computing Element – CE) – это служба, представляющая ресурсный узел грид и выполняющая на нем функции управления заданиями (запуск, удаление и т.д.). Обращения к CE могут исходить либо от интерфейса пользователя, либо от Менеджера загрузки (Workload Manager –WM), который распределяет задания по множеству CE. В gLite функциональность CE расширена по сравнению с аналогичной службой LCG-2. Если в LCG-2 CE может работать только в соответствие с Push моделью (WM самостоятельно принимает решение о посылке задания на CE), то в gLite возможен режим работы CE также и в Pull модели, когда CE запрашивает задание у WM.

Помимо функций управления заданиями CE также вырабатывает информацию о состоянии ресурсов. В Push модели ее публикует информационная служба, и она используется WM для выбора CE, на котором будет запускаться задание. В Pull модели информация встраивается в посылаемое WM сообщение "CE доступен".

Подсистема управления данными (Data Management Subsystem - DM) включает три службы, поддерживающие доступ к файлам: элемент памяти (Storage Element – SE), службы каталога (Catalog Services – CS) и диспетчер данных (Data Scheduling –DS). Все службы работают с данными на файловом уровне, в противоположность, например, системам баз данных, которые оперируют такими элементами как записи и поля.

В распределенной среде грид пользовательские файлы могут храниться во множестве экземпляров – реплик, размещенных в разных местах, и задача CS и DS состоит в том, чтобы сделать процесс управления репликами прозрачным для пользователя, так чтобы приложения получали доступ к файлам по их именам или дескрипторам метаданных.

Доступ к данным файлов реально происходит через SE, но DM поддерживает также концепцию виртуальных наборов данных. Это открывает новые интересные возможности, основанные на абстракции глобальной файловой системы: при навигации по файлам клиентское приложение может быть устроено как командная оболочка Unix, используя команды смены директорий, просмотра файлов и т.п. Защита файлов обеспечивается в DM списками контроля доступа ACL (Access Control Lists).

Подсистема учета (Accounting Subsystem - DGAS) аккумулирует информацию об использовании ресурсов грид отдельными пользователями, группами пользователей и виртуальными организациями. Собранная информация позволяет построить общую картину деятельности в грид, на основе которой может формироваться политика распределения ресурсов и взиматься плата за их использование.

Подсистема протоколирования (Logging and Bookkeeping - LB) отслеживает выполняющиеся в разных точных грид шаги обработки задания, фиксируя происходящие с ним события (запуск, распределение на подходящий CE, начало выполнения и т.д.) и запоминая их. Информация о событиях (протокол) поставляется компонентами WM и CE, для чего в эти компоненты встраиваются обращения к LB.

Протоколы собираются в два приема. Вначале события передаются в локальную службу (Locallogger) и записываются в файл на диске. Locallogger отвечает за передачу протокола одному из серверов хранения (Bookkeeper), который "укрупняет" события, давая общую картину изменения состояний задания (Submitted, Running, Done…). Помимо того, Bookkeeper сохраняет различные атрибуты задания: его описание (JDL); CE, на котором оно выполнялось; коды завершения и т.д. Как протокол состояний, так и протокол событий можно получить либо с помощью специального интерфейса WM, либо через уведомления при определенных изменениях состояния, например, при окончании задания.

Подсистема информационного обслуживания и мониторинга грид (Relational Grid Monitoring Architecture -
R-GMA) решает задачу сбора и управления данными о состоянии грид, получая информацию от множества распределенных источников – поставщиков. В ее основе лежит разработанная одной из групп Global Grid Forum (GGF-PERF) схема "Потребитель-Поставщик" [4], описывающая способ взаимодействия этих компонентов. Поскольку схема достаточно общая, она применима как для хранения данных о грид (какие ресурсы и службы доступны, каковы их характеристики), так и для мониторинга приложений.

R-GMA представляет собой реляционную реализацию этого общего подхода. При наличии множества распределенных поставщиков с точки зрения информационных запросов R-GMA действует как одна большая реляционная база данных. "Реляционность" проявляется в форме представления данных: поставщики объявляют о составе публикуемой информации посредством конструкции SQL CREATE TABLE, публикуют ее посредством SQL INSERT, а потребители получают данные через SQL SELECT.

Подсистема управления загрузкой (Workload Management System - WMS) состоит из ряда компонентов, ответственных за распределение заданий между ресурсами грид, а также обеспечивающих управление заданиями. Центральной компонентой является Менеджер загрузки (WM), который получает от своих клиентов запросы по управлению заданиями. В частности, обрабатывая запрос типа "запуск" WM определяет подходящий для выполнения CE, принимая во внимание требования и предпочтения, заданные в описании задания.

О будущей системе безопасности известно немного. Она рассматривается как средство защиты Web-служб и будет реализовываться в виде дополнительных модулей, размещаемых в контейнерах (Apache Axis, Tomcat). Разработаны предложения по архитектуре безопасности:
https://edms.cern.ch/document/487004/ и сформулированы основные цели: модульность, расширяемость, соответствие развивающимся стандартам Web-служб (WS-Security).

Состояние разработки gLite

05/04/2005 выпущена версия gLite v. 1.0. Комплект документации находится по адресу: http://glite.web.cern.ch/glite/documentation

Опубликованы также две следующие спецификации gLite:
  1. Описание архитектуры
  2. Проект системы


[1]. 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
[2]. Open Grid Services Infrastructure (OGSI) V1.0
http://forge.gridforum.org/projects/ggf-editor/document/draft-ogsi-service-1/en/1
[3]. Czajkowski K., Ferguson D., Foster I., Frey J., Graham S., Maguire T., Snelling D., Tuecke S. From Open Grid Services Infrastructure to WSResource Framework: Refactoring & Evolution. Version 1.1, 3/05/2004.
http://www.globus.org/wsrf/specs/ogsi_to_wsrf_1.0.pdf
[4]. B. Tierney, R. Aydt, D. Gunter, W. Smith, M. Swany, V. Taylor, R. Wolski. A Grid Monitoring Architecture. GGF Performance Working Group. March 2000. Revised 16-January-2002.
http://www-didc.lbl.gov/GGF-PERF/GMA-WG/papers/GWD-GP-16-2.pdf.