Presentation is loading. Please wait.

Presentation is loading. Please wait.

Грид технологии Лекция 7 Архитектура Globus Toolkit

Similar presentations


Presentation on theme: "Грид технологии Лекция 7 Архитектура Globus Toolkit"— Presentation transcript:

1 Грид технологии Лекция 7 Архитектура Globus Toolkit
Радченко Глеб Игоревич, каф. СП, ЮУрГУ

2 Содержание Обеспечение безопасности в GT4
Компоненты управления данными Управление выполнением задач Информационные службы

3 Обеспечение безопасности в GT4

4 Globus Toolkit v4 www.globus.org Python Runtime WebMDS C Runtime
Data Replication 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

5 Безопасность GT Контроль доступа к разделенным ресурсам
Обеспечение управления доступом, например разделение политик доступа для рабочих групп Поддержка многопользовательских объединений Объединение посредством взаимно-доверяемых служб Поддержка динамического определения доверяемых областей пользователями и ВО Персональная (или ВО) коллекция ресурсов, которые работают вместе на базе доверия пользователя (ВО). If two parties have certificates, and if both parties trust the CAs that signed each other's certificates, then the two parties can prove to each other that they are who they say they are. This is known as mutual authentication

6 Безопасность GT4 Права Права ВО Права KCA Доступ Вычислительный центр
Authz Callout: SAML, XACML SSL/WS-Security c сертификатами доступа Службы (работают на стороне пользователя) Права Вычислительный центр Доступ MyProxy is an online credential repository. You can store X.509 proxy credentials in the MyProxy repository, protected by a passphrase, for later retrieval over the network. This eliminates the need for manually copying private key and certificate files between machines. MyProxy can also be used for authentication to grid portals and credential renewal with job managers. The KCA component is a Kerberized certification service. It issues proxy certificates based on a Kerberos authentication. The KX.509 component is a Kerberized client that generates and stores proxy certificates with help from KCA. CAs или VOMs выпускают сертификаты SAML или X.509 Local policy on VO identity or attribute authority ВО Права Пользователи Права KCA MyProxy

7 Безопасность GT4 Аутентификация на основе открытого ключа
Расширяемая инфраструктура авторизации на основе стандартов Web-служб Идентификатор авторизации SAML Интегрированный механизм обработки политик язык XACML и т.п. Службы управления сертификатами MyProxy Служба Групповой Авторизации Отдельная служба делегирования

8 Использование стандартов безопасности GT4
Поддерживается но медленный Поддерживается но не безопасный Самый быстрый по умолчанию

9 Интеграция GT и XACML eXtensible Access Control Markup Language — расширяемый язык разметки контроля доступа стандарт OASIS, открытая реализация XACML: сложный язык работы с политиками GT предоставляет среду исполнения XACML Включена в каждом клиенте и сервере GT … которая может быть прозрачно вызвана из среды исполнения или пользовательского приложения.

10 Инфраструктура авторизации GT
10

11 Другие службы безопасности
11 MyProxy Упрощенное управление сертификатами Интеграция с Web-порталами (Tomcat) Поддержка единого входа KCA & kx.509 Интеграция с доменами Kerberos SimpleCA Генерация сертификатов Online

12 Компоненты управления данными

13 Globus Toolkit v4 www.globus.org Security Data Mgmt Execution Mgmt
Replication 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

14 GT4 Data Management Хранение/перемещение больших объемов данных с/на узлы GridFTP, Reliable File Transfer (RFT) Отдельно, и интегрировано с GRAM Определение местонахождения необходимой информации Replica Location Service (RLS) Реплики данных для увеличения производительности Distributed Replication Service (DRS) Обеспечение доступа к различным источникам данных Файловые системы параллельные файловые системы, иерархические системы хранения: GridFTP Базы данных: OGSA DAI

