Грид технологии
description
Transcript of Грид технологии
Ю У р Г У
МехМат
С П
Грид технологии
Лекция 6Архитектура Globus
Toolkit
Радченко Глеб Игоревич, каф. СП, ЮУрГУ
http://dom.susu.ru/grid.htm
Ю У р Г У
МехМат
С ПСодержание
1. Предпосылки возникновения Globus Toolkit
2. Роль GT в создании грид-приложений3. Globus Toolkit 4 и WSRF4. Компоненты Globus Toolkit5. GT4 Common Runtime
2
Предпосылки возникновения Globus Toolkit1
Ю У р Г У
МехМат
С ПОбразование GT4
Предпосылка к разработке GT: проект I-WAY, стартовавший в 1995 г.
В ходе данного проекта были разработаны и апробированы: процедуры аутентификации; процедуры резервирования ресурсов; планировщик ресурсов; специальное клиентское обеспечение
(I-POP).
Ю У р Г У
МехМат
С П
Основные приложения грид Интенсивные вычисления
Интерактивное моделирование (моделирование климата);
Задачи широкомасштабного анализа (формирование галактик, гравитационные волны);
Инженерные задачи (параметрические задачи; связанные модели).
Большой объем данных Анализ экспериментальных данных; Анализ изображений и сенсоров (астрономия, климат).
Распределенные взаимодействия Задачи удаленной визуализации, онлайн-инструментов; Инженерные задачи.
5
Ю У р Г У
МехМат
С П
Предпосылки к созданию GTВ процессе разработки проекта I-WAY были
выявлены следующие проблемы разработки распределенных систем:
слишком много различных систем обеспечения безопасности;
слишком много различных систем планирования/исполнения заданий;
слишком много различных систем хранения данных;
слишком много различных систем мониторинга/обмена сообщениями и т.п.
6
Ю У р Г У
МехМат
С ПОснователи GT7
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);
Роль GT в создании грид-приложений2
Ю У р Г У
МехМат
С П
Роль GT в создании грид-приложений Набор решений для проблем, которые
часто возникают при создании распределенного приложения
Гетерогенность Задача GT – помочь разработчикам
преодолеть проблемы, возникающие из-за гетерогенности вычислительной среды.
Стандарты GT основывается на существующих
стандартах, принятых IETF, W3C, OASIS, GGF;
9
Ю У р Г У
МехМат
С П
Разработка грид-приложения без GT
10
Webбаузер
Выч.сервер
Каталогданных
Авторизация
Чат
РеестрСертификатов
Webпортал
Выч.сервер
Ресурсы реализуют стандартный интерфейс доступа и управления
Коллективные службы объединяют или виртуализуют
ресурсы
Пользователи работают с клиентскими приложениями
Службы приложений организуют ВО и
обеспечивают доступ к другим службам
Служба б/д
Служба б/д
Служба б/д
Программамоделирования
Камера
КамераУдаленный
монитор
Служба регистрации
A
B
C
D
E
Просмотрданных
Разработчик приложения 10
В наличии 12
Globus Toolkit 0
Grid Community 0
Ю У р Г У
МехМат
С П
Разработка грид-приложения с использованием GT11
Webбаузер
Выч.сервер
Globus MCS/RLS
Авторизация
CHEF СhatTeamlet
MyProxy
CHEF
Выч.сервер
Ресурсы реализуют стандартный интерфейс доступа и управления
Коллективные службы объединяют или виртуализуют
ресурсы
Пользователи работают с клиентскими приложениями
Службы приложений организуют ВО и
обеспечивают доступ к другим службам
Служба б/д
Служба б/д
Служба б/д
Программамоделирования
Камера
КамераУдаленный
монитор
Globus IndexService
GlobusGRAM
GlobusGRAM
GlobusDAI
GlobusDAI
GlobusDAI
Просмотрданных
Разработчик приложения 2
В наличии 9
Globus Toolkit 5
Grid Community 3
Ю У р Г У
МехМат
С П
GT – стандартная инфраструктура для Грид НЕ готовые решения, а строительные блоки и
инструментарий для разработчиков
Зачем изобретать, если можно использовать? Совместимость с другими Грид-системами
бесплатно
На сегодняшний день, интерфейсы GT используются разработчиками Относительно немного интерфейсов для конечных
пользователей; Не предназначены для прямого использования
кончеными пользователями (учеными, инженерами и т.п.)
12
Ю У р Г У
МехМат
С П
Брешь между приложениями и инфраструктурой13
Динамические и/или
распределенные
приложения
Распределенная вычислительная среда
Ю У р Г У
МехМат
С ПГрид-инфраструктура 14
Сервис-ориентированные приложения Приложения как
службы Объединение служб в
потоки заданий
Сервис-ориентированная инфраструктура Грид Поддержка
физических ресурсов для обеспечения рабочей нагрузки
Поддержка
Служба Служба
Пользователи
Потоки задачКомпозиция
Вызов
Ю У р Г У
МехМат
С ПГрид-инфраструктура Распределенное управление
Физическими ресурсами Службами ПО Сообществами и политиками
Универсальное средство связи Основано на системе Web-служб; Использует WSRF, WS-Notification для
обеспечения состояния WS-ресурсов; Стандартные абстракции и интерфейсы
управления.
15
Globus Toolkit 4 и WSRF3
Ю У р Г У
МехМат
С ПСостояния службы17
Client
FileTransferService
move (A to B)move
Как клиент: узнает, удачно ли перемещение? узнает количество переданных файлов? получит извещения об произошедших
событиях? отменит запрос?
Ю У р Г У
МехМат
С П
FileTransferService без WSRF
18
Client
FileTransferService
move (A to B)move
statewhatHappen
tellMeWhen
cancel
: transferID
Разработчик изобретает велосипед для каждой новой службы: Собственные механизмы управления и
идентификации состояния (transferID). Собственная реализация для синхронных
(whatHappen) и асинхронных (tellMeWhen) операций. Собственная реализация управления временем жизни
(cancel).
Ю У р Г У
МехМат
С ППара слов о WSRF19
Служба Представление
состояния Resource Resource Property
Идентификация Endpoint Reference
Интерфейсы состояния GetRP, QueryRPs,
GetMultipleRPs, SetRP Интерфейсы времени
жизни SetTerminationTime ImmediateDestruction
Извещения Subscribe Notify
RPs
Resource
Service GetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
Ю У р Г У
МехМат
С П
FileTransferService на основеWSRF20
ClientFileTransferService
createResource (A to B)createResource
RPs
Transfer getRP
queryRPs
destroy
Разработчик специфицирует метод createResource. За все остальное отвечает WSRF: Идентификация ресурса посредством
ссылки на конечную точку (EPR); Состояние может быть получено
посредством стандартных интерфейсов (GetRP, QueryRPs)
Стандартное управление временем жизни (Destroy)
: EPR
Ю У р Г У
МехМат
С ПOGSA, GT4, WSRF и WS21
Компоненты Globus Toolkit4
Ю У р Г У
МехМат
С П
GT как коллекция компонентов Набор слабосвязанных компонентов
включающий: службы и клиентов; библиотеки; средства разработки.
Компоненты GT используются для построения грид-приложений и служб можно рассматривать GT как SDK для Грид
Компоненты GT можно разбить на категории по двум различным направлениям: по базовой проблемной области; по поддерживаемым протоколам.
23
Ю У р Г У
МехМат
С ППротоколы GT Протоколы Web-служб
WSDL, SOAP WS-Addressing, WSRF, WS-Notification WS-Security, SAML, XACML WS-Interoperability
Протоколы НЕ Web-служб Стандартизованные протоколы (GridFTP) Другие протоколы
24
25
Globus Toolkit 2 (1997)
Data MgmtSecurity CommonRuntime
Execution Mgmt
Info Services
Компоненты не-WS
Pre-WSAuthenticationAuthorization
GridFTP C CommonLibraries
Grid ResourceAlloc. Mgmt
(GRAM)
Monitoring& Discovery
(MDS)
Компоненты на базе
Web-служб
26
Globus Toolkit 3 (2003)
Data MgmtSecurity CommonRuntime
Execution Mgmt
Info Services
Компоненты не-WS
Компоненты на базе
Web-служб
Pre-WSAuthenticationAuthorization
GridFTP C CommonLibraries
WSAuthenticationAuthorization
ReliableFile
Transfer
Data Access& Integration
Grid ResourceAlloc. Mgmt(WS GRAM)
MDS3 Java WS Core
CommunityAuthorization
ReplicaLocation
eXtensibleIO (XIO)
Grid ResourceAlloc. Mgmt
(GRAM)
Monitoring& Discovery
(MDS)
27
Globus Toolkit 4 (2005)
Data MgmtSecurity CommonRuntime
Execution Mgmt
Info Services
Компоненты не-WS
Компоненты на базе
Web-служб
Pre-WSAuthenticationAuthorization
GridFTPPre-WS
Grid ResourceAlloc. & Mgmt
Pre-WSMonitoring
& DiscoveryC CommonLibraries
AuthenticationAuthorization
ReliableFile
Transfer
Data Access& Integration
Grid ResourceAllocation &
ManagementIndex Java
WS Core
CommunityAuthorization
ReplicaLocation
eXtensibleIO (XIO)
CredentialMgmt
CommunitySchedulingFramework
Delegation DataReplication
Trigger C WS Core
Python WS CoreWebMDS
WorkspaceManagement
Grid Telecontrol
Protocol
Contrib/Preview
Core
Depre-cated
Ю У р Г У
МехМат
С ПКомпоненты GT 428
Службы Java на Apache Axis плюс библиотеки и
обработчики GT
YourJava
Service
Вашаслужба(Python)
Вашаслужба(Java) R
FTG
RA
M
Del
egat
ion
Inde
xTr
igge
rA
rchi
ver
pyGlobusWS Core
Ваша служба
(С)
C WS Core
RLS
Pre
-WS
MD
S
CA
S
Pre
-WS
GR
AM
Sim
pleC
A
MyP
roxy
OG
SA
-DA
IG
TCP
Grid
FTP
Службы на C, использующие библиотеки GT
СЕРВЕР
КЛИЕНТ
Совместимые сWS-I
сообщения SOAP
YourJavaClient
YourC
Client
YourPythonClient
Вашклиент(Java)
Вашклиент
(С)
Вашклиент(Python)
X.509 сертификаты =общая аутентификация
Хостинг на Python, библиотеки GT
YourJavaClient
YourC
Client
YourPythonClient
Вашклиент(Java)
Вашклиент
(С)
Вашклиент(Python)
GT4 Common Runtime29
30
Data MgmtSecurity Common
RuntimeExecution
MgmtInfo
Services
GridFTPAuthenticationAuthorization
ReliableFile
Transfer
Data Access& Integration
Grid ResourceAllocation &
ManagementIndex
CommunityAuthorization
DataReplication
CommunitySchedulingFramework
Delegation
ReplicaLocation
Trigger
Java Runtime
C Runtime
Python RuntimeWebMDS
WorkspaceManagement
Grid Telecontrol
ProtocolCredential
Mgmt
Ю У р Г У
МехМат
С П
Среда исполнения Web-службGT4 (GT4 Web Services Runtime) Поддерживает как службы GT (Grid
Resource Allocation and Management, Delegation и др.) и пользовательские службы
Основывается на существующих стандартах WS: WS-Interoperability: WSDL, SOAP WS-Security, WS-Addressing
Поддерживает новые стандарты WS WS-Resource Framework, WS-Notification
Хостинг на Java, Python, C Java – стандартный Apache
31
Ю У р Г У
МехМат
С ПКратко о GT4 WS Core
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
Реализация WSRF: Resources, EndpointReferences, ResourceProperties
Поставщик операций: подготовленная реализация операций WSRF
Реализация оповещений: Topics, TopicSet, Embedded Notification Consumer service
Реализация ресурсов (ReflectionResource, PersistentReflectionResource) и свойств ресурсов (SimpleResourceProperty, ReflectionResourceProperty)
32
Ю У р Г У
МехМат
С П
Service Container
Кратко о GT4 WS Core
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
Контейнер служб: набор служб хранится в едином контейнере внутри одного процесса JVM
Хост основан на контейнере служб Apache AXIS, и позволяет обрабатывать SOAP-сообщения
33
Ю У р Г У
МехМат
С П
Service Container
Кратко о GT4 WS Core
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
Безопасное взаимодействие: Уровень транспорта, сообщений, диалога (Транспортный уровень – лучшая производительность)
PIP
PDP
Настраиваемые политики безопасности: Policy Information Points (PIPs), Policy Decision Points (PDP)
Примеры PDP авторизации: GridMap, SAML, XACML
34
Ю У р Г У
МехМат
С П
Service Container
Кратко о GT4 WS Core
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
PIP
PDP
WorkManager DB Conn Pool JNDI Directory
WorkManager: “пул потоков”, независимый менеджер задач
Apache Database Connection Pool library (Реализация JDBC “DataSource”)
JNDI Directory: управление внутренними разделенными объектами(ResourceHomes, WorkManager, Configuration objects,…)
35
Ю У р Г У
МехМат
С П
Apache Tomcat
Service Container
Кратко о GT4 WS Core
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
RPs
Resource
ServiceGetRP
GetMultRPs
SetRP
QueryRPs
Subscribe
SetTermTime
Destroy
EPREPR
EPR
ResourceHome
PIP
PDP
WorkManager DB Conn Pool JNDI Directory
Контейнер предоставляющий службы (“отдельный” или внутри Apache Tomcat)
36
Ю У р Г У
МехМат
С П
37
Пользова-тельскиеWeb-службы
WS-Addressing, WSRF,WS-Notification
Пользова-тельскиеWeb-службыWSRF
GT4Web-службыWSRF
WSDL, SOAP, WS-Security
Пользовательские приложения
Упра
влен
иере
гист
ром
GT4
Con
tain
erGT4 Web Services Runtime
37
38
Моделирование состояния в Web-службах
WS-ресурсы
Регистр
Запрос службы (например, пользовательское приложение)
Служба фабрики
Создать WS-ресурс
Адрес ресурса
Выделение ресурсов
Зарегистрировать WS-ресурс
Поиск
Взаимодействия стандартизованы посредством WSDL и SOAP
• Инспекция состояния• Управление временем
жизни• Оповещения
Аутентификация и авторизация применяются ко всем запросам
Ю У р Г У
МехМат
С ПWSRF и WS-Notification Именование и связывание (основа
виртуализации) На каждый ресурс может быть получена уникальная
ссылка Жизненный цикл (основа устойчивого к ошибкам
управления) Ресурсы создаются службами посредством патерна
«Фабрика» Ресурсы удаляются незамедлительно или резервируются
Информационная модель (основа мониторинга и поиска) Свойства ресурсов связаны с ресурсами Есть операции запроса и установки свойств Асинхронное оповещение об изменении свойств
Группы служб (основа регистров, коллективных служб) Правила групп и управление группами
Базовые типы ошибок
39
40 Срав
нени
е пл
атф
орм
WSR
F/W
S-N
(HPD
C 20
05)
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
Authorization Multiple Multiple Callout None
Persistence of WS-Resources 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 state0 (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 withWS-I Basic Security Profile Yes Yes Yes No Yes
Logging 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
Ю У р Г У
МехМат
С ПСсылки и литература
Я. Фостер, К. Кессельман, Д.М. Ник, С. Тьюке “ФИЗИОЛОГИЯ ГРИД”. Открытая архитектура грид-служб для интеграции распределённых систем. [http://www.gridclub.ru/library/publication.2004-11-29.8307957187/publ_file/]
Borja Sotomayor. The Globus Toolkit 4 Programmer’s Tutorial. November 2005. http://gdp.globus.org/gt4-tutorial/download/progtutorial-pdf_0.2.1.tar.gz]
41
Ю У р Г У
МехМат
С ППрезентации42
Ваши вопросы?
Спасибо за внимание!
Страница курса:http://dom.susu.ru/grid.htm
Радченко Глеб Игоревич, каф. СП, ЮУрГУ