Ю У р Г У МехМат С П Грид технологии Лекция 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 Радченко Глеб Игоревич, каф. СП, ЮУрГУ