Грид технологии

43
Ю У р Г У М ехМ ат С П Грид технологии Лекция 6 Архитектура Globus Toolkit Радченко Глеб Игоревич, каф. СП, ЮУрГУ http://dom.susu.ru/grid.htm

description

Грид технологии. Лекция 6 Архитектура Globus Toolkit. Радченко Глеб Игоревич, каф. СП, ЮУрГУ. http://dom.susu.ru/grid.htm. Содержание. Предпосылки возникновения Globus Toolkit Роль GT в создании грид-приложений Globus Toolkit 4 и WSRF Компоненты Globus Toolkit - PowerPoint PPT Presentation

Transcript of Грид технологии

Page 1: Грид технологии

Ю У р Г У

МехМат

С П

Грид технологии

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

Toolkit

Радченко Глеб Игоревич, каф. СП, ЮУрГУ

http://dom.susu.ru/grid.htm

Page 2: Грид технологии

Ю У р Г У

МехМат

С ПСодержание

1. Предпосылки возникновения Globus Toolkit

2. Роль GT в создании грид-приложений3. Globus Toolkit 4 и WSRF4. Компоненты Globus Toolkit5. GT4 Common Runtime

2

Page 3: Грид технологии

Предпосылки возникновения Globus Toolkit1

Page 4: Грид технологии

Ю У р Г У

МехМат

С ПОбразование GT4

Предпосылка к разработке GT: проект I-WAY, стартовавший в 1995 г.

В ходе данного проекта были разработаны и апробированы: процедуры аутентификации; процедуры резервирования ресурсов; планировщик ресурсов; специальное клиентское обеспечение

(I-POP).

Page 5: Грид технологии

Ю У р Г У

МехМат

С П

Основные приложения грид Интенсивные вычисления

Интерактивное моделирование (моделирование климата);

Задачи широкомасштабного анализа (формирование галактик, гравитационные волны);

Инженерные задачи (параметрические задачи; связанные модели).

Большой объем данных Анализ экспериментальных данных; Анализ изображений и сенсоров (астрономия, климат).

Распределенные взаимодействия Задачи удаленной визуализации, онлайн-инструментов; Инженерные задачи.

5

Page 6: Грид технологии

Ю У р Г У

МехМат

С П

Предпосылки к созданию GTВ процессе разработки проекта I-WAY были

выявлены следующие проблемы разработки распределенных систем:

слишком много различных систем обеспечения безопасности;

слишком много различных систем планирования/исполнения заданий;

слишком много различных систем хранения данных;

слишком много различных систем мониторинга/обмена сообщениями и т.п.

6

Page 7: Грид технологии

Ю У р Г У

МехМат

С ПОснователи 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);

Page 8: Грид технологии

Роль GT в создании грид-приложений2

Page 9: Грид технологии

Ю У р Г У

МехМат

С П

Роль GT в создании грид-приложений Набор решений для проблем, которые

часто возникают при создании распределенного приложения

Гетерогенность Задача GT – помочь разработчикам

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

Стандарты GT основывается на существующих

стандартах, принятых IETF, W3C, OASIS, GGF;

9

Page 10: Грид технологии

Ю У р Г У

МехМат

С П

Разработка грид-приложения без GT

10

Webбаузер

Выч.сервер

Каталогданных

Авторизация

Чат

РеестрСертификатов

Webпортал

Выч.сервер

Ресурсы реализуют стандартный интерфейс доступа и управления

Коллективные службы объединяют или виртуализуют

ресурсы

Пользователи работают с клиентскими приложениями

Службы приложений организуют ВО и

обеспечивают доступ к другим службам

Служба б/д

Служба б/д

Служба б/д

Программамоделирования

Камера

КамераУдаленный

монитор

Служба регистрации

A

B

C

D

E

Просмотрданных

Разработчик приложения 10

В наличии 12

Globus Toolkit 0

Grid Community 0

Page 11: Грид технологии

Ю У р Г У

МехМат

С П

