История проекта Grid Programming Environment берет свое начало в 2004 году. В
основу клиентской части были положены наработки, сделанные в рамках проекта
Unicore (версии 1-4). В то же время серверная часть, реализующая принципы
грид второго поколения, была разработана заново. Поскольку длительное время
GPE развивался как часть европейского проекта Unigrids, серверная часть
реализует разработанный в этом проекте интерфейс атомарных сервисов. Другим
следствием такого сотрудничества стало использование клиентской части GPE в
проекте Unicore 6. При этом в самом проекте GPE серверная часть реализована в
среде Globus Toolkit 4.0, не совместимой с Unicore 6. Такой высокий
уровень переносимости стал возможен благодаря выделению нескольких уровней
программных интерфейсов. Отметим, что проект GPE с самого начала своего
развития является проектом с открытым программным кодом. В настоящий период он
размещается на сайте http://gpe4gtk.sourceforge.net/.
Текущее состояние проекта таково. Проект имеет стабильную версию среды (GPE
1.5). Она включает базовую поддержку виртуальных организаций и значительные
улучшения в области управления конфигурацией элементов грид и
трудоемкости развертывания грид-системы на существующей IT-инфраструктуре
корпорации. Клиентские приложения версии 1.4.2 включены в Unicore 6.
В нынешнем состоянии GPE представляет собой набор функционально-независимых
компонент, позволяющих сконструировать грид-систему уровня предприятия. Среди
этих компонент можно выделить:
- функциональное ядро сервисов — API и библиотеку удаленного исполнения
команд (в том числе, через протокол SSH);
- сервисы для среды Globus Toolkit 4.0 — оболочка для функционального ядра
сервисов для их размещения в контейнере Globus;
- сервис исполнения бизнес-процессов (многоступенчатых
сценариев);
- функциональное ядро клиентов —
платформенно-независимые части GUI-клиентов, Web-клиента (портала);
- клиенты для Globus 4.0, Unicore 6 — реализации клиентов для работы с
GPE/Globus 4.0 и Unicore 6.
Одна из основных особенностей клиентской библиотеки GPE — поддержка парадигмы
GridBeans. Применение данного подхода позволяет разрабатывать
проблемно-ориентированные встраиваемые в клиенты компоненты для упрощения
описания грид-задач. GridBean предоставляет простой интерфейс, который удобен
для конечного (неискушенного) пользователя при описании задания для грид. В
то же время, благодаря выделению специального API, прикладной
программист-разработчик GridBean избавляется от забот об устройстве
конкретной грид-системы. Так, например, один и тот же GridBean будет работать
и среде GPE/Globus, и в Unicore 6. Существенные изменения претерпит клиентский
API в версии 1.5. Они будут заключаться в расширении области применения
концепции GB в многоступенчатых сценариях.
Одним из основных путей развития GPE является расширение поддержки
виртуализации и средств управления (менеджмента). В первом случае появление
на рынке аппаратных средств поддержки виртуализации (в том числе и
от компании Intel) позволяет решить проблемы с изоляцией контекста выполнения
приложений, что критически важно в чувствительных к нарушениям безопасности
корпоративным средам. При этом потери в производительности минимальны. Также
повышается гибкость в распределении вычислительных ресурсов. Совершенствование
же средств управления необходимо для оптимизации расходов на управление
IT-инфраструктурой на крупных предприятиях. Грид видится здесь удобным
универсальным инструментом.