Лекция 6. Архитектура GT4.

advertisement
Ю
У
р
Г
У
МехМат
С
П
Грид технологии
Лекция 6
Архитектура Globus Toolkit
Радченко Глеб Игоревич, каф. СП, ЮУрГУ
http://dom.susu.ru/grid.htm
Ю
Содержание
2
1.
Предпосылки возникновения Globus Toolkit
2.
Роль GT в создании грид-приложений
3.
Globus Toolkit 4 и WSRF
4.
Компоненты Globus Toolkit
5.
GT4 Common Runtime
У
р
Г
МехМат
С
П
У
1
Предпосылки возникновения
Globus Toolkit
Ю
Образование GT
4
Предпосылка к разработке GT:
 проект I-WAY, стартовавший в 1995 г.
В ходе данного проекта были разработаны и
апробированы:
 процедуры аутентификации;
 процедуры резервирования ресурсов;
 планировщик ресурсов;
 специальное клиентское обеспечение (IPOP).
У
р
Г
МехМат
С
П
У
Ю
Основные приложения грид
У
р
Г
МехМат
С
П
5

Интенсивные вычисления




Большой объем данных



Интерактивное моделирование (моделирование климата);
Задачи широкомасштабного анализа (формирование
галактик, гравитационные волны);
Инженерные задачи (параметрические задачи; связанные
модели).
Анализ экспериментальных данных;
Анализ изображений и сенсоров (астрономия, климат).
Распределенные взаимодействия


Задачи удаленной визуализации, онлайн-инструментов;
Инженерные задачи.
У
Ю
Предпосылки к созданию GT
У
р
МехМат
С
6
В процессе разработки проекта I-WAY были
выявлены следующие проблемы разработки
распределенных систем:




Г
слишком много различных систем
обеспечения безопасности;
слишком много различных систем
планирования/исполнения заданий;
слишком много различных систем хранения
данных;
слишком много различных систем
мониторинга/обмена сообщениями и т.п.
П
У
Ю
Основатели GT
У
р
Г
МехМат
С
7
Ian Foster – Associate Division Director in the
Mathematics and Computer Science Division
at Argonne National Laboratory; Professor
in the Department of Computer Science at
the University of Chicago
Carl Kesselman – Director of Center
for Grid Technologies (Information
Sciences Institute of University of
Southern California);
П
У
2
Роль GT в создании
грид-приложений
9
Роль GT в создании
грид-приложений


Ю
Набор решений для проблем, которые часто
возникают при создании распределенного
приложения
Гетерогенность
GT – помочь разработчикам преодолеть
проблемы, возникающие из-за гетерогенности
вычислительной среды.
 Задача

Стандарты
 GT
основывается на существующих стандартах,
принятых IETF, W3C, OASIS, GGF;
У
р
Г
МехМат
С
П
У
10
Разработка грид-приложения
без GT
Программа
моделирования
Web
баузер
Web
портал
Разработчик
приложения
10
В наличии
12
Globus
Toolkit
0
Grid
Community
0
Выч.
сервер
B
Выч.
сервер
Чат
Реестр
Сертификатов
Каталог
данных
Службы приложений
организуют ВО и
обеспечивают доступ к
другим службам
Коллективные
службы объединяют
или виртуализуют
ресурсы
У
р
С
Камера
C
Служба
б/д
D
Служба
б/д
E
Служба
б/д
Г
МехМат
Камера
Удаленный
монитор
Авторизация
Пользователи
работают с
клиентскими
приложениями
A
Служба
регистрации
Просмотр
данных
Ю
Ресурсы реализуют
стандартный
интерфейс доступа и
управления
П
У
11
Разработка грид-приложения
с использованием GT
Программа
моделирования
Web
баузер
Globus Index
Service
CHEF
Просмотр
данных
Разработчик
приложения
2
В наличии
9
Globus
Toolkit
5
Grid
Community
3
Удаленный
монитор
CHEF Сhat
Teamlet
MyProxy
Globus
MCS/RLS
Авторизация
Пользователи
работают с
клиентскими
приложениями
Службы приложений
организуют ВО и
обеспечивают доступ к
другим службам
Коллективные
службы объединяют
или виртуализуют
ресурсы
Ю
Globus
GRAM
Выч.
сервер
Globus
GRAM
Выч.
сервер
У
р
МехМат
С
Камера
Камера
Globus
DAI
Служба
б/д
Globus
DAI
Служба
б/д
Globus
DAI
Служба
б/д
Г
Ресурсы реализуют
стандартный
интерфейс доступа и
управления
П
У
12
GT – стандартная
инфраструктура для Грид