15 GridFTP в GT4 Поддержка IPv6 Расширенный ввод/вывод
(XIO) для различных транспортных протоколов Разделение на полосы (Striping)  скорости передачи данных порядка мульти-Gb/sec 27 Gbit/s на 30 Gbit/s канале Подключаемый Front-end: канал, контролируемый WS Back-end: HPSS, кластерная файловая система Передача: UDP, NetBLT transport Future: integration of provisioning E.g., storage reservation HPSS High Performance Storage System высокопроизводительная система хранения (данных) If you simply wish to access data that others have made available, you need a GridFTP client. The Globus Toolkit provides a client called globus-url-copy for this purpose. This client is capable of accessing data via a range of protocols (http, https, ftp, gsiftp, and file). As noted above this is not an interactive client, but a command line interface, suitable for scripting. For example, the following command: globus-url-copy gsiftp://remote.host.edu/path/to/file file:///path/on/local/host would transfer a file from a remote host to the locally accessible path specified in the second URL. Finally, if you wish to add access to files stored behind GridFTP servers, or you need custom client functionality, you can use our very powerful client library to develop custom client functionality.

16 Reliable File Transfer: надежный протокол передачи
16 Передача: запустил и забыл Интерфейс Web-служб Интегрированная система восстановления RFT Client SOAP Messages Notifications (Optional) RFT Service RFT is a Web Services Resource Framework (WSRF) compliant web service that provides “job scheduler"-like functionality for data movement. You simply provide a list of source and destination URLs (including directories or file globs) and then the service writes your job description into a database and then moves the files on your behalf. Once the service has taken your job request, interactions with it are similar to any job scheduler. Service methods are provided for querying the transfer status, or you may use standard WSRF tools (also provided in the Globus Toolkit) to subscribe for notifications of state change events. We provide the service implementation which is installed in a web services container (like all web services) and a very simple client. There are Java classes available for custom development, but due to lack of time and resources, work is still needed to make this easier. GridFTP Server GridFTP Server Master DSI Protocol Interpreter Data Channel IPC Receiver Slave DSI IPC Link Data Channel Protocol Interpreter Master DSI Slave DSI IPC Receiver IPC Link

17 Replica Location Service
Позволяет определить положение файлов посредством карты имен: логических в физические Распределенный индекс имен Управление ~40 миллионами файлов на ~10 сайтах Index Index RLS is a simple registry that keeps track of where replicas exist on physical storage systems. Users or services register files in RLS when the files are created. Later, users query RLS servers to find these replicas. RLS is a distributed registry, meaning that it may consist of multiple servers at different sites. By distributing the RLS registry, we are able to increase the overall scale of the system and store more mappings than would be possible in a single, centralized catalog. We also avoid creating a single point of failure in the Grid data management system. If desired, RLS can also be deployed as a single, centralized server. Local DB Update send (secs) Bloom filter (secs) Bloom filter (bits) 10K <1 2 1 M 24 10 M 5 M 7 175 50 M

18 OGSA-DAI Предоставляет сервисно-ориентированный доступ к структурированным ресурсам данных как часть системы Globus Определяет интерфейсы доступа к различным типам хранилищ данных (начиная с реляционных и XML)

19 OGSA-DAI: инфраструктура для разработки приложений
Поддерживает доступ к данным Реляционные: MySQL, Oracle, DB2, SQL Server, Postgres XML: Xindice, eXist Файлы – CSV, BinX, EMBL, OMIM, SWISSPROT,… Поддерживает передачу данных SOAP над HTTP FTP; GridFTP Inter-service Поддерживает трансформацию данных XSLT ZIP; GZIP Поддерживает безопасность X.509 certificate based security

20 Инфраструктура OGSA-DAI
Application Client Toolkit 20 OGSA-DAI service Data resources used to be called connection managers Engine readFile XPath SQLQuery XSLT GZip GridFTP Действия JDBC XMLDB File Ресурсы данных MySQL SQL Server DB2 XIndice SWISS PROT Базы данных

21 Пример расширения OGSA-DAI service Engine SQLQuery SQLQuery Multiple
Data resources used to be called connection managers SQLQuery SQLQuery Multiple SQL GDS JDBC MySQL SQL JDBC SQL JDBC SQL JDBC SQL JDBC

22 OGSA-DAI: другие свойства
Инфраструктура для создания клиентов Библиотека Client Toolkit library Инфраструктура для разработки функциональности Возможность расширения существующих или создания собственных действий Возможность объединения действий Высоко-расширяемая Возможность «затачивать» продукт Разработка собственных служб, клиентских приложений и собственной функциональности (в зависимости от данных)

