Применение технологий Web 2.0 для создания Grid-систем нового поколения

О. В. Сухорослов
Центр Грид-технологий и распределенных вычислений, ИСА РАН
*****@***ru

1. Введение

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

2. Grid-системы первого поколения и концепция Grid 2.0

Grid-системы первого поколения, такие как World-wide Large Hadron Collider Grid (WLCG), ориентированы на интеграцию высокопроизводительных вычислительных ресурсов и поддержку крупных научных проектов с большим числом участников. Несмотря на успех подобных проектов, уровень использования Grid-систем остается в целом низким. Главным образом, это связано с недостатком высокоуровневых проблемно-ориентированных интерфейсов и сервисов, которые позволяют конечным пользователям Grid решать интересующие их задачи, не занимаясь при этом установкой промежуточного ПО Grid и запуском низкоуровневых Grid-заданий. Предлагаемые стандарты и средства разработки прикладных Grid-сервисов основаны на излишне усложненных спецификациях Web-сервисов, что требует специальной квалификации уже от разработчика сервиса. Наконец, мало внимания уделяется вопросу формирования и поддержки динамичных виртуальных организаций. Существующие виртуальные организации формируются фактически в режиме offline в рамках существующих научных проектов.

НЕ нашли? Не то? Что вы ищете?

В настоящее время происходит формирование второго поколения Grid-систем (Grid 2.0), которое обобщает идеи совместного использования вычислительных ресурсов на широкой круг ресурсов и приложений, предлагая универсальную инфраструктуру для научной кооперации в рамках концепции e-Science [1]. Данная инфраструктура базируется на сервис-ориентированном подходе: пользователи преобразуют свои ресурсы в удаленно доступные сервисы, которые могут быть обнаружены и использованы другими пользователями в своих приложениях для решения задач. Речь идет о проблемно-ориентированных сервисах, расширяющих возможности Grid за пределы простого запуска заданий на кластере. Соответственно, под ресурсами подразумеваются не столько суперкомпьютеры и хранилища данных, сколько различные научные приложения, средства анализа данных, приборы и т. п.

Grid 2.0, за счет расширения круга ресурсов и приложений, должен обеспечивать функционирование множества виртуальных сообществ среднего и малого размера. При этом требуется радикально упростить процедуры развертывания соответствующего ПО, формирования виртуальных сообществ, разработки сервисов и их размещения в Grid. Это позволит расширить круг потенциальных разработчиков сервисов и уменьшить время, необходимое для трансформации существующего ресурса в сервис. Наконец, особое внимание должно быть уделено удобству работы с приложениями и сервисами Grid 2.0 с точки зрения конечного пользователя.

3. Применение технологий Web 2.0 для реализации Grid 2.0

Для реализации концепции Grid 2.0 предлагается использовать новые модели приложений и технологии, лежащие в основе феномена Web 2.0 [2]. Действительно, в рамках Web 2.0 акцент делается на формировании виртуальных сообществ пользователей для совместного создания, редактирования и обработки информации; предоставлении программного доступа к сервисам с помощью простых Web API; максимальном упрощении процесса композиции сервисов в новые приложения (т. н. mashups). Ориентация на удобство конечного пользователя и простоту разработки сервисов привели к отказу от тяжеловесных технологий и стандартов (таких, например, как SOAP, WSDL и UDDI) в пользу лежащего в основе Web архитектурного стиля REST, простых форматов данных (JSON, RSS, Atom), неформального описания и регистрации сервисов на таких порталах, как . Развитие многих технологий Web 2.0, как и самих приложений, носит пока спонтанный, неорганизованный характер. В то же время, данные технологии разрабатываются исходя из требований реальных приложений, проходят “проверку боем” в крупных Web-проектах и совершенствуются с учетом накопленного опыта.

Рассмотрим то, каким образом опыт и технологии Web 2.0, могут быть использованы на разных уровнях распределенной вычислительной среды Grid 2.0.

3.1 Уровень пользователей