НЕ готовые решения, а строительные блоки и
инструментарий для разработчиков

Зачем изобретать, если можно использовать?


Ю
У
р
МехМат
С
Совместимость с другими Грид-системами бесплатно
На сегодняшний день, интерфейсы GT
используются разработчиками
Относительно немного интерфейсов для конечных
пользователей;
 Не предназначены для прямого использования
кончеными пользователями (учеными, инженерами и
т.п.)

Г
П
У
13
Брешь между приложениями
и инфраструктурой
Динамические
и/или
распределенные
приложения
Распределенная вычислительная среда
Ю
У
р
Г
МехМат
С
П
У
Ю
У
р
Г
У
МехМат
Грид-инфраструктура
С
П
14

Сервис-ориентированные
приложения
 Приложения как
службы
 Объединение служб в
потоки заданий

Сервис-ориентированная
инфраструктура Грид
 Поддержка
физических
ресурсов для обеспечения
рабочей нагрузки
Пользователи
Композиция
Потоки задач
Вызов
Служба
Служба
Поддержка
Ю
Грид-инфраструктура
У
р
МехМат
С
15

Распределенное управление
 Физическими ресурсами
 Службами ПО
 Сообществами

и политиками
Универсальное средство связи
на системе Web-служб;
 Использует WSRF, WS-Notification для обеспечения
состояния WS-ресурсов;
 Стандартные абстракции и интерфейсы
управления.
 Основано
Г
П
У
3
Globus Toolkit 4 и WSRF
Ю
У
р
МехМат
Состояния службы
С
17
FileTransfer
Service
move

move (A to B)
Client
Как клиент:
 узнает,
Г
удачно ли перемещение?
 узнает количество переданных файлов?
 получит извещения об произошедших событиях?
 отменит запрос?
П
У
Ю
FileTransferService без WSRF
У
р
МехМат
С
18
FileTransfer
Service
move
move (A to B) : transferID
Client
whatHappen
state tellMeWhen
cancel

Разработчик изобретает велосипед для каждой новой
службы:



Собственные механизмы управления и идентификации
состояния (transferID).
Собственная реализация для синхронных (whatHappen) и
асинхронных (tellMeWhen) операций.
Собственная реализация управления временем жизни
(cancel).
Г
П
У
Ю
У
р
Г
МехМат
Пара слов о WSRF
С
П
19


Служба
Представление состояния

Service
EPR
EPR
EPR
GetMultRPs
Resource



Destroy
GetRP, QueryRPs, GetMultipleRPs,
SetRP
Интерфейсы времени жизни



Endpoint Reference
Интерфейсы состояния

Subscribe
SetTermTime
Идентификация

SetRP
QueryRPs
RPs

GetRP
Resource
Resource Property
SetTerminationTime
ImmediateDestruction
Извещения


Subscribe
Notify
У
20
FileTransferService на основе
WSRF
FileTransferService
createResource
Transfer
getRP
RPs
queryRPs
createResource (A to B) : EPR
Ю
У
р
Г
МехМат
С
П
Client
destroy

Разработчик специфицирует метод
createResource. За все остальное отвечает WSRF:
 Идентификация
ресурса посредством ссылки на
конечную точку (EPR);
 Состояние может быть получено посредством
стандартных интерфейсов (GetRP, QueryRPs)
 Стандартное управление временем жизни (Destroy)
У
Ю
OGSA, GT4, WSRF и WS
21
У
р
Г
МехМат
С
П
У
4
Компоненты Globus Toolkit
23
GT как коллекция
компонентов

Ю
службы и клиентов;
 библиотеки;
 средства разработки.
Компоненты GT используются для построения
грид-приложений и служб


р
можно рассматривать GT как SDK для Грид
Компоненты GT можно разбить на категории по
двум различным направлениям:
по базовой проблемной области;
 по поддерживаемым протоколам.

Г
МехМат
С
Набор слабосвязанных компонентов включающий:


У
П
У
Ю
С
24
Протоколы Web-служб
 WSDL,
SOAP
 WS-Addressing, WSRF, WS-Notification
 WS-Security, SAML, XACML
 WS-Interoperability

Протоколы НЕ Web-служб
 Стандартизованные
 Другие
протоколы
р
Г
МехМат
Протоколы GT

У
протоколы (GridFTP)
П
У
Globus Toolkit 2 (1997)
Компоненты
на базе
Web-служб
25
Pre-WS
Authentication
Authorization
GridFTP
Security
Data Mgmt
Grid Resource Monitoring
Alloc. Mgmt & Discovery
(GRAM)
(MDS)
Execution
Mgmt
Info
Services
C Common
Libraries
Common
Runtime
Компоненты
не-WS
Globus Toolkit 3 (2003)
Community Data Access
Authorization & Integration
WS
Authentication
Authorization
Pre-WS
Authentication
Authorization
Reliable
File
Transfer
Grid Resource
Alloc. Mgmt
(WS GRAM)
GridFTP
Grid Resource Monitoring
Alloc. Mgmt & Discovery
(GRAM)
MDS3
(MDS)
Replica
Location
Security
26
Data Mgmt
Java
WS Core
C Common
Libraries
eXtensible
IO (XIO)
Execution
Mgmt
Info
Services
Common
Runtime
Компоненты
на базе
Web-служб
Компоненты
не-WS
Globus Toolkit 4 (2005)
Core
Contrib/
Preview
Grid
Telecontrol
Protocol
Python
WS Core
Community Data Access Workspace
Authorization & Integration Management
Trigger
C
WS Core
Reliable
File
Transfer
Grid Resource
Allocation &
Management
Index
Java
WS Core
Pre-WS
Authentication
Authorization
GridFTP
Pre-WS
Pre-WS
Grid Resource Monitoring
Alloc. & Mgmt & Discovery
Credential
Mgmt
Replica
Location
Security
Data Mgmt
Authentication
Authorization
27
Community
Scheduling
Framework
WebMDS
Delegation
Data
Replication
C Common
Libraries
eXtensible
IO (XIO)
Execution
Mgmt
Info
Services
Common
Runtime
Deprecated
Компоненты
на базе
Web-служб
Компоненты
не-WS
Ю
У
р
Г
У
МехМат
Компоненты GT 4
С
П
28
Your
Ваш
C
клиент
Client
(С)
Your
Ваш
Python
клиент
Client
(Python)
СЕРВЕР
Your
Ваш
Python
клиент
Client
(Python)
Службы Java на Apache
Axis плюс библиотеки и
обработчики GT
C WS
Core
Хостинг на Python,
библиотеки GT
Службы на C,
использующие
библиотеки GT
Pre-WS MDS
pyGlobus
WS Core
Pre-WS GRAM
Ваша
служба
(С)
RLS
Ваша
служба
(Python)
MyProxy
X.509 сертификаты =
общая
аутентификация
CAS
OGSA-DAI
GTCP
Delegation
Index
Trigger
Archiver
Your
Ваша
Java
служба
Service
(Java)
GRAM
RFT
Совместимые с
WS-I
сообщения SOAP
Your
Ваш
C
клиент
Client
(С)
Your
Ваш
Java
клиент
Client
(Java)
SimpleCA
Your
Ваш
Java
клиент
Client
(Java)
GridFTP
КЛИЕНТ
29
GT4 Common Runtime
Data
Replication
30
Credential
Mgmt
Replica
Location
Grid
Telecontrol
Protocol
Delegation
Data Access
& Integration
Community
Scheduling
Framework
WebMDS
Python
Runtime
Community
Authorization
Reliable
File
Transfer
Workspace
Management
Trigger
C
Runtime
Authentication
Authorization
GridFTP
Grid Resource
Allocation &
Management
Index
Java
Runtime
Security
Data
Mgmt
Execution
Mgmt
Info
Services
Common
Runtime
Среда исполнения Web-служб
GT4 (GT4 Web Services Runtime)
Ю
31


WSDL, SOAP
 WS-Security, WS-Addressing
Поддерживает новые стандарты WS
 WS-Resource