23 Управление выполнением задач

24 Security Data Mgmt Execution Mgmt Info Services Common Runtime
Replication 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)
25 Общий интерфейс для планировщиков на основе WS Unix, Condor, LSF, PBS, SGE, … Обобщенно: интерфейс для управления процессами Формирование среды исполнения Загрузка данных Мониторинг и управление жизненным циклом Завершение работы, очистка

26 Архитектура GT4 WS GRAM Service host(s) and compute element(s)
26 Service host(s) and compute element(s) Job events SEG GT4 Java Container Compute element GRAM services GRAM services Local job control Local scheduler Job functions sudo GRAM adapter Delegate The Scheduler Event Generator (SEG) is a program which uses scheduler-specific monitoring modules to generate job state change events. At the SEG level, the state change events correspond to changes in any jobs which are managed by the scheduler, even if they do not correspond to jobs initiated by the Managed Job Service. Client Transfer request Delegation Delegate GridFTP User job RFT File Transfer FTP control FTP data Remote storage element(s) GridFTP

27 Архитектура GT4 WS GRAM Сертификат может быть передан приложению
27 Service host(s) and compute element(s) Job events SEG GT4 Java Container Compute element GRAM services GRAM services Local job control Local scheduler Job functions sudo GRAM adapter Delegate Client Transfer request Delegation Delegate GridFTP User job RFT File Transfer FTP control FTP data Remote storage element(s) GridFTP Сертификат может быть передан приложению

28 Архитектура GT4 WS GRAM Сертификат может быть
28 Service host(s) and compute element(s) Job events SEG GT4 Java Container Compute element GRAM services GRAM services Local job control Local scheduler Job functions sudo GRAM adapter Delegate Client Transfer request Delegation Delegate GridFTP User job RFT File Transfer FTP control FTP data Remote storage element(s) GridFTP Сертификат может быть передан для авторизации в RFT

29 Архитектура GT4 WS GRAM Сертификат может быть
29 Service host(s) and compute element(s) Job events SEG GT4 Java Container Compute element GRAM services GRAM services Local job control Local scheduler Job functions sudo GRAM adapter Delegate Client Transfer request Delegation Delegate GridFTP User job RFT File Transfer FTP control FTP data Remote storage element(s) GridFTP Сертификат может быть использован для аутентификации В GridFTP

30 Производительность WS GRAM
30 Время постановки базового задания GRAM Pre-WS GRAM: < 1 секунды WS GRAM: 2 секунды Максимальное количество заданий Pre-WS GRAM: 300 заданий WS GRAM: 32,000 заданий (максимум папок в директории)

31 Workspace Service: Служба рабочего пространства
31 Политика Задача Клиент Согласование доступа Инициация задачи Мониторинг задачи Контроль задачи Окружение Поставщик ресурса Интерфейс

32 Задачи могут быть вложенные
32 Клиент Политика Клиент Клиент Среда Поставщик ресурсов Интерфейс

33 Например Инициация, управление и мониторинг на всех уровнях
33 JVM Установить службу JVM Установить контейнер In computing, a hypervisor (also: virtual machine monitor) is a virtualization platform that allows multiple operating systems to run on a host computer at the same time. The term usually refers to an implementation using full virtualization. VM Установить виртуальную машину Гипервизор/OS Установить гипервизор/OS Физическая машина Обеспечить аппаратные ресурсы Инициация, управление и мониторинг на всех уровнях

34 Динамическое развертывание служб
34 Сообщество А Сообщество Z Групповые механизмы планирования Распределение данных Групповой менеджмент Научные службы ... Требования: Управление группами Устойчивость Гарантированные ресурсы Изолированность (принцип «невмешательства»)

35 Затраты на использование виртуальных машин
35 Job in booted VM GRAM job in paused VM GRAM job

36 Информационные службы

