автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Принципы построения грида с использованием RESTful-веб-сервисов

кандидата физико-математических наук
Шамардин, Лев Витальевич
город
Москва
год
2011
специальность ВАК РФ
05.13.11
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Принципы построения грида с использованием RESTful-веб-сервисов»

Автореферат диссертации по теме "Принципы построения грида с использованием RESTful-веб-сервисов"

Шамардин Лев Витальевич

Принципы построения грида с использованием НЕвТМ-веб-сервисов

Специальность 05.13.11 — математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей.

Автореферат

диссертации на соискание ученой степени кандидата физико-математических наук

Москва 2011

2 4 ПАР 2011

4841161

Работа выполнена в отделе теоретической физики высоких энергий Научно-исследовательского института Ядерной Физики имени Д.В. Скобельцина Московского Государственного Университета имени М.В. Ломоносова

Научный руководитель:

кандидат физико-математических наук Крюков Александр Павлович.

Официальные оппоненты:

доктор технических наук, профессор Бухановский Александр Валерьевич,

Санкт-Петербургский Государственный Университет Информационных Технологий, Механики и Оптики (СПбГУ ИТМО);

доктор физико-математических наук, член-корреспондент РАН Воеводин Владимир Валентинович,

Научно-исследовательский вычислительный центр Московского Государственного Университета имени М.В. Ломоносова (НИВЦ МГУ).

Ведущая организация:

Учреждение Российской академии наук

Институт прикладной математики им. М.В. Келдыша РАН

Защита диссертации состоится «08» апреля 2011 года в 15 часов на заседании диссертационного совета Д 501.002.09 Московского государственного университета имени М.В. Ломоносова по адресу 119991, г. Москва, Ленинские горы, д. 1, стр. 4, НИВЦ МГУ, конференц-зал.

С диссертацией можно ознакомиться в библиотеке НИВЦ МГУ. Автореферат разослан «04» марта 2011 года

Ученый секретарь

диссертационного совета

Суворов В.В.

Общая характеристика работы

Актуальность работы

В настоящее время все большее распространение приобретает использование суперкомпьютеров и вычислительных кластеров для расчетов, связанных с решением задач моделирования в различных научных областях: исследование свойств новых материалов, моделирование погодных явлений, исследования процессов термоядерного синтеза и формирования галактик, моделирование в областях биофизики и биохимии, поиск новых лекарств, анализ экспериментальных данных в физике элементарных частиц. Массовое использование технологий высокопроизводительной обработки данных радикально сокращает затраты на реализацию самых передовых и самых сложных проектов. Суперкомпьютеры позволяют ускорить расчеты, делая возможным практическое применение более точных и всесторонних математических моделей. Развитие суперкомпьютерных технологий и организация их эффективного использования является одним из приоритетных научных направлений Российской Федерации.

Проведение расчетов на суперкомпьютерах связано с решением большого количества технических и организационных задач, связанных с обеспечением доступа к ресурсам и повышением эффективности их использования. В настоящее время получили развитие концепции грида и грид-вычислений, направленные на обеспечение удаленного доступа к географически распределенным вычислительным ресурсам и услугам, поэтому представляется перспективным их использование для организации удаленной работы на суперкомпьютерах. С помощью грида от конечного пользователя скрываются подробности внутреннего устройства вычислительных ресурсов, предоставляя ему унифицированный способ доступа к этим ресурсам. Существующие в настоящее время стандарты и методы в области грид-вычислений на основе спецификации WSRF используют достаточно сложные в реализации программные интерфейсы веб-сервисов, требующие, как правило, специальных библиотек или средств автоматической генерации программного кода. В последнее время активно развиваются альтернативные подходы к созданию веб-сервисов, основанные на архитектурном стиле REST («RESTful-веб-сервисы»). Разработка методов создания грид-сервисов на основе таких подходов позволяет упростить интерфейсы грид-сервисов, тем самым расширяя возможности их прямого использования прикладными программами.

Важными проблемами, связанными с использованием гридов, являются распределение выполняемых задач между узлами сети, а также автоматизация сложных вычислений, состоящих из отдельных независимых шагов, являющихся, обычно, самостоятельными вычислительными задачами. Для их выполнения используются грид-сервисы, обеспечивающие «оркестровку»,

то есть последовательный или одновременный запуск отдельных шагов композитной задачи в соответствии с заданной логикой и отслеживание процесса их выполнения. Такие грид-сервисы выполняют центральную роль во многих существующих грид-проектах. Разработка грид-сервиса, обеспечивающего запуск задач, и имеющего простой и надежный программный интерфейс, построенный на основе новых методов, базирующихся на архитектурном стиле REST является важной прикладной задачей и хорошей проверкой практической ценности и эффективности предложенных методов.

Цель и задачи исследования

Основными целями данной диссертационной работы являются:

— разработать подход к созданию грид-сервисов, позволяющий создавать простые для проектирования, удобные для реализации и надежные в использовании интерфейсы прикладного программирования, не требующие специальных средств для разработки клиентских программ;

— реализовать грид-сервис запуска композитных заданий, имеющий удобный интерфейс прикладного программирования, построенный на разработанном подходе, обеспечивающий эффективное управление потоками заданий в гриде Национальной Нанотехнологической Сети (ГридННС);

— провести практические испытания разработанных программных средств на полигоне грид-инфраструктуры.

Положения, выносимые на защиту

1. Разработан новый подход к созданию грид-сервисов с использованием архитектурного стиля REST, который позволяет создавать простые для реализации интерфейсы прикладного программирования, не требующие использования специальных средств для разработки клиентских и серверных программ. Важными свойством нового подхода является универсальность форматов представлений ресурсов, упрощенная модель восстановления при сбоях и концептуальная простота. Впервые рассмотрен вопрос управления циклом существования ресурсов для сервисов такого типа.

2. Реализован грид-сервис запуска композитных заданий Pilot, имеющий интерфейс прикладного программирования, следующий разработанному подходу, предназначенный для управления потоками композитных заданий, имеющих структуру направленных ациклических графов.

3. Проведены тестовые испытания грид-сервиса запуска композитных заданий Pilot в рамках полигона ГридННС, подтверждающие правильность предложенного подхода. В процессе опытной эксплуатации на полигоне ГридННС грид-сервис Pilot продемонстрировал высокую производительность. Грид-сервис Pilot является законченным программным продуктом, использующимся в настоящее время на полигоне ГридННС.