Разработка грид-приложения с использованием GT11

Webбаузер

Выч.сервер

Globus MCS/RLS

Авторизация

CHEF СhatTeamlet

MyProxy

CHEF

Выч.сервер

Ресурсы реализуют стандартный интерфейс доступа и управления

Коллективные службы объединяют или виртуализуют

ресурсы

Пользователи работают с клиентскими приложениями

Службы приложений организуют ВО и

обеспечивают доступ к другим службам

Служба б/д

Служба б/д

Служба б/д

Программамоделирования

Камера

КамераУдаленный

монитор

Globus IndexService

GlobusGRAM

GlobusGRAM

GlobusDAI

GlobusDAI

GlobusDAI

Просмотрданных

Разработчик приложения 2

В наличии 9

Globus Toolkit 5

Grid Community 3

Page 12: Грид технологии

Ю У р Г У

МехМат

С П

GT – стандартная инфраструктура для Грид НЕ готовые решения, а строительные блоки и

инструментарий для разработчиков

Зачем изобретать, если можно использовать? Совместимость с другими Грид-системами

бесплатно

На сегодняшний день, интерфейсы GT используются разработчиками Относительно немного интерфейсов для конечных

пользователей; Не предназначены для прямого использования

кончеными пользователями (учеными, инженерами и т.п.)

12

Page 13: Грид технологии

Ю У р Г У

МехМат

С П

Брешь между приложениями и инфраструктурой13

Динамические и/или

распределенные

приложения

Распределенная вычислительная среда

Page 14: Грид технологии

Ю У р Г У

МехМат

С ПГрид-инфраструктура 14

Сервис-ориентированные приложения Приложения как

службы Объединение служб в

потоки заданий

Сервис-ориентированная инфраструктура Грид Поддержка

физических ресурсов для обеспечения рабочей нагрузки

Поддержка

Служба Служба

Пользователи

Потоки задачКомпозиция

Вызов

Page 15: Грид технологии

Ю У р Г У

МехМат

С ПГрид-инфраструктура Распределенное управление

Физическими ресурсами Службами ПО Сообществами и политиками

Универсальное средство связи Основано на системе Web-служб; Использует WSRF, WS-Notification для

обеспечения состояния WS-ресурсов; Стандартные абстракции и интерфейсы

управления.

15

Page 16: Грид технологии

Globus Toolkit 4 и WSRF3

Page 17: Грид технологии

Ю У р Г У

МехМат

С ПСостояния службы17

Client

FileTransferService

move (A to B)move

Как клиент: узнает, удачно ли перемещение? узнает количество переданных файлов? получит извещения об произошедших

событиях? отменит запрос?

Page 18: Грид технологии

Ю У р Г У

МехМат

С П

FileTransferService без WSRF

18

Client

FileTransferService

move (A to B)move

statewhatHappen

tellMeWhen

cancel

: transferID

Разработчик изобретает велосипед для каждой новой службы: Собственные механизмы управления и

идентификации состояния (transferID). Собственная реализация для синхронных

(whatHappen) и асинхронных (tellMeWhen) операций. Собственная реализация управления временем жизни

(cancel).

Page 19: Грид технологии

Ю У р Г У

МехМат

С ППара слов о 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

Page 20: Грид технологии

Ю У р Г У

МехМат

С П

FileTransferService на основеWSRF20

ClientFileTransferService

createResource (A to B)createResource

RPs

Transfer getRP

queryRPs

destroy

Разработчик специфицирует метод createResource. За все остальное отвечает WSRF: Идентификация ресурса посредством

ссылки на конечную точку (EPR); Состояние может быть получено

посредством стандартных интерфейсов (GetRP, QueryRPs)

Стандартное управление временем жизни (Destroy)

: EPR

Page 21: Грид технологии

Ю У р Г У

МехМат

С ПOGSA, GT4, WSRF и WS21

Page 22: Грид технологии

Компоненты Globus Toolkit4

Page 23: Грид технологии