37 Python Runtime WebMDS C Runtime Trigger Java Runtime Index
Data Replication 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 Мониторинг и обнаружение
38 Должны поддерживаться стандартные механизмы мониторинга и обнаружения служб WSRF/WSN предоставляют такие механизмы Общая инфраструктура для сбора информации: MDS-Index: кешируемые Xpath запросы MDS-Trigger: выполнение действия по условию Глубокая интеграция с контейнерами и службами Globus: каждая служба GT4 может быть обнаружена GRAM, RFT, GridFTP, CAS, … XPath (XML Path Language) - язык запросов к элементам XML-документа. Он был разработан для организации доступа к частям документа XML в файлах трансформации XSLT, и является стандартом консорциума W3C. Обнаружение - это процесс, с помощью которого клиентское приложение находит Web-службу и определяет, что же она может делать. При выполнении этого процесса к службе и от неё идут сообщения, которые описывают, что именно служба может делать. Клиентам, пред тем как использовать службу, эти данные надо знать. Кроме того, служба сообщает клиенту, какие виды сообщений она будет принимать.

39 Мониторинг и обнаружение служб GT4
Клиенты (WebMDS) 39 GT4 Container WS-ServiceGroup MDS- Index Регистрация и доступ WSRF/WSN WebMDS: configurable via XSLT style sheets WebMDS enables end users to view monitoring information via a standard web browser interface, without installing any additional software on their PC. WebMDS is implemented as a servlet that uses a plugin interface to gather monitoring information (or any other information in XML format) and XSLT transforms, and present the data to the user in a readable form. adapter GT4 Cont. GT4 Container MDS- Index MDS- Index Особые протоколы для не-WS сущностей Автомат. регистрация в контейнере GridFTP RFT GRAM User

40 Производительность сервера индекса
40 По мере роста индекса MDS4, замедляется время обработки запроса, хотя и менее чем линейно Время ответа увеличивается в связи с увеличивающимся объемом передаваемых данных Ответ перестраивается под каждый запрос

41 Поставщики информации
41 Поставщики информации (information providers) GT4 собирают информацию с определенной системы и предоставляют в виде свойств ресурса WSRF Количество поставщиков информации постоянно растет Ganglia, CluMon, Nagios SGE, LSF, OpenPBS, PBSPro, Torque Множество попыток разработки новых поставщиков Например мониторинг сетей, систем хранения, сенсоров Ganglia - масштабируемая распределенная система мониторинга для высокопроизводительных компьютерных систем, таких как кластеры и Грид. Она основана на иерархической структуре, соответствующей объединениям кластеров. NCSA CluMon is a Linux-based cluster monitoring tool.

42 Службы Java на Apache Axis плюс библиотеки и обработчики GT
42 КЛИЕНТ Your Java Client Your C Client Your Python Client Ваш клиент (Java) Ваш клиент (С) Ваш клиент (Python) Your Java Client Your C Client Your Python Client Ваш клиент (Java) Ваш клиент (С) Ваш клиент (Python) In summary Совместимые с WS-I сообщения SOAP X сертификаты = общая аутентификация Your Java Service GRAM RFT Delegation Index Trigger Archiver CAS OGSA-DAI GTCP Ваша служба (Python) Ваша служба (С) Ваша служба (Java) GridFTP SimpleCA MyProxy RLS Pre-WS GRAM Pre-WS MDS pyGlobus WS Core C WS Core Службы Java на Apache Axis плюс библиотеки и обработчики GT Хостинг на Python, библиотеки GT Службы на C, использующие библиотеки GT СЕРВЕР

43 Ссылки и литература Я. Фостер, К. Кессельман, Д.М. Ник, С. Тьюке “ФИЗИОЛОГИЯ ГРИД”. Открытая архитектура грид- служб для интеграции распределённых систем. [ /publ_file/] Borja Sotomayor. The Globus Toolkit 4 Programmer’s Tutorial. November tutorial/download/progtutorial-pdf_0.2.1.tar.gz] Globus Toolkit Release Manuals [ unix.globus.org/toolkit/docs/4.2/4.2.1/]

44 Презентации

45 Спасибо за внимание! Ваши вопросы? Страница курса:
Радченко Глеб Игоревич, каф. СП, ЮУрГУ


Download ppt "Грид технологии Лекция 7 Архитектура Globus Toolkit"

Similar presentations


Ads by Google