Научная новизна

В диссертации впервые сформулированы методы разработки грид-сервисов с использованием архитектурного стиля REST, в том числе универсальные методы управления временем жизни ресурсов RESTful-веб-сервисов. Обобщены существующие лучшие методики и на их основе даны строгие формулировки принципов построения грид-сервисов с использованием RESTful-веб-сервисов. Предложенный подход позволяет обеспечить универсальность форматов представлений ресурсов, упрощенную модель восстановления при сбоях и концептуальную простоту реализации. Таким образом, становится возможным создание удобных и надежных интерфейсов прикладного программирования, не требующих использования специальных средств или библиотек как для разработки клиентских программ так и самих грид-сервисов.

Практическая значимость работы

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

На основе предложенных методов разработан новый грид-сервис запуска композитных заданий, названный «Pilot», который используется в существующем гриде национальной нанотехнологической сети для запуска композитных заданий и контроля за их выполнением. Реализованный грид-сервис является модульным решением, которое позволяет применять его не только в инфраструктуре ГридННС, но и в других гридах и е-инфраструктурах, поддерживающих совместимые интерфейсы грид-шлюзов суперкомпьютеров. Кроме того, имеющаяся реализация может быть легко расширена для использования альтернативных интерфейсов грид-шлюзов, что обеспечивает ее интеграцию в другие гриды.

Разработка данного сервиса была выполнена в связи с потребностью в надежном грид-сервисе запуска композитных заданий, который имел бы достаточно удобный для использования интерфейс прикладного программирования, не привязанный к конкретным средствам разработки программного обеспечения или библиотекам. Работоспособность предложенных решений проверялась на практике на полигоне проекта ГридННС. Реализованный в

рамках работы грид-сервис прошел испытания и используется в инфраструктуре проекта ГридННС.

Личный вклад автора

Личный вклад автора состоит в формулировке предлагаемых в диссертации оригинальных методов построения грид-сервисов, разработке форматов описания композитных заданий и задач, разработке интерфейса прикладного программирования грид-сервиса Pilot и последующей реализации грид-сервиса Pilot.

Основное содержание диссертационной работы и ее результатов полностью отражено в четырех научных публикациях автора. В материалах совместных публикаций, за исключением публикации [4], личный вклад автора является определяющим. В публикации [4] личный вклад автора заключается в разработке технологических требований к регистрационным центрам инфраструктуры публичных ключей, используемой для надежной аутентификации запросов к грид-ссрвисам, а также практической проверке всех требований, приведенных в разделе 3 публикации.

Апробация работы

Работа обсуждалась и получила положительную оценку на следующих научных семинарах:

— на научном семинаре отделения Программирования Института Прикладной Математики имени М.В. Келдыша Российской Академии Наук (16 февраля 2010 г.);

— на научном семинаре Parallel.ru Научно-Исследовательского Вычислительного Центра Московского Государственного Университета имени М.В. Ломоносова (15 марта 2010 г.);

— на научном семинаре «Проблемы современных информационно-вычислительных систем» Механико-Математического Факультета Московского Государственного Университета имени М.В. Ломоносова под руководством д.ф.-м.н., проф. В. А. Васенина (16 ноября 2010 г.).

Основные результаты работы, разработанный подход к построению грид-сервисов, описание реализации грид-сервиса Pilot были доложены автором на следующих международных научных конференциях:

— на Четвертой международной конференции «Распределенные вычисления и Грид-технологии в науке и образовании» (GRID'2010) (28 июня-3 июля 2010 г., Дубна);

— на симпозиуме летней школы XtreemOS 2010 (XtreemOS Summer School 2010, doctoral symposium) (5-9 июля 2010 г., Гюнзбург), доклад был отмечен дипломом «best presentation award»;

- на 18-й Международной конференции по вычислениям в физике высоких энергий и ядерной физике (18th International Conference on Computing in High Energy and Nuclear Physics, CHEP 2010) (18-22 октября 2010 г., Тайней).

Структура и объем работы

Диссертация состоит из введения, пяти основных глав, заключения, библиографии и двух приложений. Объем диссертации составляет 132 страницы включая приложения, объем библиографии — 70 ссылок, работа содержит 14 рисунков и 6 таблиц.

Краткое содержание работы

Первая глава, «Грид и веб-сервисные технологии», описывает общую концепцию грида, классификацию и разновидности грид-систем. Проведен анализ развития модели ресурсов и протоколов обмена данными, используемых в гридах. Рассматривается современная модель гридов на основе открытой архитектуры грид-сервисов (Open Grid Services Architecture, OGSA). Указаны основные проблемы в текущих подходах к реализации OGSA на основе инфраструктуры ресурсов веб-сервисов (Web Service Resource Framework, WSRF): сложность стандартов, плохая совместимость различных реализаций, зависимость от специальных средств генерации кода или библиотек, недоступных для многих языков программирования. Дается общее представление об архитектурном стиле REST и применении его в области веб-сервисов, рассказывается о RESTful-веб-сервисах. Ставится задача реализации грид-сервисов, концептуально близких OGSA, на основе этого архитектурного стиля.

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

Во второй главе, «Использование REST для построения грид-сервисов», описаны методы и подходы к созданию грид-сервисов в рамках

архитектурного стиля «передачи состояния представлениями» (Representational State Transfer, REST). Суть архитектурного стиля REST заключается в следующем. Ресурс R — это изменяющаяся во времени функция членства Mfi{t), которая в момент времени t отображается на множество сущностей или значений, эквивалентных в этот момент времени. Значения в этом множестве могут быть представлениями ресурса, и/или идентификаторами ресурса (они используются для адресации ресурсов). Ресурсы могут быть как статическими, так и динамическими во времени. Единственное свойство ресурса, которое никогда не должно меняться — это семантика самого отображения, поскольку именно она отличает ресурсы друг от друга. Сторона, присваивающая идентификатор конкретному ресурсу в рамках отведенного ей пространства имен, принимает на себя обязательство поддерживать семантическую правильность отображения с течением времени (не изменять функцию членства).

Архитектурный стиль REST подразумевает использование модели взаимодействия клиент-сервер. В применении к гриду, сервер обеспечивает доступ к ресурсу, имеющему свое определенное состояние и время жизни (с точки зрения OGSA такая совокупность из ресурса и сервера является грид-сервисом). Коммуникации между клиентом и сервером, тем не менее, не имеют собственного состояния, то есть каждый запрос клиента содержит в себе всю информацию, необходимую для его понимания, независимо от того, какие запросы поступали до него. Таким образом забота о поддержании состояния коммуникаций является полностью ответственностью клиента, а не сервера.

В настоящее время в различных источниках опубликованы методы, описывающие использование архитектурного стиля REST для создания веб-сервисов. Такие веб-сервисы называют RESTful-веб-сервисами. В работе автором сформулированы более строгие определения и требования к RESTfuI-веб-сервисам, которые приводятся ниже.

Ресурс — это сущность, обладающая достаточной информационной ценностью, чтобы ссылка на нее имела практический смысл.

Унифицированный идентификатор ресурса (Uniform Resource Identifier, URI) — это строка, определяющая имя и адрес ресурса или его представления. Существует также важная частная форма URI, называемая унифицированное имя ресурса (Uniform Resource Name, URN). Унифицированное имя ресурса используется для адресации ресурсов, для которых не предполагается обязательной доступности по сети. При разработке RESTful-веб-сервисов следует выбирать унифицированные идентификаторы, обладающие описательными свойствами, то есть обеспечивающие интуитивное соответствие идентификатора адресуемому ресурсу.

Представление ресурса — это последовательность битов в каком-либо формате, отражающая сущность ресурса. Для ресурсов, представляющих собой реальные физические объекты либо сущности, которые не могут быть

редуцированы до чистой информации, в качестве представлений выбираются документы, содержащие полезную для потребителя сервиса информацию о состоянии ресурса.

Связи между ресурсами — это информация о каких-либо отношениях между ресурсами, возможно доступными через разные сервисы. Связи содержат полные или частичные URI ресурсов, имеющих отношение к данному, а также указания на суть отношения между ресурсами.

RESTful-веб-сервис должен обладать следующими четырьмя ключевыми свойствами:

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

— Отсутствия состояния сервиса: каждый запрос к грид-сервису рассматривается в полной изоляции от других запросов. Вся информация, необходимая для интерпретации и понимания запроса, содержится в самом запросе; информация, следующая из контекста предыдущих запросов к сервису, никогда не используется. Это не означает, что ресурс, доступ к которому обеспечивается сервисом, не имеет состояния. Это означает, что сервис «не помнит», к какому из ресурсов направляется данный запрос клиента, эта информация должна передаваться явно в самом запросе. Однако сам ресурс при этом имеет вполне определенное состояние, которое может изменяться в результате выполнения запросов, посылаемых клиентом или внешних факторов.

— Связности: все представления ресурсов сервиса, кроме, возможно, представлений, идентификаторы которых генерируются по алгоритмическим правилам, описанным в спецификации интерфейса прикладного программирования, образуют односвязный направленный граф. Свойство связности является очень важным для RESTful-веб-сервисов, так как информация о связях между ресурсами может использоваться клиентами для обнаружения идентификаторов интересующих ресурсов.

— Однородности интерфейса: для выполнения любых операций с ресурсами используются стандартные методы протокола HTTP. При этом выполняемая операция должна концептуально совпадать с используемым методом.

Данные определения понятий, связанных с RESTful-веб-сервисами и их свойств являются обобщением методик, ранее опубликованных другими авторами.

Далее в работе более подробно рассматривается использование протокола HTTP для организации однородного интерфейса грид-сервисов. Доступ к свойствам и представлениям ресурсов осуществляется при помощи метода GET протокола HTTP. Для создания ресурсов используются HTTP-запросы POST по адресу коллекции ресурсов, для изменения ресурсов — запросы PUT по адресу ресурса. При этом допускается интерпретация запросов PUT по адресу существующего ресурса, содержащих лишь частичное представление ресурса, как запросов на изменение только части свойств, содержащихся в представлении. В силу свойства адресуемости отдельные параметры ресурса могут быть доступны как самостоятельные ресурсы. В диссертации проведено сравнение запросов на изменение единичных параметров таких ресурсов для WSRF-сервисов, и RESTful-веб-сервисов, и показано, что использование последних сокращает объем пересылаемой служебной информации более чем на 80% по сравнению с WSRF. Для простых параметров, таких как числа или короткие строки, это уменьшает суммарный размер запроса более чем на 70%.

В работе предложен оригинальный подход к формированию запросов по выбору части свойств ресурса, либо подмножества ресурсов коллекции, при помощи компонентов query и fragment в URI для указания запроса и используемого языка (например: https://example.com/carts/1234?//*[local-name()="ProductCode"]#XQuery для запроса только свойств ресурса с именем ProductCode, используется язык запросов XQuery).

Показана эквивалентность базовых классов ошибок WSRF некоторым стандартным кодам ошибок HTTP, а также приводится интерпретация и рекомендации по использованию прочих кодов ошибок HTTP при реализации RESTful-веб-сервисов

Впервые рассматривается вопрос управления циклом существования ресурсов для RESTful-веб-сервисов. Предложен новый заголовок Terminât ionTime, назначение которого — индикация гарантированного времени существования ресурса (в ответе сервиса) а также дополнительное указание на необходимость изменения времени жизни ресурса (в запросе к сервису). Наличие заголовка Termination-Time в ответе грид-сервиса указывает, что данный ресурс может быть автоматически уничтожен сервисом в указанный момент времени, однако не гарантирует уничтожения ресурса. Отсутствие заголовка Termination-Time в ответе грид-сервиса означает, что время жизни ресурса не определено явно, и клиент не должен делать предположений о времени жизни ресурса.

Для изменения времени жизни ресурса без совершения каких-либо операций с ресурсом предлагается использовать расширенное указание Pragma: only-termination-time. Чтобы изменить время жизни ресурса, не изменяя ресурс, клиент отправляет серверу запрос PUT, содержащий заголовок Pragma: only-termination-time и желаемое значение времени жизни ре-

сурса в заголовке Termination-Time, но без представления ресурса. Запрос, содержащий представление ресурса и такой набор заголовков считается ошибочным.

Рассмотрен подход к восстановлению ошибок связи с сервисом, использующий свойства отсутствия побочных эффектов и идемпотентности некоторых методов протокола HTTP. Данный подход не имеет аналогов в WSRF, поскольку в последнем используется метод POST, не являющийся ни безопасным, ни идемпотентным. Обсуждаются способы обеспечения идемпотентности при создании новых ресурсов, основанные на использовании расширений Post Once Exactly, либо генерации идентификаторов ресурсов клиентом и комбинации условных запросов PUT и заголовка Expect протокола HTTP/1.1. С учетом отсутствия состояния у коммуникаций между клиентом и сервисом, использование только безопасных или идемпотентных методов при обращении к сервису позволяет существенно упростить процесс восстановления после ошибок связи: в случае отсутствия ответа сервиса клиенту достаточно в точности повторить запрос, ответ на который не был получен.

Отдельное внимание уделяется вопросам аутентификации запросов к веб-сервисам. Анализируются стандартные схемы аутентификации HTTP, Basic и Digest, а также схема Atom Authentication. Указываются особенности этих схем, делающих их практическое применение в гриде неприемлемым. Рассматриваются возможности аутентификации запросов при помощи использования HTTP внутри TLS-соединений (HTTPS) с обязательной верификацией сторон при помощи сертификатов Х.509. Приводятся основные методы создания инфраструктуры публичных ключей, позволяющие обеспечить надежную аутентификацию с использованием сертификатов Х.509. Данные методы были разработаны в рамках работ по проекту EU-DataGrid с участием автора.

В конце главы подводится краткий итог методам и подходам, рекомендуемым авторам для создания RESTful-веб-сервисов, предназначенных для грида.

Третья глава, «Разработка грид-сервиса запуска композитных заданий», начинается с общего описания грида национальной нанотехно-логической сети (ГридННС) и характерных расчетов, производимых пользователями этого грида. Формулируется определения композитного задания, как ациклического графа, узлы которого являются отдельными элементарными исполняемыми задачами, а ребра задают зависимость задач друг от друга, таким образом указывая порядок выполнения отдельных задач. Вводится понятие требований к ресурсам и программному окружению задачи. Дается метод описания заданий и задач как JSON-документов. Приводятся формальные схемы, определяющие синтаксис описаний. Такой выбор представления для заданий, задач и требований к ресурсам понятен человеку для непосредственного чтения и записи, не содержит чрезмерной избыточности

Рис. 1: Общая структура грид-сервиса Pilot (1 — запросы клиентов сервиса, 2 — внутренние связи сервисов pilot-httpd и pilot-spooler, 3 — обращения к базе данных, 4 — запросы на запуск задач на грид-шлюзах, опрос состояния задач, 5 — уведомления о ходе выполнения задач).

и удобен для разбора или генерации с использованием практически любых современных языков программирования.

Формулируется набор функций, выполняемых грид-сервисом запуска композитных заданий Pilot. На основе методов, описанных во второй главе, строится интерфейс прикладного программирования грид-сервиса Pilot. Приводятся основные ресурсы и коллекции ресурсов сервиса, описывается способ работы с операциями, выполнение которых требует длительного времени: такие операции реализуются как самостоятельные ресурсы, относящиеся к заданиям, к которым их необходимо применить. Сервис обрабатывает такие операции по мере возможности и изменяет свойства ресурса-операции, указывая на завершение процесса обработки. Описывается модель авторизации доступа к ресурсам грид-сервиса.

В четвертой главе, «Реализация грид-сервиса Pilot», описаны подробности реализации грид-сервиса Pilot. Сервис разделен на две независимые программы-демона, выполняющие определенные наборы функций, написанные на языке Python. Для хранения данных используется внешняя СУБД (поддерживаются PostgreSQL и SQLite). Общая структура сервиса приведена на рисунке 1.

Программа внешнего интерфейса pilot-httpd отвечает за обработку всех внешних запросов к грид-сервису Pilot. Он обрабатывает запросы клиентов

Система

автоматизм--- —"

тестир(

СРРГС

/ / ,/ Л

И

О

гип

а/

суперкомпьютер

пике

Мониторинг и учет ресурсов

Рис. 2: Схема взаимодействий компонентов полигона ГридННС. Направления стрелок от инициатора запросов (клиента) к соответствующему сервису. (СРРГС — сервис регистрации ресурсов и грид-служб, ГИП — Графический Интерфейс Пользователя, ПИКС — пользовательский интерфейс командной строки, ЦИС — центральная информационная система).

сервиса, обеспечивает аутентификацию и авторизацию пользователей. Фактически, именно здесь содержится реализация серверной части интерфейса прикладного программирования сервиса. Обработка определенных запросов требует обращения к внутреннему интерфейсу сервиса pilot-spooler, а также обращения к базе данных. Кроме того, эта программа принимает уведомления о ходе выполнения задач от грид-шлюзов.

Программа обработки задач pilot-spooler обеспечивает выполнение логики обработки заданий, запускает задачи на грид-шлюзах и следит за ходом их выполнения. Информация о заданиях и задачах берется из базы данных. Кроме того, pilot-spooler обращается к информационным системам грида и грид-шлюзов для получения информации о состоянии и конфигурации грид-ресурсов, а также реализует подбор и сортировку ресурсов, удовлетворяющих требованиям задач.

Пятая глава, «Использование грид-сервиса Pilot», описывает практическое использование и испытания сервиса на полигоне ГридННС. К полигону ГридННС подключено 11 вычислительных кластеров и суперкомпьютеров из различных научных институтов. Перечислены основные компоненты полигона, взаимодействующие с грид-сервисом Pilot, их назначение.

Рассказывается о взаимодействии грид-сервиса Pilot с другими компонентами полигона ГридННС (рисунок 2), в том числе с центральной информационной системой (ЦИС), сервисом регистрации ресурсов и грид-служб (СРРГС). Приводятся критерии рассмотрения грид-сайтов в качестве кандидатов на запуск задач сервисом. Описывается автоматизированная система тестирования полигона, запускающая тестовые задания через грид-сервис

DagMan gLite WMS UNICORE Taverna Pilot

поддержка композитных заданий + + + + +

абстрактные композитные задания + + - + +

режим работы в виде грид-сервиса i1 + + + +

передача данных между задачами - М, Р2 М2 С2 С2

возможность запуска параллельных задач + + + ± +

подбор ресурсов по параметрам - + - ± +

подбор ресурсов по предустановленному ПО - ±3 - - +

поддержка частичного выполнения заданий - - + + +

групповые зависимости между задачами - - - - +

подключение кластеров через шлюзы + - + + +

Примечания:

1 Работа в виде грид-сервиса, возможно, при использовании внешнего грид-шлюза.

2 Режимы передачи данных: М — использование внешнего сервиса, управляющего репликацией данных; С — централизованная передача через один сервис; Р — передача от узла к узлу

3 gLite WMS поддерживает подбор ресурсов по тегам, которые соответствуют предустановленному ПО.

Таблица 1: Сравнение функциональных характеристик популярных систем запуска заданий, поддерживающих композитные задания, с грид-сервисом Pilot.

Pilot на все зарегистрированные вычислительные ресурсы. Сервис показал устойчивую работу на полигоне ГридННС, в настоящее время с его помощью запускается в среднем более 1000 заданий в сутки.

Далее проводится сравнение функциональных возможностей сервиса с другими популярными сервисами распределения задач в гриде: DagMan (в реализациях Condor и GridWay), gLite WMS, UNICORE, Taverna. По сравнению с существующими аналогами (таблица 1) сервис Pilot поддерживает более тонкую настройку выбора подходящих ресурсов: подбор по версиям предустановленного программного обеспечения, групповые зависимости — возможность запуска нескольких шагов на одном и том же, не известном заранее ресурсе. Сервис Pilot поддерживает упрощенную централизованную модель передачи данных.

В конце главы приводятся результаты сравнительного тестирования скорости запуска задач через Pilot и грид-шлюз ГридННС по сравнению с запуском через gLite WMS и вычислительный элемент gLite CREAM СЕ. Тесты показали, что расходы времени, связанные с собственной работой грид-среды, для запуска через Pilot и ГридННС оказались в несколько раз меньше, чем при использовании ПО gLite.

В заключении приведены основные результаты диссертационной работы, выносимые на защиту:

— Разработан новый подход к созданию грид-сервисов с использованием архитектурного стиля REST, который позволяет создавать простые для реализации интерфейсы прикладного программирования, не требующие использования специальных средств для разработки клиентских и серверных программ. Важными свойством нового подхода является универсальность форматов представлений ресурсов, упрощенная модель восстановления при сбоях и концептуальная простота. Впервые рассмотрен вопрос управления циклом существования ресурсов для сервисов такого типа.

— Реализован грид-сервис запуска композитных заданий Pilot, имеющий интерфейс прикладного программирования, следующий разработанному подходу, предназначенный для управления потоками композитных заданий, имеющих структуру направленных ациклических графов.

— Проведены тестовые испытания грид-сервиса запуска композитных заданий Pilot в рамках полигона ГридННС, подтверждающие правильность предложенного подхода. В процессе опытной эксплуатации на полигоне ГридННС грид-сервис Pilot продемонстрировал высокую производительность. Грид-сервис Pilot является законченным программным продуктом, использующимся в настоящее время на полигоне ГридННС.

Приводятся данные о публикациях автора по теме диссертации и об апробации работы.

Публикации по теме диссертации

Публикации в журналах из перечня ВАК:

1. Демичев А.П., Ильин В.А., Крюков А.П., Шамардин JI.B. Грид-техно-логии на службе компьютинга для Большого адронного коллайдера // Информатизация образования и науки — 2009 — №4. — М.: ФГУ ГНИ ИТТ «Информика», - С. 158-171.

2. Демичев А.П., Крюков А.П., Шамардин J1.B. Принципы построения грид с использованием restful-ee6-cepeucoe // Программные продукты и системы - 2009 - №4. - г. Тверь, - С. 172-176.

3. Демичев А.П., Ильин В.А., Крюков А.П., Шамардин JI.B. Реализация программного интерфейса грид-сервиса Pilot на основе архитектурного стиля REST // Вычислительные методы и программирование — 2010 - Том 11 - С. 65-65.

4. J. Astalos, R. Cecchini, B. Coghlan, R. Cowles, U. Epting, T. Genovese, J. Gomes, D. Groep, M. Gug, A. Hanushevsky, M. Helm, J. Jensen, C. Kanellopoulos, D. Kelsey, R. Marco, I. Neilson, S. Nicoud, D. O'Callaghan, D. Quesnel, I. Schaener, L. Shamardin, D. Skow, M. Sova, A. Waananen, P. Wolniewicz, W. Xing. Peer Review and Policy Management Through the European DataGrid Certification Authority Coordination Group // Lecture Notes in Computer Science (Advances in Grid Computing — EGC 2005) — 2005 — vol. 3470/2005 — Springer Berlin / Heidelberg — pp. 285-295.

Публикации в других научных изданиях:

1. A. Kryukov, A. Demichev, V. Ilyin, L. Shamardin. Architecture of Grid for National Nanotechnology Network (GridNNN). Distributed Computing and Grid-Technologies in Science and Education: Proceedings of the 4th Intern. Conf. (Dubna, June 28-July 3, 2010). — Dubna: JINR, Д-11-2010-140, 2010. — pp. 352-356. / Распределенные вычисления и Грид-технологии в науке и образовании: Труды 4-й междунар. конф. (Дубна, 28 июня-3 июля 2010 г.) - Дубна: ОИЯИ, Д-11-2010-140, 2010. - С. 352-356.

2. L. Shamardin, A. Demichev, A. Kryukov, V. Ilyin. GridNNN Job Execution Service: a RESTful Grid Service. Distributed Computing and Grid-Technologies in Science and Education: Proceedings of the 4th Intern. Conf. (Dubna, June 28-July 3, 2010). — Dubna: JINR, Д-11-2010-140, 2010. — pp. 215-219. / Распределенные вычисления и Грид-технологии в науке и образовании: Труды 4-й междунар. конф. (Дубна, 28 июня-3 июля 2010 г.) - Дубна: ОИЯИ, Д-11-2010-140, 2010. - С. 215-219.

Для заметок

Шамардин Лев Витальевич.

Принципы построения грида с использованием НЕЭТЫ-веб-сервисов.

Автореф. дисс. на соискание ученой степени кандидата физ.-мат. наук.

Подписано в печать 1 марта 2011 г. Цифровая печать. Усл. печ. л. 1. Тираж 100 зкз.

Заказ №256. Отпечатано в типографии «Реглет». 119526, г. Москва, пр-т Вернадского, 39.

(495) 363-78-90, www.reglet.ru.

Оглавление автор диссертации — кандидата физико-математических наук Шамардин, Лев Витальевич

Введение

1 Грид и веб-сервисные технологии

1.1 Концепция грид

1.2 Первое поколение гридов.

1.3 Открытая архитектура грид-сервисов.

1.4 Веб-сервисы.

1.5 Инфраструктура ресурсов веб-сервисов.

1.6 Современные гриды.

1.7 Постановка задачи.

2 Использование REST для построения грид-сервисов.

2.1 Архитектурный стиль REST.

2.1.1 Ресурсно-ориентированная архитектура.

2.1.2 RESTful-грид-сервисы.

2.2 Простые манипуляций с ресурсами.

2.2.1 Создание ресурсов.

2.2.2 Свойства ресурсов.

2.3 Индикация ошибок.

2.4 Цикл существования ресурсов

2.5 Безопасность и идемпотентность.

2.6 Аутентификация запросов.

2.7 Принципы построения RESTful-грид-сервисов

3 Разработка грид-сервиса запуска композитных заданий

3.1 Композитные задания.

3.1.1 Синтаксис описания заданий и задач.

3.1.2 Требования к ресурсам

3.2 Интерфейс прикладного программирования сервиса Pilot

3.2.1 Задания и задачи.

3.2.2 Выполнение сложных операций.

3.2.3 Учетная информация

4 Реализация грид-сервиса Pilot

4.1 База данных сервиса.

4.2 Программа внешнего интерфейса.

4.2.1 Контейнер WSGI-приложений и модуль аутентификации запросов.

4.2.2 Модуль интерфейса прикладного программирования

4.3 Программа обработки задач.

5 Использование грид-сервиса Pilot

5.1 Интеграция в ГридННС.

5.2 Анализ функциональных характеристик Pilot

5.3 Сравнительное тестирование производительности сервиса

Введение 2011 год, диссертация по информатике, вычислительной технике и управлению, Шамардин, Лев Витальевич

Актуальность темы

В настоящее время все большее распространение приобретает использование суперкомпьютеров и вычислительных кластеров для расчетов, связанных с решением задач моделирования в различных научных областях: исследование свойств новых материалов, моделирование погодных явлений, исследования процессов термоядерного синтеза и формирования галактик, моделирование в областях биофизики и биохимии, поиск новых лекарств, анализ экспериментальных данных в физике элементарных частиц. Массовое использование технологий высокопроизводительной обработки данных радикально сокращает затраты на реализацию самых передовых и самых сложных проектов. Суперкомпьютеры позволяют ускорить расчеты, делая практически возможным использование более точных и всесторонних математических моделей. Развитие суперкомпьютерных технологий и организация их эффективного использования является одним из приоритетных научных направлений Российской Федерации.

Проведение расчетов на. суперкомпьютерах связано с решением большого количества технических и организационных задач, связанных с обеспечением доступа к ресурсам и повышением эффективности их использования. Представляется перспективным использование технологии грид для обеспечения удаленного доступа к суперкомпьютерам, поскольку грид направлен на решение задач, связанных с организацией такого доступа к географически распределенным вычислительным ресурсам и услугам. С помощью грида скрываются подробности внутренней реализации вычислительных ресурсов от конечного пользователя, предоставляя ему унифицированный способ использования этих ресурсов. Однако, существующие в настоящее время стандарты и методы в области грид-вычислений используют достаточно сложные в реализации программные интерфейсы веб-сервисов, требующие, как правило, специальных библиотек, или средств автоматической генерации программного кода. В последнее время получили развитие альтернативные подходы к созданию веб-сервисов, основанные на архитектурном стиле REST («RESTful-веб-сервисов»). Разработка методов создания грид-сервисов на основе этого архитектурного стиля позволяет упростить интерфейсы грид-сервисов, тем самым расширяя возможности их прямого использования из прикладных программ.

Важной задачей, связанной с использованием гридов, является распределение выполняемых задач между узлами сети, а так же автоматизация сложных вычислений, состоящих из отдельных независимых шагов, являющихся, обычно, самостоятельными вычислительными задачами. Для их выполнения используются специальные грид-сервисы, обеспечивающие «оркестровку», то есть последовательный или одновременный запуск отдельных шагов композитных заданий в соответствии с заданной логикой и отслеживание процесса их выполнения. Такие грид-сервисы выполняют центральную роль во многих существующих грид-проектах. Разработка грид-сервиса, обеспечивающего запуск задач, и имеющего простой и надежный программный интерфейс, построенный на основе новых методов, базирующихся на архитектурном стиле REST является важной прикладной задачей и хорошей проверкой практической ценности и эффективности предложенных методов.

Цель и задачи исследования

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

Научная новизна

В диссертации впервые сформулированы методы разработки грид-сервисов с использованием архитектурного стиля REST, в том числе универсальные методы управления временем жизни ресурсов RESTful-веб-сервисов. Обобщены существующие лучшие методики и на их основе даны строгие формулировки принципов построения грид-сервисов с использованием RESTful-веб-сервисов. Предложенный подход позволяет обеспечить универсальность форматов представлений ресурсов, упрощенную модель восстановления при сбоях и концептуальную простоту реализации. Таким образом, становится возможным создание удобных и надежных интерфейсов прикладного программирования, не требующих использования специальных средств или библиотек как для разработки клиентских программ так и самих грид-сервисов.

Теоретическая и практическая ценность

Теоретическая ценность работы заключается в том, что в ней показана принципиальная возможность построения грид-сервисов на основе архитектурного стиля REST, предложены методы реализации основных операций с грид-ресурсами. Сформулированные в работе методы могут быть использованы при разработке других грид-сервисов, обеспечивая концептуальную простоту их интерфейсов прикладного программирования.

Практическая ценность работы заключается в том, что впервые разработан грид-сервис запуска композитных заданий, названный «Pilot», который может быть использован' в существующих гридах для организации запуска композитных заданий и управления их выполнением. Разработанный грид-сервис является модульным решением, которое может применяться не только в инфраструктуре ГридННС, но и в других гридах, поддерживающих совместимые интерфейсы грид-шлюзов суперкомпьютеров. Кроме того, имеющаяся реализация может быть легко расширена для использования альтернативных интерфейсов грид-шлюзов, что обеспечивает простоту ее интеграции в другие гриды. Данная работа выполнена в связи с потребностью в грид-сервисе запуска композитных заданий, который имел бы достаточно простой для использования интерфейс прикладного программирования. Работоспособность предложенных решений проверялась на практике на полигоне проекта ГридННС. Реализованный в рамках работы грид-сервис прошел испытания и используется в инфраструктуре проекта ГридННС.

Структура и объем работы

Диссертация состоит из введения, четырех основных глав, заключения, библиографии и трех приложений. Объем диссертации составляет 132 страницы включая приложения, объем библиографии — 70 ссылок, работа содержит 14 рисунков и 6 таблиц.

Заключение диссертация на тему "Принципы построения грида с использованием RESTful-веб-сервисов"

Основные результаты работы, разработанный подход к построению грид-сервисов, описание реализации грид-сервиса Pilot были доложены автором на следующих международных научных конференциях:

- на Четвертой международной конференции «Распределенные вычисления и Грид-технологии в науке и образовании» (GRID'2010) (28 июня-3 июля 2010 г., Дубна);

- на симпозиуме летней школы XtreemOS 2010 (XtreemOS Summer School 2010, doctoral symposium) (5-9 июля 2010 г., Гюнзбург), доклад был отмечен дипломом «best presentation award»;

- на 18-й Международной конференции по вычислениям в физике высоких энергий и ядерной физике (18th International Conference on Computing in High Energy and Nuclear Physics, CHEP 2010) (18-22 октября 2010 г., Тайпей).

Заключение

Библиография Шамардин, Лев Витальевич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. 1.n Foster. What is the Grid? A Three Point Checklist. GRID today, 1(6):22—25, 2002.

2. Ian Foster and C. Kesselman, editors. The Grid: Blueprint for a New Computing Infrastructure. Morgan Kaufmann Publishers, Inc., San-Francisco, CA, 1999.

3. Lee Momtahan (ed.). DataGRID Software Architecture Models. Technical report, EU DataGrid Project, 2004. https: / / edms.cern.ch / document/439938.

4. Paul Avery and Ian Foster. The GriPhyN project: Towards petascale virtual-data grids. The 2000 NSF Information and Technology Research Program, 2000. ITR-0086044.

5. Paul Avery, Ian Foster, Rob Gardner, Harvey Newman, and Alexander Szalay. An International Virtual-Data Grid Laboratory for Data Intensive Science, 2001. NSF Proposal 0107441.

6. S. Tuecke, V. Welch, D. Engert, L. Pearlman, and M. Thompson. Internet X.509 Public Key Infrastructure (PKI) Proxy Certificate Profile. Technical report, IETF Network Working Group, June 2004. RFC3820.

7. I. Foster, C. Kesselman, J. Nick, and S. Tuecke. The physiology of the grid: An open grid services architecture for distributed systems integration. In Open Grid Service Infrastructure WG, Global Grid Forum, volume 22, page 2002. Citeseer, 2002.

8. S.S. Laurent, J. Johnston, and E. Dumbill. Programming web services with XML-RPC. O'Reilly Media, 2001.

9. Martin Gudgin, Marc Hadley, Noah Mendelsohn, Jean-Jacques Moreau, Henrik Frystyk Nielsen, Anish Karmarkar, and Yves Lafon. SOAP version 1.2 part 1: messaging framework (second edition). Technical report, W3C Recommendation, April 2007.

10. R.T. Fielding. Architectural styles and the design of network-based software architectures, doctoral dissertation, University of California, Irvine, 2000.

11. R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, and T. Berners-Lee. Hypertext Transfer Protocol HTTP/1.1. Technical report, IETF Network Working Group, June 1999. RFC2616.

12. Steve Graham, Anish Karmarkar, Jeff Mischkinsky, Ian Robinson, and Igor Sedukhin. Web Services Resource 1.2 (WS-Resource). Technical report, OASIS Standard, April 2006.

13. John Cowan and Richard Tobin. XML Information Set (Second Edition). Technical report, W3C Recommendation, February 2004.

14. Don Box and Francisco Curbera. Web Services Addressing (WS-Addressing). Technical report, W3C Member Submission, August 2004.

15. I Foster. Globus Toolkit Version 4: Software for Service-Oriented Systems, volume LNCS 3779 of IFIP International Conference on Network and Parallel Computing, pages 2-13. Springer-Verlag, 2006.

16. Achim Streit, Piotr Bala, Alexander Beck-Ratzka, et al. UNICOR.E 6 — Recent and Future Advancements. Technical report, Forschungszentrum Jülich Zentralbibliothek, Verlag, 2010. Jül-4319, http://hdl.handle.net/2128/3695.

17. С. Bethke, М. Calvetti, Н. F. Hoffmann, D. Jacobs, M. Kasemann, and D. Linglin. Report of the steering group of the LHC computing review2001c. Technical Report CERN/LHCC/2001-004, CERN, February2001. CERN/RRB-D 2001-3.

18. А.П. Демичев, В.А. Ильин, А.П. Крюков, and JI.В. Шамардин. Грид-технологии на службе компьютинга для большого адронного коллай-дера. Информатизация образования и науки, (4), 2009.

19. Ari Turunen et al., editors. DEIS A digest 2010. Extreme Computing in Europe. Wellprint Ltd., 2010.

20. Проект ГридННС. http://www.ngrid.ru/.

21. Ian Foster. Help shape Globus' future: A call for use cases. Globus community announcements mailing list, March 2009. http: //lists.globus.org/pipermail / announce/2009-March/000054.html.

22. Leonard Richardson and Sam Ruby. RESTful Web Services. O'Reilly . Media, Inc., May 2007.

23. Jim Webber, Savas Parastatidis, and Ian Robinson. REST in Practice. O'Reilly Media, Inc., September 2010.

24. T. Berners-Lee, R. Fielding, and L. Masinter. Uniform Resource Identifier (URI): Generic Syntax. Technical report, IETF Network Working Group, January 2005. RFC3986.

25. R. Moats. URN syntax. Technical report, IETF Network Working Group, May 1997. RFC2141.

26. Tim Banks. Web Services Resource Framework (WSRF) — Primer vl.2. Technical report, OASIS Open, May 2006.

27. Lily Liu and Sam Meder. Web Services Base Faults 1.2. Technical report, OASIS Standard, April 2006.

28. D. Crocker and P. Overell. Augmented BNF for Syntax Specifications: ABNF. Technical Report 5234, Internet Engineering Task Force, January 2008.

29. M. Nottingham. POST Once Exactly (РОЕ). Technical report, IETF Network Working Group Internet-Draft, March 2005. http://tools.ietf.org/html/draft-nottingham-http-poe-00.

30. Ричард Э. Смит. Аутентификация: от паролей до открытых ключей Издательский дом "Вильяме", Москва, 2002.

31. J. Franks, P. Hallam-Baker, J. Hostetler, S. Lawrence, P. Leach, A. Luotonen, and L. Stewart. HTTP Authentication: Basic and Digest Access Authentication. Technical report, IETF Network Working Group, June 1999. RFC2617.

32. The Basel6, Base32, and Base64 Data Encodings. Technical report, IETF Network Working Group, July 2003. RFC3548.

33. Mark Pilgrim. Atom Authentication. http://www.xml.eom/pub/a/2003/12/17/dive.html, December 2003.

34. Anthony Nadalin, Chris Kaler, Ronald Monzillo, and Phillip Hallam-Baker. Web Services Security UsernameToken Profile 1.1. Technical report, OASIS Standard, February 2006.

35. J. Astalos, R. Cecchini, B. Coghlan, R. Cowles, U. Epting, T. Genovese, J. Gomes, D. Groep, M. Gug, A. Hanushevsky, M. Helm, J. Jensen,

36. C. Kanellopoulos, D. Kelsey, R. Marco, I. Neilson, S. Nicoud,

37. D. O'Callaghan, D. Quesnel, I. Schaeffner, L. Shamardin, D. Skow, M. Sova, A. Waananen, P. Wolniewicz, and W Xing. Advances in

38. T. Dierks and E. Rescorla. The Transport Layer Security (TLS) Protocol Version 1.2. Technical report, IETF Network Working Group, August 2008. RFC5246.

39. E. Rescorla. HTTP over TLS. Technical report, IETF Network Working Group, May 2000. RFC2818. '

40. D. Crockford. The application/json Media Type for JavaScript Object Notation (JSON). Technical report, IETF Network Working Group, July 2006. RFC4627.

41. Y. Shafranovich. Common Format and MIME Type for Comma-Separated Values (CSV) Files. Technical Report 4180, Internet Engineering Task Force, October 2005. RFC4180.

42. Vlad Trifa, Dominique Guinard, Vlatko Davidovski, Andreas Kámilaris, • and Ivan Delchev. Web Messaging for Open and Scalable Distributed

43. Sensing Applications. In Boualem Benatallah, Fabio Casati, Gerti Kappel, and Gustavo Rossi, editors, Web Engineering, volume 6189 of Lecture Notes in Computer Science, pages 129-143. Springer Berlin / Heidelberg, 2010.

44. А.П. Демичев, А.П. Крюков, and JI.В. Шамардин. Принципы построения грид с использованием restful-веб-сервисов. Программные продукты и системы, (4): 172-176, 2009.

45. К. Zyp. A JSON Media Type for Describing the Structure and Meaning of JSON Documents. Technical report, IETF Network Working Group, March 2010. draft-zyp-json-schema-02.

46. А.П. Демичев, В.А. Ильин, А.П. Крюков, and JI.В. Шамардин. Реализация программного интерфейса грид-сервиса Pilot на основе архитектурного стиля REST. Вычислительные методы и программирование, 11:62-65, 2010.

47. P. Leach, М. Mealling, and R. Salz. A Universally Unique IDentifier (UUID) URN Namespace. Technical report, IETF Network Working Group, July 2005. RFC4122.

48. Rick Copeland. Essential SQL Alchemy. O'Reilly Media, Inc., first edition, 2008.

49. Mike Owens. The definitive guide to SQLite. Apress, 2006.

50. Дж. Уорсли and Дж. Дрейк. PostgreSQL. Для професиионалов. Питер,2003.

51. Поль Дюбуа. MySQL. Вильяме, 2007.

52. Phillip J. Eby. Python Web Server Gateway Interface vl.0. PEP 333,2004.

53. Python WSGI adapter module for Apache (modwsgi). http://code.google.com/p / modwsgi /.54. uWSGI fast WSGI server, http://projects.unbit.it/uwsgi/.

54. Python Paste, http://pythonpaste.org/.

55. Twisted event-driven network engine, http://twistedmatrix.com/.

56. Andrew McNab. The gridsite web/grid security system. In Grid Security Workshop, Oxford, July 2004. Citeseer.

57. Э. Гамма, Р. Хелм, Р. Джонсон, and Дж. Влиссидес. Приемы объектно-ориентированного проектирования. Паттерны проектирования Питер, 2007.

58. Steve Graham, David Hull, and Bryan Murray. Web Services Base Notification 1.3 (WS-BaseNotification). Technical report, OASIS Standard, October 2006.

59. M2Crypto — a python crypto and SSL toolkit. http://chandlerpro.ject.org/Projects/MeTooCrypto.

60. Virtual Organization Membership Service, http://glite.web.cern.ch/glite/.

61. J. Frey, T. Tannenbaum, M. Livny, I. Foster, and S. Tuecke. Condor-G: A computation management agent for multi-institutional grids. Cluster Computing, 5(3):237-246, 2002.

62. E. Huedo, R.S. Montero, and I.M. Llorente. The GridWay framework for adaptive scheduling and execution on grids. SCPE, 6(8), 2005.

63. D. Hull, K. Wolstencroft, R. Stevens, C. Goble, M.R. Pocock, P. Li, and T. Oinn. Taverna: a tool for building and running workflows of services. Nucleic acids research, 34(suppl 2):W729, 2006.

64. G. Staples. TORQUE resource manager. In Proceedings of the 2006 ACM/IEEE conference on Supercomputing, page 8. ACM, 2006.

65. David Groep. The VOMS Attribute Certificate Format. OGF Draft, artf6312, April 2010.

66. J. Jonsson and B. Kaliski. Public-Key Cryptography Standards (PKCS) #1: RS A Cryptography Specifications Version 2.1. Technical report, IETF Network Working Group, February 2003. RFC3447.

67. M. Nystrom and B. Kaliski. PKCS #10: Certification Request Syntax Specification Version 1.7. Technical report, IETF Network Working Group, November 2000. RFC2986.