Ю У р Г У

МехМат

С П

GT как коллекция компонентов Набор слабосвязанных компонентов

включающий: службы и клиентов; библиотеки; средства разработки.

Компоненты GT используются для построения грид-приложений и служб можно рассматривать GT как SDK для Грид

Компоненты GT можно разбить на категории по двум различным направлениям: по базовой проблемной области; по поддерживаемым протоколам.

23

Page 24: Грид технологии

Ю У р Г У

МехМат

С ППротоколы GT Протоколы Web-служб

WSDL, SOAP WS-Addressing, WSRF, WS-Notification WS-Security, SAML, XACML WS-Interoperability

Протоколы НЕ Web-служб Стандартизованные протоколы (GridFTP) Другие протоколы

24

Page 25: Грид технологии

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-служб

Page 26: Грид технологии

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)

Page 27: Грид технологии

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

Page 28: Грид технологии

Ю У р Г У

МехМат

С ПКомпоненты 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)

Page 29: Грид технологии

GT4 Common Runtime29

Page 30: Грид технологии

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

Page 31: Грид технологии

Ю У р Г У

МехМат

С П

Среда исполнения 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

Page 32: Грид технологии

Ю У р Г У

МехМат

С ПКратко о 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

Page 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

Контейнер служб: набор служб хранится в едином контейнере внутри одного процесса JVM

Хост основан на контейнере служб Apache AXIS, и позволяет обрабатывать SOAP-сообщения

33

Page 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

Настраиваемые политики безопасности: Policy Information Points (PIPs), Policy Decision Points (PDP)

Примеры PDP авторизации: GridMap, SAML, XACML

34

Page 35: Грид технологии

Ю У р Г У

МехМат

С П

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

Page 36: Грид технологии

Ю У р Г У

МехМат

С П

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

Page 37: Грид технологии

Ю У р Г У

МехМат

С П

37

Пользова-тельскиеWeb-службы

WS-Addressing, WSRF,WS-Notification

Пользова-тельскиеWeb-службыWSRF

GT4Web-службыWSRF

WSDL, SOAP, WS-Security

Пользовательские приложения

Упра

влен

иере

гист

ром

GT4

Con

tain

erGT4 Web Services Runtime

37

Page 38: Грид технологии

38

Моделирование состояния в Web-службах

WS-ресурсы

Регистр

Запрос службы (например, пользовательское приложение)

Служба фабрики

Создать WS-ресурс

Адрес ресурса

Выделение ресурсов

Зарегистрировать WS-ресурс

Поиск

Взаимодействия стандартизованы посредством WSDL и SOAP

• Инспекция состояния• Управление временем

жизни• Оповещения

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

Page 39: Грид технологии

Ю У р Г У

МехМат

С ПWSRF и WS-Notification Именование и связывание (основа

виртуализации) На каждый ресурс может быть получена уникальная

ссылка Жизненный цикл (основа устойчивого к ошибкам

управления) Ресурсы создаются службами посредством патерна

«Фабрика» Ресурсы удаляются незамедлительно или резервируются

Информационная модель (основа мониторинга и поиска) Свойства ресурсов связаны с ресурсами Есть операции запроса и установки свойств Асинхронное оповещение об изменении свойств

Группы служб (основа регистров, коллективных служб) Правила групп и управление группами

Базовые типы ошибок

39

Page 40: Грид технологии

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

Page 41: Грид технологии

Ю У р Г У

МехМат

С ПСсылки и литература

Я. Фостер, К. Кессельман, Д.М. Ник, С. Тьюке “ФИЗИОЛОГИЯ ГРИД”. Открытая архитектура грид-служб для интеграции распределённых систем. [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

Page 42: Грид технологии

Ю У р Г У

МехМат

С ППрезентации42

Page 43: Грид технологии

Ваши вопросы?

Спасибо за внимание!

Страница курса:http://dom.susu.ru/grid.htm

Радченко Глеб Игоревич, каф. СП, ЮУрГУ