Необходимые расширения:
- Средства выделения ресурсов, в частности, механизм резервирования. На него опирается слой кооперации: без резервирования невозможен запуск параллельных заданий. Один из вариантов резервирования реализован в планировщике Maui [17], который может использоваться вместе с наиболее употребительными в Грид системами пакетной обработки.
- Средства мониторинга оборудования.
- Для эффективного планирования распределения заданий в Грид (см. слой координации) требуются средства контроля за происходящими в системе управления событиями (освобождение ресурсов, запуск / завершение заданий) и средства получения информации, на основе которой может предсказываться ход обработки заданий.
· Ресурсы внешней памяти.
Поддерживаются в основном файловыми системами ОС. Системы массовой памяти снабжаются дополнительными патентованными пакетами ПО от производителей.
Необходимые расширения:
- Высокопроизводительная передача данных, на основе многопоточности [18].
- Оптимизация чтения / записи фрагментов файлов.
- Возобновляемая передача файлов.
- Передача файлов с фильтрацией и редуцированием содержания [19].
- Управление локальными ресурсами, которые используются для передачи данных: оперативной памятью под буферы обмена, шириной сетевой полосы, процессором.
- Опрос состояния: общей емкости, свободного пространства, гарантированной скорости передачи, временной задержки.
- Предварительное резервирование ресурсов и управление квотами памяти.
- Прозрачные интерфейсы для подключения локальных ресурсов к глобальной файловой системе.
· Сетевые ресурсы.
Поддерживаются протоколами слоя связи.
Необходимые расширения:
- Управление сетевым трафиком на основе приоритизации и резервирования.
- Средства опроса характеристик сети и текущей загрузки.
· Каталоги.
В среде Грид каталоги используются для хранения информации о составе, характеристиках и состоянии ресурсов. Практически во всех локальных системах управления ресурсами реализованы частные системы хранения, подчас не имеющие открытых внешних интерфейсов. В качестве унифицированного информационного интерфейса Грид применяется протокол распределенных директорий LDAP [20]. Этот протокол рассчитан на поддержку иерархической модели данных, между тем как в приложениях Грид необходимы каталоги с более развитой информационной структурой.
Необходимые расширения:
- Унифицированные протоколы для поддержки баз данных (БД) различных типов - реляционных и объектных.
- Средства управления схемами БД в условиях быстро растущего числа типов данных.
- Повышение эффективности поиска и обновления информации.
- Поддержка сложных поисковых запросов по нескольким связанным объектам.
- Хранение и обработка массивов однородных данных.
· Хранилища программных кодов.
Поддержка управления программными кодами в операционных системах осуществляется утилитами типа Configure и Make.
Необходимые расширения: для гетерогенной среды Грид нужна система управления зависящими от платформы версиями исходного, объектного и исполняемого кода. На этой основе может быть построена система мобильной, то есть рассчитанной на разные платформы, подготовки заданий и программ. Для локальной среды сетевого кластера с распределенной файловой системой такого рода средство (пакет Metamake) предложено в [21].
5. Слой связи
Слой связи объединяет протоколы коммуникации и безопасности, образуя унифицированную базу сетевых транзакций для всех вышележащих слоев ПО Грид.
Протоколы коммуникации обеспечивают передачу данных, маршрутизацию и именование. В настоящее время эти протоколы основаны на стандартном стеке TCP/IP: транспортный уровень (TCP, UDP), уровень Интернет (IP, ICMP), прикладной уровень (DNS, OSPF, RSVP, и т.д.). В рассматриваемом далее слое кооперации ПО Грид уже возник ряд задач: массовая рассылка сообщений, резервирование пропускной полосы, ранжирование потоков по приоритетам, - для которых, по-видимому, потребуются протоколы нового поколения типа IPv6.
Протоколы безопасности, составляющие Инфраструктуру безопасности Грид (GSI), надстроены над коммуникационными. Решаются задачи аутентификации, защиты сообщений и авторизации. Реализация протоколов безопасности выполнена в виде расширения протокола TLS (Transport Layer Security) [22] и основана на криптографических алгоритмах и технологии открытых ключей. Для идентификации пользователей и ресурсов используются сертификаты стандарта X.509 [23]. Управление авторизацией осуществляется посредством интерфейса Generic Authorization and Access (GAA) [24]. Этот интерфейс позволяет интегрировать в инфраструктуру Грид различные локальные политики безопасности, основанные, например, на текстовых паролях или системе Kerberos [25].
Протоколы безопасности удовлетворяют следующим необходимым требованиям:
· однократная регистрация пользователя в Грид;
· делегирование полномочий программам и сервисам, выполняющимся от имени пользователя.
Необходимые расширения:
- Для поддержки GSI требуется программно-организационная инфраструктура управления сертификатами: иерархия сертификационных центров выдачи, обновления и отзыва сертификатов (самая тяжелая проблема), однако соответствующего стандартизованного ПО нет.
- Имеется существенный недостаток в современном способе авторизации. Пользователь должен быть зарегистрирован в операционной системе каждого доступного ему компьютера и прописан в специальном конфигурационном файле (Gridmap-file) ресурса. Для открытой и масштабной Грид этот способ представляется неудовлетворительным и требует развития.
6. Слой доступа к ресурсам
Слой доступа, надстроенный над слоем связи, определяет ряд протоколов и программных интерфейсов (API), которые делают возможным использование ресурсов Грид повсеместно. С помощью средств этого слоя производится поиск ресурсов, а также дистанционная инициация, мониторинг и управление операциями. В отличие от кооперативного, слой доступа ограничен возможностью работы с индивидуальными ресурсами - без какого-либо учета глобального состояния Грид.
В слое реализованы два типа протоколов: информационные и управляющие.
Два информационных протокола [14] базируются на LDAP (Lightweight Directory Access Protocol). Сервисы первого из них - GRIP (Grid Resource Information Protocol) устанавливаются на каждом ресурсе и собирают данные о его характеристиках (конфигурация, платформа) и состоянии (текущей нагрузке). Информационная модель GRIP расширяема и позволяет, в принципе, представлять произвольные данные. Распределенная модель поддерживается вторым протоколом - регистрации ресурсов GRRP (Grid Resource Registration Protocol). Посредством GRRP сведения о наличии и местоположении GRIP сообщаются серверу GIIS (Grid Index Information Server), на который впоследствии подкачиваются данные со всех зарегистрированных серверов GRIP.
Направления развития:
Недостатки реализованного подхода обусловлены тем, что базовый протокол LDAP ориентирован на работу с медленно меняющейся и слабо структурированной информацией. Так, язык запросов LDAP не может дать результат при необходимости вычислений на двух разных объектах в информационной схеме, или выражаясь на реляционном языке, когда нужна операция объединения (join). В рамках схемы GRIP - GRRP протокол GRIP должен:
- поддерживать информационную модель с иерархией типов данных и возможностями их связывания;
- допускать использование в качестве каталогов реляционных баз данных;
- предусматривать язык запросов, соответствующий потребностям слоев кооперации и координации, поддерживающий, в частности, составные запросы.
Поясним последний пункт на примере запроса по поиску ресурсов при запуске задания. Сейчас языковый запрос (полностью унаследованный от LDAP) позволяет записать требования к ресурсам в виде пар отношений <имя ресурса> - <минимальное допустимое значение>. Во-первых, должно быть стандартизовано множество типов ресурсов (по-видимому, оно должно быть расширяемым). Во-вторых, язык должен позволять описывать временную последовательность использования ресурсов (доставка файлов - вычисления - сетевой обмен). В-третьих, должны быть обеспечены способы описания параллельных заданий, для которых нужна совокупность ресурсов.
Нуждается в совершенствовании и модель распределенного хранения GRRP - сейчас реализована лишь полная интеграция локальных информационных баз на индексный сервер, между тем как LDAP поддерживает распределенный поиск без физической интеграции данных.
Не решен вопрос наполнения информационных баз. В соответствии с архитектурой наполнение (и обновление) должно происходить автоматически программами-поставщиками статусной информации. Реально эти программы (относящиеся к слою адаптации ресурсов) разработаны только для вычислительных ресурсов, причем, не вполне ясно, те ли это данные - можно ли по ним выбирать ресурсы.
Управляющие протоколы позволяют удаленно выполнять операции на ресурсе, такие, например, как запуск процесса или передача файла.
· Для вычислительных ресурсов реализован протокол GRAM (Grid Resource Access and Management), базирующийся на протоколе HTTP. Он позволяет:
- запустить / снять задание, создать для него программную среду,
- получить информацию о статусе задания (ожидание, выполнение),
- доставить выходной поток данных выполняющейся программы удаленному пользователю.
· Для ресурсов внешней памяти. В стадии реализации находится протокол передачи файлов GridFTP [26]. Он является серьезным шагом вперед в сравнении с предшествовавшими средствами, обеспечивая безопасность в соответствии со слоем связи, доступ к частям файлов, параллельную многопотоковую передачу, отдельные каналы для управления и передачи данных, возобновляемость.
Необходимые расширения:
- Расширение номенклатуры управляемых ресурсов.
- Введение механизмов для расширения состава функций, в частности требуются функции выделения ресурсов и их предварительного резервирования.
- Перестройка протоколов в соответствии с общей архитектурой сервисов OGSA.
7. Слой кооперации
Кооперативный слой, строится над слоем удаленного доступа, но, в отличие от последнего, позволяет взаимодействовать не с индивидуальным ресурсом, а с их совокупностью. На этом уровне Грид рассматривается уже как организованная среда. К этому уровню можно отнести следующее ПО.
· Сервис директорий (GIIS) содержит информацию обо всех ресурсах Грид. Таким образом, для поиска ресурсов с нужными свойствами достаточно направить запрос в одну точку, а не опрашивать каждый ресурс по отдельности. Способ наполнения сервера GIIS, описанный в предыдущем разделе, заключается в периодическом обновлении информации путем опроса зарегистрированных по протоколу GRIP сервисов ресурсов. Последняя версия (MDS-2) информационной архитектуры Globus рассмотрена в работе [14].
· Сервис коаллокации. Применяется для локализации и заказа глобально распределенного комплекса ресурсов. Этот сервис нужен для запуска больших параллельных заданий. Попытка его реализации была предпринята в системе Globus (комплекс Duroc), но заложенные в нем принципы оказались не работоспособными. Пока это открытая тема, решение которой упирается в два вопроса. Первое, нужна поддержка резервирования в слоях адаптации ресурсов и доступа к ресурсам. Второе, нужно расширение языка запросов, на основе которого можно бы было выбирать оптимальное множество ресурсов с точки зрения эффективности выполнения распределенного приложения.
· Сервис брокеров. Слой доступа к ресурсам содержит сервисы для запуска заданий, проверки статуса, доставки выходных данных. От сервиса брокеров ожидаются дополнительные возможности:
- Для поиска ресурсов брокер использует один или несколько серверов GIIS. При поиске учитывается доступность ресурса для данного пользователя.
- Обеспечивается надежный запуск заданий: если задание прервалось по не зависящим от него причинам (сбой машины или сети), оно запускается заново.
- Ведется протокол запуска заданий, доступный как владельцу задания, так и администраторам ресурсов.
- Производится доставка файлов на исполнительный ресурс, при этом учитывается репликация файлов.
- Производится выделение и резервирование ресурсов.
Работы по брокерам были начаты в смежных с Грид областях. Упомянем AppLeS [27], Condor-G [28], Nimrod-G [29] и DRM [30], однако каждый из этих брокеров направлен на решение отдельного вопроса, например, AppLeS - на оптимизацию использования ресурсов в отдельном задании, а, кроме того, все они слабо интегрированы в среду Грид. В нашем проекте [31] и системе GRB (Grid Resource Broker) [32] проекта DataGrid решается большинство из перечисленных выше вопросов, но уже на базе сервисов Грид.