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

advertisement
Ю
У
р
Г
У
МехМат
С
П
Грид технологии
Лекция 7
Архитектура Globus Toolkit
Радченко Глеб Игоревич, каф. СП, ЮУрГУ
http://dom.susu.ru/grid.htm
Ю
Содержание
2
1.
Обеспечение безопасности в GT4
2.
Компоненты управления данными
3.
Управление выполнением задач
4.
Информационные службы
У
р
Г
МехМат
С
П
У
1
Обеспечение безопасности в GT4
Globus Toolkit v4
www.globus.org
Data
Replication
4
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
Ю
У
р
МехМат
Безопасность GT
С
5

Контроль доступа к разделенным ресурсам
 Обеспечение управления
доступом, например
разделение политик доступа для рабочих групп

Поддержка многопользовательских
объединений
 Объединение посредством
взаимно-доверяемых
служб

Поддержка динамического определения
доверяемых областей пользователями и ВО
 Персональная
Г
(или ВО) коллекция ресурсов,
которые работают вместе на базе доверия
пользователя (ВО).
П
У
Безопасность GT4
Authz Callout:
SAML, XACML
SSL/WS-Security
c сертификатами Службы (работают на
доступа
стороне пользователя)
Доступ
Вычислительный
центр
CAs или VOMs
выпускают
сертификаты SAML
или X.509
Права
6
Local policy
on VO identity
or attribute
authority
Права
Пользователи
MyProxy
ВО
Права
KCA
Ю
У
р
Г
МехМат
Безопасность GT4
С
7


Аутентификация на основе открытого ключа
Расширяемая инфраструктура авторизации на
основе стандартов Web-служб
авторизации SAML
 Интегрированный механизм обработки политик
 Идентификатор
 язык XACML

и т.п.
Службы управления сертификатами
 MyProxy


Служба Групповой Авторизации
Отдельная служба делегирования
П
У
8
Использование стандартов
безопасности GT4
Поддерживается
но медленный
Поддерживается
но не безопасный
Ю
У
р
Г
МехМат
С
П
Самый быстрый
по умолчанию
У
Ю
Интеграция GT и XACML
У
р
МехМат
С
9

eXtensible Access Control Markup Language —
расширяемый язык разметки контроля доступа
 стандарт


OASIS, открытая реализация
XACML: сложный язык работы с политиками
GT предоставляет среду исполнения XACML
 Включена

Г
в каждом клиенте и сервере GT
… которая может быть прозрачно вызвана из
среды исполнения или пользовательского
приложения.
П
У
10
Инфраструктура авторизации
GT
Ю
У
р
Г
МехМат
С
П
У
Ю
Другие службы безопасности
11

MyProxy
 Упрощенное
управление сертификатами
 Интеграция с Web-порталами (Tomcat)
 Поддержка единого входа

KCA & kx.509
 Интеграция

с доменами Kerberos
SimpleCA
 Генерация
сертификатов Online
У
р
Г
МехМат
С
П
У
2
Компоненты управления
данными
Globus Toolkit v4
www.globus.org
Data
Replication
13
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
Ю
GT4 Data Management
14

Хранение/перемещение больших объемов данных
с/на узлы



Определение местонахождения необходимой
информации


Replica Location Service (RLS)
Реплики данных для увеличения
производительности


GridFTP, Reliable File Transfer (RFT)
Отдельно, и интегрировано с GRAM
Distributed Replication Service (DRS)
Обеспечение доступа к различным источникам
данных


Файловые системы параллельные файловые системы,
иерархические системы хранения: GridFTP
Базы данных: OGSA DAI
У
р
Г
МехМат
С
П
У
Ю
У
GridFTP в GT4
р
Г
У
МехМат
С
П
15


Поддержка IPv6
Расширенный ввод/вывод
(XIO) для различных транспортных
протоколов
Разделение на полосы (Striping) 
скорости передачи данных порядка
мульти-Gb/sec
Bandwidth (Mbps)



27 Gbit/s на 30 Gbit/s канале
Подключаемый
Front-end: канал, контролируемый WS
 Back-end: HPSS, кластерная файловая
система
 Передача: UDP, NetBLT transport

Bandwidth Vs Striping
20000
18000
16000
14000
12000
10000
8000
6000
4000
2000
0
0
10
20
30
40
50
60
70
Degree of Striping
# Stream = 1
# Stream = 2
# Stream = 4
# Stream = 8
# Stream = 16
# Stream = 32
Reliable File Transfer:
надежный протокол передачи
Ю
16

Передача: запустил и забыл
SOAP
Интерфейс Web-служб

Интегрированная система

Slave
DSI
МехМат
С
П
RFT Service
GridFTP Server
Data
Channel
Data
Channel
Protocol
Interpreter
IPC Link
IPC
Receiver
Г
Notifications
(Optional)
GridFTP Server
Protocol
Interpreter
р
RFT Client
Messages
восстановления
Master
DSI
У
Master
DSI
IPC Link
Data
Channel
Data
Channel
Slave
DSI
16
IPC
Receiver
У
Ю
У
р
Г
МехМат
Replica Location Service
С
П
17