р
Г
МехМат
С
П
Поддерживает как службы GT (Grid Resource
Allocation and Management, Delegation и др.) и
пользовательские службы
Основывается на существующих стандартах WS:
 WS-Interoperability:

У
Framework, WS-Notification
Хостинг на Java, Python, C
 Java
– стандартный Apache
У
Ю
Кратко о GT4 WS Core
32
Service
EPR
EPR
EPR
GetRP
GetMultRPs
Resource
SetRP
QueryRPs
RPs
Subscribe
SetTermTime
Destroy
Реализация WSRF:
Resources,
EndpointReferences,
ResourceProperties
Поставщик операций:
подготовленная реализация
операций WSRF
Реализация оповещений: Topics,
TopicSet, Embedded Notification
Consumer service
Реализация ресурсов
(ReflectionResource,
PersistentReflectionResource) и
свойств ресурсов
(SimpleResourceProperty,
ReflectionResourceProperty)
У
р
Г
МехМат
С
П
У
Ю
Кратко о GT4 WS Core
33
Service Container
Service
Service
Service
GetRP
GetRP
GetRP
GetMultRPs
EPR
GetMultRPs
EPR
GetMultRPs
EPR
EPR
SetRP
EPR
EPRResource
SetRP
EPRResource
SetRP
Resource QueryRPs
QueryRPs
RPs
QueryRPs
Subscribe
RPs
Subscribe
RPs
Subscribe
SetTermTime
SetTermTime
ResourceHome
SetTermTime
ResourceHome Destroy
ResourceHome Destroy
Destroy
Контейнер служб: набор
служб хранится в едином
контейнере внутри
одного процесса JVM
Хост основан на
контейнере служб
Apache AXIS, и
позволяет
обрабатывать SOAPсообщения
У
р
Г
МехМат
С
П
У
Ю
Кратко о GT4 WS Core
У
р
Г
МехМат
С
П
34
Service Container
Service
Service
Service
GetRP
GetRP
GetRP
GetMultRPs
EPR
GetMultRPs
EPR
GetMultRPs
EPR
EPR
SetRP
EPR
EPRResource
SetRP
EPRResource
SetRP
Resource QueryRPs
QueryRPs
RPs
QueryRPs
Subscribe
RPs
Subscribe
RPs
Subscribe
SetTermTime
SetTermTime
ResourceHome
SetTermTime
ResourceHome Destroy
ResourceHome Destroy
Destroy
PIP
PDP
Безопасное взаимодействие:
Уровень транспорта,
сообщений, диалога
(Транспортный уровень –
лучшая производительность)
Настраиваемые политики
безопасности: Policy Information
Points (PIPs), Policy Decision
Points (PDP)
Примеры PDP
авторизации: GridMap,
SAML, XACML
У
Ю
Кратко о GT4 WS Core
35
Service Container
PIP
Service
Service
Service
GetRP
GetRP
GetRP
GetMultRPs
EPR
GetMultRPs
EPR
GetMultRPs
EPR
EPR
SetRP
EPR
EPRResource
SetRP
EPRResource
SetRP
Resource QueryRPs
QueryRPs
RPs
QueryRPs
Subscribe
RPs
Subscribe
RPs
Subscribe
SetTermTime
SetTermTime
ResourceHome
SetTermTime
ResourceHome Destroy
ResourceHome Destroy
Destroy
WorkManager
DB Conn Pool
PDP
JNDI Directory
WorkManager: “пул
потоков”, независимый
менеджер задач
Apache Database
Connection Pool library
(Реализация JDBC
“DataSource”)
JNDI Directory:
управление внутренними
разделенными
объектами(ResourceHom
es, WorkManager,
Configuration objects,…)
У
р
Г
МехМат
С
П
У
Ю
У
С
36
Apache Tomcat
PIP
Service
Service
Service
GetRP
GetRP
GetRP
GetMultRPs
EPR
GetMultRPs
EPR
GetMultRPs
EPR
EPR
SetRP
EPR
EPRResource
SetRP
EPRResource
SetRP
Resource QueryRPs
QueryRPs
RPs
QueryRPs
Subscribe
RPs
Subscribe
RPs
Subscribe
SetTermTime
SetTermTime
ResourceHome
SetTermTime
ResourceHome Destroy
ResourceHome Destroy
Destroy
WorkManager
DB Conn Pool
PDP
JNDI Directory
Г
МехМат
Кратко о GT4 WS Core
Service Container
р
Контейнер
предоставляющий
службы (“отдельный”
или внутри Apache
Tomcat)
П
У
Ю
С
37
WS-Addressing, WSRF,
WS-Notification
WSDL, SOAP, WS-Security
37
Управление
регистром
GT4 Container
Пользовательские приложения
Пользовательские
Web-службы
р
Г
МехМат
GT4 Web Services Runtime
ПользоваGT4
тельские
Web-службы
Web-службы
WSRF
WSRF
У
П
У
Моделирование состояния в Web-службах
Выделение
ресурсов
Аутентификация
и авторизация
применяются ко
всем запросам
Служба
фабрики
• Инспекция состояния
• Управление временем жизни
• Оповещения
WSресурсы
38
Зарегистрировать
WS-ресурс
Взаимодействия стандартизованы посредством WSDL и SOAP
Запрос службы
(например,
пользовательское
приложение)
Поиск
Регистр
Ю
WSRF и WS-Notification
У
р
Г
У
МехМат
С
П
39