На уровне пользователей решаются задачи, связанные с формированием и обеспечением функционирования виртуальных сообществ, которые образуют контексты для разделения ресурсов и сервисов. Здесь сконцентрирован социальный аспект Grid, который часто игнорируется разработчиками современных Grid-систем. Обычно предполагается, что виртуальная организация создается на основе уже существующего научного проекта с известными участниками. В то же время, Web 2.0 позволяет динамически формировать новые виртуальные сообщества, примером чему могут служить многочисленные социальные сети и wiki-сайты. Таким образом, на данном уровне Grid 2.0 могут создаваться Web-порталы с функциональностью социальных сетей, учитывающие при этом научную специфику Grid. Данные порталы могут быть связанны с определенной областью прикладных исследований, как, например, NanoHub. org.

3.2 Уровень приложений

На уровне приложений реализуется доступ пользователей к сервисам Grid 2.0 через проблемно-ориентированные интерфейсы. Стандартной средой выполнения приложений Web 2.0 является браузер, что обладает рядом преимуществ: приложение сразу готово к работе без установки на компьютер пользователя, а разработчик приложения сохраняет полный контроль над ним, включая возможность обновлений и учета использования. В рамках модели “software as a service” (SaaS) хранение и обработка данных приложения реализованы в виде удаленного сервиса, с которым взаимодействует браузер пользователя. Примерами подобных приложений, являются Google Docs и Photoshop Express. Изначальные ограничения браузера как среды выполнения сложных приложений постепенно устраняются за счет разработки новых технологий (AJAX, Flex), так и совершенствования самого браузера (Google Chrome). В рамках Grid 2.0 приложения могут быть интегрированы в виде проблемно-ориентированных Web-интерфейсов в упомянутые ранее Web-порталы с функциональностью социальных сетей. Важно отметить, что приложения могут создаваться на основе нескольких сервисов, путем их композиции в определенный сценарий. Примерами реализации подобного подхода в рамках Web 2.0 являются Yahoo! Pipes и Google Mashup Editor.

3.3 Уровень сервисов

На уровне сервисов реализуется удаленный программный доступ к некоторой востребованной пользователями Grid 2.0 функциональности. Сервисы условно можно разделить на два типа: базовые и прикладные. Базовые сервисы предоставляют универсальную функциональность, такую как поиск сервисов или запуск заданий в Grid 1.0. Прикладные сервисы ориентированы на решение определенного класса задач, например сервис решения задач глобальной оптимизации. Прикладные сервисы часто используют в своей работе базовые сервисы и являются, в свою очередь, основой для создания приложений, поэтому их также можно называть высокоуровневыми сервисами. Для упрощения совместного функционирования сервисов и максимизации их повторного использования в различных приложениях требуется унификация механизма удаленного доступа к сервисам на уровне протоколов и форматов данных. Для этих целей в Grid 2.0 предлагается использовать архитектурный стиль REST (Representational State Transfer), хорошо зарекомендовавший себя в проектах Web 2.0. REST обладает рядом преимуществ по сравнению с используемыми в Grid 1.0 технологиями Web-сервисов: простой унифицированный интерфейс на основе стандартов HTTP и URI; максимальная свобода выбора языка программирования и средств разработки; высокая масштабируемость за счет грамотного использования ключевых элементов архитектуры Web.

3.4 Уровень вычислительных ресурсов

Нижний уровень Grid 2.0 содержит вычислительные ресурсы различного вида, используемые для предоставления вышележащих сервисов. Главным образом это аппаратная инфраструктура - вычислительные мощности и средства хранения данных. Подобная инфраструктура, включая унифицированные механизмы доступа к ресурсам, уже сформирована в рамках Grid-систем первого поколения. Однако стоит отметить, что существующая инфраструктура ориентирована на запуск вычислительных заданий и не поддерживает размещение постоянно функционирующих сервисов. В то же время, в рамках Web 2.0 активно развивается модель аренды виртуализованных аппаратных ресурсов (cloud computing), позволяющая размещать на этих ресурсах свои сервисы. Инфраструктура Grid 2.0 также должна предоставлять подобную функциональность для поставщиков сервисов.

4. Заключение

Намеченные в работе подходы к реализации отдельных элементов Grid 2.0 предполагается апробировать в рамках проекта по созданию распределенной математической среды MathCloud. org.

Литература

[1] Foster I. Service-Oriented Science // Science. – 2005. – V. 308, N. 5723. - P. 814-817.

[2] Fox G. C., et al. Web 2.0 for Grids and e-Science // 2nd International Workshop on Distributed Cooperative Laboratories “Instrumenting the Grid” (INGRID 2007). – 2007.