Позволяет определить
положение файлов
посредством карты имен:
логических в физические
Распределенный индекс
имен
Управление ~40
миллионами файлов на
~10 сайтах
Index
Index
Local Update Bloom Bloom
DB
send
filter
filter
(secs) (secs) (bits)
10K
<1
2
1M
1M
2
24
10 M
5M
7
175
50 M
У
Ю
OGSA-DAI
У
р
Г
МехМат
С
18

Предоставляет сервисно-ориентированный
доступ к структурированным ресурсам данных
как часть системы Globus

Определяет интерфейсы доступа к различным
типам хранилищ данных (начиная с
реляционных и XML)
П
У
OGSA-DAI: инфраструктура для
разработки приложений
Ю
19

Поддерживает доступ к данным




Поддерживает передачу данных





SOAP над HTTP
FTP; GridFTP
E-mail
Inter-service
Поддерживает трансформацию данных



Реляционные: MySQL, Oracle, DB2, SQL Server, Postgres
XML: Xindice, eXist
Файлы – CSV, BinX, EMBL, OMIM, SWISSPROT,…
XSLT
ZIP; GZIP
Поддерживает безопасность

X.509 certificate based security
У
р
Г
МехМат
С
П
У
Ю
Инфраструктура OGSA-DAI
У
р
Г
У
МехМат
С
П
Application
20
Client Toolkit
OGSA-DAI service
Engine
Действия
SQLQuery
readFile
XPath
XSLT
GZip
GridFTP
JDBC
XMLDB
File
Ресурсы
данных
SQL
MySQL
DB2
Server
XIndice
SWISS
20
PROT
Базы
данных
Ю
Пример расширения
С
OGSA-DAI service
Engine
SQLQuery
Multiple
JDBC
SQL GDS
SQL
JDBC
JDBC
MySQL
р
Г
МехМат
21
SQL
У
SQL
SQL
JDBC
JDBC
П
У
OGSA-DAI: другие свойства
22

Инфраструктура для создания клиентов


Библиотека Client Toolkit library
Инфраструктура для разработки
функциональности
Возможность расширения существующих или
создания собственных действий
 Возможность объединения действий


Высоко-расширяемая
Возможность «затачивать» продукт
 Разработка собственных служб, клиентских
приложений и собственной функциональности (в
зависимости от данных)

Ю
У
р
Г
МехМат
С
П
У
3
Управление выполнением
задач
Data
Replication
24
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
25
Управление исполнением
(GRAM)

Общий интерфейс для планировщиков на
основе WS
 Unix,

Condor, LSF, PBS, SGE, …
Обобщенно: интерфейс для управления
процессами
 Формирование
среды исполнения
 Загрузка данных
 Мониторинг и управление жизненным циклом
 Завершение работы, очистка
Ю
У
р
Г
МехМат
С
П
У
Ю
Г
С
П
Service host(s) and compute element(s)
Job events
Delegate
Transfer
Delegation request
RFT File
Transfer
SEG
Compute element
Local job control
sudo
GT4 Java Container
GRAM
GRAM
services
services
Client
р
МехМат
Архитектура GT4 WS GRAM
26
У
GRAM
adapter
GridFTP
FTP
control
Local
scheduler
User
job
FTP data
GridFTP
Remote
storage
element(s)
У
Ю
р
Г
МехМат
Архитектура GT4 WS GRAM
27
У
С
П
Service host(s) and compute element(s)
Job events
Client
Delegate
Transfer
Delegation request
RFT File
Transfer
SEG
Compute element
Local job control
sudo
GT4 Java Container
GRAM
GRAM
services
services
GRAM
adapter
GridFTP
FTP
control
Local
scheduler
User
job
FTP data
Сертификат может быть передан
приложению
GridFTP
Remote
storage
element(s)
У
Ю
р
Г
МехМат
Архитектура GT4 WS GRAM
28
У
С
П
Service host(s) and compute element(s)
Job events
Client
Delegate
Transfer
Delegation request
RFT File
Transfer
SEG
Compute element
Local job control
sudo
GT4 Java Container
GRAM
GRAM
services
services
GRAM
adapter
GridFTP
FTP
control
Local
scheduler
User
job
FTP data
Сертификат может быть
передан для авторизации в RFT
GridFTP
Remote
storage
element(s)
У
Ю
Г
С
П
Service host(s) and compute element(s)
Job events
Delegate
Transfer
Delegation request
RFT File
Transfer
SEG
Compute element
Local job control
sudo
GT4 Java Container
GRAM
GRAM
services
services
Client
р
МехМат
Архитектура GT4 WS GRAM
29
У
GRAM
adapter
GridFTP
FTP
control
Local
scheduler
User
job
FTP data
Сертификат может быть
использован для аутентификации
В GridFTP
GridFTP
Remote
storage
element(s)
У
30
Производительность
WS GRAM