Именование и связывание (основа виртуализации)


Жизненный цикл (основа устойчивого к ошибкам управления)





Свойства ресурсов связаны с ресурсами
Есть операции запроса и установки свойств
Асинхронное оповещение об изменении свойств
Группы служб (основа регистров, коллективных служб)


Ресурсы создаются службами посредством патерна «Фабрика»
Ресурсы удаляются незамедлительно или резервируются
Информационная модель (основа мониторинга и поиска)


На каждый ресурс может быть получена уникальная ссылка
Правила групп и управление группами
Базовые типы ошибок
Сравнение платформ
WSRF/WS-N (HPDC 2005)
40
GT4-Java
GT4-C
pyGridWare
WSRF::Lite
WSRF.NET
Languages supported
Java
C
Python
Perl
C#/C++/VBasic, etc.
WS-Security password profile
Yes
No
In progress
In progress
Yes
WS-Security X.509 profile
Yes
In progress
Yes
In progress
Yes
WS-SecureConversation
Yes
No
Yes
No
Yes
TLS/SSL
Yes
Yes
Yes
Yes
Yes
Multiple
Multiple
Callout
None
Yes
Not default
Yes
Yes
Yes
Memory Footprint
JVM + 10M
22 KB
12 MB
12 MB
Depends
Memory size per WS-Resource
Depends on
resource state
70B
Depends on
resource state
0 (file/DB) or
10B (process)
Depends on resource
state
Unmodified hosting environment
Yes
No
Yes
Yes (Apache)
Yes
Compliance with WS-I Basic
Profile
Yes
Yes
Yes
In progress
Yes
Compliance with
WS-I Basic Security Profile
Yes
Yes
Yes
No
Yes
Log4J
Yes
Yes
Yes
WSE diagnostics
WS-ResourceLifetime
Yes
Yes
Yes
Yes
Yes
WS-ResourceProperties
Yes
Yes
Yes
Yes
Yes
WS-ServiceGroup
Yes
Yes
Yes
Yes
Yes
WS-BaseFaults
Yes
Yes
Yes
Yes
Yes
WS-BaseNotification
Yes
Consumer
Yes
No
Yes
WS-BrokeredNotification
Partial
No
No
No
Yes
WS-Topics
Partial
Partial
Partial
No
Partial
Authorization
Persistence of WS-Resources
Logging
Ю
Ссылки и литература
У
р
МехМат
С
41


Г
Я. Фостер, К. Кессельман, Д.М. Ник, С. Тьюке
“ФИЗИОЛОГИЯ ГРИД”. Открытая архитектура
грид-служб для интеграции распределённых
систем.
[http://www.gridclub.ru/library/publication.200411-29.8307957187/publ_file/]
Borja Sotomayor. The Globus Toolkit 4 Programmer’s
Tutorial. November 2005.
http://gdp.globus.org/gt4tutorial/download/progtutorial-pdf_0.2.1.tar.gz]
П
У
Ю
Презентации
42
У
р
Г
МехМат
С
П
У
Спасибо за внимание!
Ваши вопросы?
Страница курса:
http://dom.susu.ru/grid.htm
Радченко Глеб Игоревич, каф. СП, ЮУрГУ
Download