Время постановки базового задания GRAM
 Pre-WS
GRAM: < 1 секунды
 WS GRAM: 2 секунды

Максимальное количество заданий
 Pre-WS
GRAM: 300 заданий
 WS GRAM: 32,000 заданий (максимум папок в
директории)
Ю
У
р
Г
МехМат
С
П
У
31
Workspace Service: Служба
рабочего пространства
Ю
Политика
Согласование доступа
Инициация задачи
Клиент Мониторинг задачи
Контроль задачи
Задача
Окружение
Интерфейс
Поставщик ресурса
У
р
Г
МехМат
С
П
У
Ю
Задачи могут быть вложенные
У
р
МехМат
С
32
Клиент
Политика
Клиент
Клиент
Среда
Интерфейс
Поставщик ресурсов
32
Г
П
У
Ю
С
33
Установить контейнер
Установить виртуальную
машину
Установить гипервизор/OS
Обеспечить аппаратные
ресурсы
р
Г
МехМат
Например
Установить службу
У
JVM
JVM
VM
VM
Гипервизор/OS
Физическая машина
Инициация, управление и мониторинг на всех уровнях
П
У
34
Динамическое развертывание
служб
Сообщество
А
• Групповые
механизмы
планирования
• Распределение
данных
• Групповой
менеджмент
• Научные службы
• ...
…
Ю
У
р
Г
У
МехМат
С
П
Сообщество
Z
Требования:
• Управление
группами
• Устойчивость
•Гарантированные
ресурсы
• Изолированность
(принцип
«невмешательства»)
Затраты на использование
виртуальных машин
35
job startup scenario
c)
0.7
b)
0.7
a)
1.7
0.8
С
6
tim e (in se conds )
Г
П
VM setup
VM boot
job setup
GRAM job
GRAM job
8
4
р
МехМат
GRAM job in
paused VM
8
2
У
Job in
booted VM
8
0.8
0
Ю
8
10
12
У
4
Информационные службы
Data
Replication
37
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
Ю
Мониторинг и обнаружение
У
р
МехМат
С
38

Должны поддерживаться стандартные
механизмы мониторинга и обнаружения служб
 WSRF/WSN

предоставляют такие механизмы
Общая инфраструктура для сбора информации:
 MDS-Index:
кешируемые Xpath запросы
 MDS-Trigger: выполнение действия по условию

Глубокая интеграция с контейнерами и
службами Globus: каждая служба GT4 может
быть обнаружена
 GRAM,
RFT, GridFTP, CAS, …
Г
П
У
Ю
У
Мониторинг и обнаружение
Клиенты
служб GT4
(WebMDS)
р
МехМат
С
39
GT4 Container
WS-ServiceGroup
MDSIndex
Регистрация и
доступ WSRF/WSN
GT4 Container
MDSIndex
Автомат.
регистрация
в контейнере
GRAM
User
adapter
GT4 Cont.
Особые протоколы для
не-WS сущностей
MDSIndex
GridFTP
RFT
Г
П
У
40
Производительность сервера
индекса


По мере роста индекса MDS4, замедляется
время обработки запроса, хотя и менее чем
линейно
Время ответа увеличивается в связи с
увеличивающимся объемом передаваемых
данных
 Ответ
перестраивается под каждый запрос
Ю
У
р
Г
МехМат
С
П
У
Ю
У
Поставщики информации
41


Поставщики информации (information providers)
GT4 собирают информацию с определенной
системы и предоставляют в виде свойств ресурса
WSRF
Количество поставщиков информации постоянно
растет
Ganglia, CluMon, Nagios
 SGE, LSF, OpenPBS, PBSPro, Torque


Множество попыток разработки новых
поставщиков

Например мониторинг сетей, систем хранения,
сенсоров
р
Г
МехМат
С
П
У
Ю
У
р
Г
У
МехМат
Выводы GT4
С
П
42
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
КЛИЕНТ
Ю
Ссылки и литература
43



Я. Фостер, К. Кессельман, Д.М. Ник, С. Тьюке
“ФИЗИОЛОГИЯ ГРИД”. Открытая архитектура гридслужб для интеграции распределённых систем.
[http://www.gridclub.ru/library/publication.2004-1129.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]
Globus Toolkit 4.2.1 Release Manuals [http://wwwunix.globus.org/toolkit/docs/4.2/4.2.1/]
У
р
Г
МехМат
С
П
У
Ю
Презентации
44
У
р
Г
МехМат
С
П
У
Спасибо за внимание!
Ваши вопросы?
Страница курса:
http://dom.susu.ru/grid.htm
Радченко Глеб Игоревич, каф. СП, ЮУрГУ
Download