Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемkhext.mx1.ru
1 Введение в Grid Computing и Globus Toolkit The Globus Project Argonne National Laboratory USC Information Sciences Institute
2 Intro to Grid Computing and Globus Toolkit2 Содержание l Введение в Grid Computing l Некоторые определения l Архитектура Grid l The Programming Problem l The Globus Toolkit –Введение, безопасность, управление ресурсами, управление данными l Перспективы
3 Intro to Grid Computing and Globus Toolkit3 Зачем оно надо? (The Grid problem) l Flexible, secure, coordinated resource sharing among dynamic collections of individuals, institutions, and resource Из The Anatomy of the Grid: Enabling Scalable Virtual Organizations l Дать возможность виртуальным организациям совместного использования географически удалённых ресурсов при совместной работе – подразумевая отсутствие… –центрального расположения, –централизованного контроля, –всеведения, –атмосферы доверия.
4 Intro to Grid Computing and Globus Toolkit4 Составляющие Проблемы l Совместное использование ресурсов –Компьютеры, хранение данных, сети, … –Совместное использование ресурсов всегда возможно только при определённых условиях: вопросы доверия, внутренних правил, оплата, переговоры, … l Координированное решение задач –Анализ удалённых данных, вычисления, совместная работа, … l Виртуальные организации - динамичные, включающие различные Институты, группы –Научные сообщества включают различные классические организации –Многочисленные или нет, динамичные или статичные
5 Intro to Grid Computing and Globus Toolkit5 DOE X-ray grand challenge: ANL, USC/ISI, NIST, U.Chicago Томографическая реконструкция Сбор данных в режиме реального времени wide-area dissemination ПК & ВР совместное управление Advanced Photon Source Доступ в сети к научным инструментам архивы
6 Intro to Grid Computing and Globus Toolkit6 Image courtesy Harvey Newman, Caltech Grids в Физике Высоких энергий Tier2 Centre ~1 TIPS Online System Offline Processor Farm ~20 TIPS CERN Computer Centre FermiLab ~4 TIPS France Regional Centre Italy Regional Centre Germany Regional Centre Institute Institute ~0.25TIPS Physicist workstations ~100 MBytes/sec ~622 Mbits/sec ~1 MBytes/sec There is a bunch crossing every 25 nsecs. There are 100 triggers per second Each triggered event is ~1 MByte in size Physicists work on analysis channels. Each institute will have ~10 physicists working on one or more channels; data for these channels should be cached by the institute server Physics data cache ~PBytes/sec ~622 Mbits/sec or Air Freight (deprecated) Tier2 Centre ~1 TIPS Caltech ~1 TIPS ~622 Mbits/sec Tier 0 Tier 1 Tier 2 Tier 4 1 TIPS is approximately 25,000 SpecInt95 equivalents
7 Intro to Grid Computing and Globus Toolkit7 l Кто = –1000s домашних ПК –Филантропическая компания Entropia –Научно- исследовательская компания Scripps l Единая Цель = ускорить исследования в области СПИДа Домашние компьютеры тестируют лекарства от СПИДа
8 Intro to Grid Computing and Globus Toolkit8 Компьютерные сети l Сети vs. Производительность компьютеров –Вычислительные скорости удваиваются каждые 18 месяцев –Скорости сетей удваиваются каждые 9 месяцев –Разница на целый порядок за 5 лет l 1986 to 2000 –компьютеры: x 500 –сети: x 340,000 l 2001 to 2010 –компьютеры: x 60 –сети: x 4000 Moores Law vs. storage improvements vs. optical improvements. Graph from Scientific American (Jan- 2001) by Cleo Vilett, source Vined Khoslan, Kleiner, Caufield and Perkins.
9 Intro to Grid Computing and Globus Toolkit9 The Globus Project Making Grid computing a reality l Тесное сотрудничество с реальными Grid проектами в науке и промышленности l Разработка и распространение стандартных протоколов для Grid с целью достижения совместимости и создания инфраструктуры l Разработка и распространение стандартного программного обеспечения для Grid - универсального и мультиплатформного l The Globus Toolkit: Бесплатное, в прямом доступе; база для создания различных приложений и создания Grid инфраструктуры l Global Grid Forum: Разработка стандартных протоколов и приложений для Grid
10 Intro to Grid Computing and Globus Toolkit10 Некоторые Grid Проекты NameURL & SponsorsFocus Access Grid accessgrid; DOE, NSF Create & deploy group collaboration systems using commodity technologies BlueGridIBMGrid testbed linking IBM laboratories DISCOM discom DOE Defense Programs Create operational Grid providing access to resources at three U.S. DOE weapons laboratories DOE Science Grid sciencegrid.org DOE Office of Science Create operational Grid providing access to resources & applications at U.S. DOE science laboratories & partner universities Earth System Grid (ESG) earthsystemgrid.org DOE Office of Science Delivery and analysis of large climate model datasets for the climate research community European Union (EU) DataGrid eu-datagrid.org European Union Create & apply an operational grid for applications in high energy physics, environmental science, bioinformatics g g g g g g New
11 Intro to Grid Computing and Globus Toolkit11 Некоторые Grid Проекты NameURL/SponsorFocus EuroGrid, Grid Interoperability (GRIP) eurogrid.org European Union Create tech for remote access to supercomp resources & simulation codes; in GRIP, integrate with Globus Toolkit Fusion Collaboratory fusiongrid.org DOE Off. Science Create a national computational collaboratory for fusion research Globus Project globus.org DARPA, DOE, NSF, NASA, Msoft Research on Grid technologies; development and support of Globus Toolkit; application and deployment GridLab gridlab.org European Union Grid technologies and applications GridPP gridpp.ac.uk U.K. eScience Create & apply an operational grid within the U.K. for particle physics research Grid Research Integration Dev. & Support Center grids-center.org NSF Integration, deployment, support of the NSF Middleware Infrastructure for research & education g g g g g g New
12 Intro to Grid Computing and Globus Toolkit12 Некоторые Grid Проекты NameURL/SponsorFocus Grid Application Dev. Software hipersoft.rice.edu/ grads; NSF Research into program development technologies for Grid applications Grid Physics Network griphyn.org NSF Technology R&D for data analysis in physics expts: ATLAS, CMS, LIGO, SDSS Information Power Grid ipg.nasa.gov NASA Create and apply a production Grid for aerosciences and other NASA missions International Virtual Data Grid Laboratory ivdgl.org NSF Create international Data Grid to enable large-scale experimentation on Grid technologies & applications Network for Earthquake Eng. Simulation Grid neesgrid.org NSF Create and apply a production Grid for earthquake engineering Particle Physics Data Grid ppdg.net DOE Science Create and apply production Grids for data analysis in high energy and nuclear physics experiments g g g g g New g
13 Intro to Grid Computing and Globus Toolkit13 Некоторые Grid Проекты NameURL/SponsorFocus TeraGrid teragrid.org NSF U.S. science infrastructure linking four major resource sites at 40 Gb/s UK Grid Support Center grid-support.ac.uk U.K. eScience Support center for Grid projects within the U.K. UnicoreBMBFTTechnologies for remote access to supercomputers g g New Also many technology R&D projects: e.g., Condor, NetSolve, Ninf, NWS See also
14 Intro to Grid Computing and Globus Toolkit14 The 13.6 TF TeraGrid: Computing at 40 Gb/s HPSS 5 UniTree External Networks Site Resources NCSA/PACI 8 TF 240 TB SDSC 4.1 TF 225 TB CaltechArgonne TeraGrid/DTF: NCSA, SDSC, Caltech, Argonne
15 Intro to Grid Computing and Globus Toolkit15 U.S. PIs: Avery, Foster, Gardner, Newman, Szalay iVDGL: International Virtual Data Grid Laboratory Tier0/1 facility Tier2 facility 10 Gbps link 2.5 Gbps link 622 Mbps link Other link Tier3 facility
16 Intro to Grid Computing and Globus Toolkit16 Для информации l Globus Project – l Grid Forum – l Книга (Morgan Kaufman) –
17 Некоторые определения The Globus Project Argonne National Laboratory USC Information Sciences Institute
18 Intro to Grid Computing and Globus Toolkit18 Некоторые важные определения l Ресурс l Протокол сети l Сервис, обеспечиваемый сетью l Интерфейс приложения - Application Programmer Interface (API) l Software Development Kit (SDK) l Синтаксис
19 Intro to Grid Computing and Globus Toolkit19 Ресурс l Всё, что можно использовать совместно –Компьютеры, накопители информации, данные, компьютерные программы и т.д. l Не обязательно должен быть физической единицей –Condor pool, distributed file system, … l Определяется интерфейсами, а не устройствами –планировщик (such as LSF and PBS) определяет комьютерный ресурс –Open/close/read/write определяет доступ к распределённой системе файлов, e.g. NFS, AFS, DFS
20 Intro to Grid Computing and Globus Toolkit20 Сетевой протокол l Формальное описание форматов сообщений и набор правил для обмена сообщениями –Правила могут определять последовательность обмена сообщениями –Протокол может определять изменение состояния ситемы в конечной точке (например, изменение состояния системы файлов) l Хорошие протоколы созданы с одной целью –Протоколы можно накладывать друг на друга l Примеры Протоколов –IP, TCP, TLS (было SSL), HTTP, Kerberos
21 Intro to Grid Computing and Globus Toolkit21 Сервис, обеспечиваемый сетью l Создание протокола, который определяет набор возможностей –Протокол определяет связь с сервисом –Все сервисы нуждаются в протоколе –Не все протоколы используются для предоставления сервиса(e.g. IP, TLS) l Примеры: FTP и Web серверы Web Server IP Protocol TCP Protocol TLS Protocol HTTP Protocol FTP Server IP Protocol TCP Protocol FTP Protocol Telnet Protocol
22 Intro to Grid Computing and Globus Toolkit22 Application Programming Interface l Набор спецификаций для приложения –Относится к функциональному определению, а не к конкретному воплощению –Например, существует много воплощений MPI l Часто эти спецификации бывают привязаны к конкретному языку программирования –Название программы, количество и тип аргументов, определённые языковые конструкции –Поведение функции или программы l Примеры –GSS API (security), MPI (message passing)
23 Intro to Grid Computing and Globus Toolkit23 Протокол может иметь множество APIs l TCP/IP APIs включают в себя BSD sockets, Winsock, System V streams, … l Протокол предоставляет совместимость: программы, использующие разные APIs, могут обмениваться информацией l Мне не нужно знать API другого пользователя TCP/IP Protocol: Reliable byte streams WinSock APIBerkeley Sockets API Application
24 Intro to Grid Computing and Globus Toolkit24 API может иметь много протоколов l MPI - портативно: любая правильная программа должна компилироваться и работать на любой платформе l Но никакой совместимости на уровне SDK – E.g., MPICH и LAM версии MPI Application MPI API LAM SDK LAM protocol MPICH-P4 SDK MPICH-P4 protocol TCP/IP Разный формат сообтщений, частоты обмена и пр.
25 Intro to Grid Computing and Globus Toolkit25 APIs и Протоколы очень важны l Стандартные APIs/SDKs важны –Они дают приложению портативность –Но без стандартных протоколов внутренняя совместимость невозможна (любой SDK понимет любой протокол?) l Стандартные протоколы важны –Дают внутреннюю совместимость независимости от месторасположения –Делают возможным совместные инфраструктуры –Но без стандартных APIs/SDKs становится невозможным портативность приложения (различные платформы работают с протоколами по-разному)
26 Intro to Grid Computing and Globus Toolkit26 Software Development Kit l Определённое воплощение API l SDK состоит из библиотек и программ –Представляет собой воплощение спецификаций API l Для одного API может быть много SDKs l Примеры SDK –MPICH, Motif Widgets, LAM
27 Intro to Grid Computing and Globus Toolkit27 Синтаксис l Правила для расшифровки информации –XML, Condor ClassAds, Globus RSL –X.509 certificate format (RFC 2459) –Cryptographic Message Syntax (RFC 2630) l Просьба, не путать с протоколом! –Один и тот же синтаксис может быть использован разными протоколами (e.g., XML) l Синтаксис может быть наложен один на другой –E.g., Condor ClassAds -> XML -> ASCII –Очень важно понимать концепцию наложения синтаксиса при сравнениях и оценке.
28 Архитектура Grid The Globus Project Argonne National Laboratory USC Information Sciences Institute
29 Intro to Grid Computing and Globus Toolkit29 Зачем обсуждать Архитектуру? l Описание –Предлoжить общие термины для обсуждения Grid систем l Направление работ –Определить основные области, требующие создания сервиса l Предопределение –Определить стандартные Intergridовские протоколы и APIs для создания совместимых и портативных приложений
30 Intro to Grid Computing and Globus Toolkit30 Некоторые Требования l Идентификация l Авторизация&правила l Поиск ресурсов l Описание ресурсов l Резервирование ресурсов l Распределённые алгоритмы l Доступ к удалённым данным l Высоко-скоростная пересылка данных l Гарантирование производительности l Обнаружение несанкционированного доступа l Распределение ресурсов l Счета и оплата l Обнаружение неполадок l Эволюция систем l Мониторинг l И т.д. l …
31 Intro to Grid Computing and Globus Toolkit31 Три пункта для превращения Grid computing в рутину… 1) Новые подходы к решению проблем – Data Grids, распределённые вычисления, peer-to- peer, объединённые grids, … 2) Структурирование и написание программ – Абстракции, инструменты 3) Обеспечение совместного доступа к ресурсам – Инспекция ресурсов, доступ, бронирование, выделение; аутентификация, авторизация; коммуникация; Диагностика сбоев; … Programming Problem Systems Problem
32 Intro to Grid Computing and Globus Toolkit32 В итоге, Grid Архитектура, ориентированная на Протоколы: l Создание протоколов и сервисной оболочки Grid –Доступ к удалённым ресурсам через протоколы –Новые сервисы: предоставление ресурсов –работать в Grid = понимать Intergrid протоколы –В основном уже имеющиеся протоколы или их расширения l Создание Grid APIs & SDKs –Интерфейсы к Grid протоколам и сервисной оболочке –Помощь в создании приложений путём созданий абстракций на более высоком уровне l Модель, имеющая огромный успех - Internet
33 Intro to Grid Computing and Globus Toolkit33 Многоуровневая Архитектура Grid (По Аналогии с Архитектурой Интернета) Application Fabric локальный контроль над ресурсами: Доступ и контроль ресурсов Connectivity Коммуникация: коммуникация (Internet протоколы) & защищённость Resource Совместное использование одних ресурсов: доступ по договору, использование под контролем Collective Координация многочисленных ресурсов: специфические сервисы Internet Transport Application Link Internet Protocol Architecture
34 Intro to Grid Computing and Globus Toolkit34 Протоколы, Сервис и APIs находятся на каждом уровне Язык/Frameworks Fabric Layer Приложение Протоколы и APIs локального доступа APIs and SDKs общего сервиса Общий сервис Протоколы общего сервиса APIs and SDKs ресурсов Сервис ресурсов Протоколы сервиса ресурсов APIs связи Протоколы связи
35 Intro to Grid Computing and Globus Toolkit35 Важные моменты: l Основано на протоколах и сервисе Интернет –Связь, маршруты, определение имени, и т.д. lМногоуровневость здесь чисто концептуальна, НЕ накладывает никаких ограничений на то, кто какие функции может вызвать –Протоколы/сервис/APIs/SDKs в идеале, будут самодостаточны –Некоторые вещи здесь фундаментальны: например, коммуникация и защищённость –Привлекательно для функций высокого уровня использовать стандартные функции низкого уровня
36 Intro to Grid Computing and Globus Toolkit36 Ну и что сейчас с Архитектурой? l Не существует никаких официальных стандартов l НО: –Globus Toolkit является практически de facto стандартом для многих важных протоколов (связь, ресурсы и общие) –GGF имеет рабочую группу по архитектуре –Технические детали находятся сейчас в разработке: защищённость, управление ресурсами и данными, информационный сервис –Документы (в области безопасности) приняты к публикации в Интернете
37 Intro to Grid Computing and Globus Toolkit37 Fabric уровень Протоколы и сервис l Всё что можно ожидать: огромное разнообразие совместных ресурсов –ПК, файловые системы, архивы, каталоги метаданных, сети, сенсоры и т.д, и т.п. l Несколько ограничений на технологии низких уровней (Few constraints on low-level technology): протоколы связи и ресурсов являются узким местом l Определяется интерфейсами, а не физическими характеристиками
38 Intro to Grid Computing and Globus Toolkit38 GSI: Уровень связи: Протоколы & Сервис l Коммуникация –Internet протоколы: IP, DNS, routing, etc. l Защищённость: Grid Security Infrastructure (GSI) –Единая идентификация, авторизация и защищённая передача сообщений –Однократный логин, делегирование, идентификация –Public key technology, SSL, X.509, GSS-API –Инфраструктура поддержки: централизованная выдача сертификатов, управление сертификатами и ключами, …
39 Intro to Grid Computing and Globus Toolkit39 GRAM, GridFTP, GRIS: Уровень ресурсов: Протоколы & Сервис l Grid Resource Allocation Management (GRAM) –Удалённые ресурсы : выделение, резервирование, мониторинг и управление компьютерными ресурсами –GridFTP протокол (FTP расширения) –Высокоскоростной доступ к данным и пересылка l Grid Resource Information Service (GRIS) –Доступ к информации l В проекте: доступ к каталогам, доступ к библиотеке програм, Catalog access, code repository access, и т.д. l Всё пострено на уровне: GSI & IP
40 Intro to Grid Computing and Globus Toolkit40 Общий Уровень: Протоколы & Сервис l Распределение ресурсов (e.g., Condor Matchmaker) –Поиск и выявление ресурсов l Каталог реплик l Сервис копирования l Сервис по одновременному резервированию и выделению l И т.д. Condor:
41 Intro to Grid Computing and Globus Toolkit41 Пример: Data Grid Архитектура Приложение, специфичное для какой-то области Выбор реплики, управление заданием, виртуальный каталог данных, … Каталог реплик, управление репликами, выделение ресурсов, выдача сертификатов, каталоги метаданных Доступ к данным, доступ к компьютерам, доступ к информации о сети,.. Коммуникации, поиск сервиса (DNS), идентификация, авторизация, делегация Системы хранения данных, кластеры, сети,... Collective (App) App Collective (Generic) Resource Connect Fabric
42 The Programming Problem The Globus Project Argonne National Laboratory USC Information Sciences Institute
43 Intro to Grid Computing and Globus Toolkit43 The Programming Problem l But how do I develop robust, secure, long- lived, well-performing applications for dynamic, heterogeneous Grids? l I need, presumably: –Abstractions and models to add to speed/robustness/etc. of development –Tools to ease application development and diagnose common problems –Code/tool sharing to allow reuse of code components developed by others
44 Intro to Grid Computing and Globus Toolkit44 Проблема программирования l Ну и как мне создать надёжное, долговременное, высокоэффективное приложение для динамичных и разнородных Grids? l Для этого мне нужно: –Абстракции и модели чтобы ускорить/улучшить сам процесс –Набор программных средств для диагностики проблем и упрощения написания программы –Создать универсальные средства, чтобы было возможно использование некоторых компонент другими
45 Intro to Grid Computing and Globus Toolkit45 Examples of Grid Programming Technologies l MPICH-G2: Grid-enabled message passing l CoG Kits, GridPort: Portal construction, based on N-tier architectures l GDMP, Data Grid Tools, SRB: replica management, collection management l Condor-G: workflow management l Legion: object models for Grid computing l Cactus: Grid-aware numerical solver framework –Note tremendous variety, application focus
46 Intro to Grid Computing and Globus Toolkit46 Примеры Программных Технологий в Grid l MPICH-G2: адаптированный для Grid MPI l CoG Kits, GridPort: идея портала, основано на N- уровневой архитектуре l GDMP, Data Grid Tools, SRB: управление репликами, набором данных l Condor-G: управление процессом расчётов l Legion: объектные модели для программирования в Grid l Cactus: адаптированные для Grid набор средств для решения численных задач –Следует обратить внимание на огромное разнообразие средств (все ориентированны на определённое приложение)
47 Intro to Grid Computing and Globus Toolkit47 За всем этим стоит единый набор программных средств l Ни один из перечисленных проектов не создавал протоколы и пр. с нуля! l Использовался единый набор средств, который… –Имеет все основные функции >SDKs который может быть использован для создания различных программных продуктов >Стандартный сервис, который легко установить –Надёжный, правильно спроектированный, не противоречащий себе –Является бесплатным, широко доступным l Всем этим требованиям отвечает Globus Toolkit…
48 The Globus Toolkit: Introduction The Globus Project Argonne National Laboratory USC Information Sciences Institute
49 Intro to Grid Computing and Globus Toolkit49 Globus Toolkit l Набор программных средств, решающий основные технические проблемы при создании программного обеспечения для Grid –Предлагает пакетный набор средств –Позволяет поэтапное создание программных средств и приложений для Grid –Воплощает стандартные Grid протоколы и APIs –Доступен бесплатно для всех (Оpen source)
50 Intro to Grid Computing and Globus Toolkit50 Общий подход l Определить Grid протоколы & APIs –Доступ к удалённым ресурсам посредством протоколов –Интегрировать и расширить имеющиеся стандарты l Создать соответствующий набор средств –Доступный всем Globus Toolkit –Набор утилит, SDKs, сервис, и т.д. l Адаптировать для Grid множество известных приложений –Globus Toolkit, FTP, SSH, Condor, SRB, MPI, … l Учиться на своём опыте (Эти тезисы взяты с официального сайта…)
51 Intro to Grid Computing and Globus Toolkit51 Четыре ключевых протокола l The Globus Toolkit основан на четырёх основных протоколах –Уровень связи: >защищённость: Grid Security Infrastructure (GSI) –Уровень ресурсов: >Управление ресурсами: Grid Resource Allocation Management (GRAM) >Информационный сервис: Grid Resource Information Protocol (GRIP) >Пересылка данных: Grid File Transfer Protocol (GridFTP) l Также основные протоколы общего уровня –Информационный сервис, управление репликами, и т.д.
52 The Globus Toolkit: Security Services The Globus Project Argonne National Laboratory USC Information Sciences Institute
53 Intro to Grid Computing and Globus Toolkit53 Проблемы при реализации Grid Security… l Resources being used may be valuable & the problems being solved sensitive l Resources are often located in distinct administrative domains –Each resource has own policies & procedures l Set of resources used by a single computation may be large, dynamic, and unpredictable –Not just client/server, requires delegation l It must be broadly available & applicable –Standard, well-tested, well-understood protocols; integrated with wide variety of tools
54 Intro to Grid Computing and Globus Toolkit54 Site A (Kerberos) Site B (Unix) Site C (Kerberos) Computer User Single sign-on via grid-id & generation of proxy cred. Or: retrieval of proxy cred. from online repository User Proxy Proxy credential Computer Storage system Communication* GSI-enabled FTP server Authorize Map to local id Access file Remote file access request* GSI-enabled GRAM server GSI-enabled GRAM server Remote process creation requests* * With mutual authentication Process Kerberos ticket Restricted proxy Process Restricted proxy Local id Authorize Map to local id Create process Generate credentials Ditto GSI in Action Create Processes at A and B that Communicate & Access Files at C
55 Intro to Grid Computing and Globus Toolkit55 1) Easy to use 2) Single sign-on 3) Run applications ftp,ssh,MPI,Condor,Web,… 4) User based trust model 5) Proxies/agents (delegation) User View 1) Specify local access control 2) Auditing, accounting, etc. 3) Integration w/ local system Kerberos, AFS, license mgr. 4) Protection from compromised resources Resource Owner View API/SDK with authentication, flexible message protection, flexible communication, delegation,... Direct calls to various security functions (e.g. GSS-API) Or security integrated into higher-level SDKs: E.g. GlobusIO, Condor-G, MPICH-G2, HDF5, etc. Developer View Grid Security Requirements
56 Intro to Grid Computing and Globus Toolkit56 X.509 Proxy Certificate l Defines how a short term, restricted credential can be created from a normal, long-term X.509 credential –A proxy certificate is a special type of X.509 certificate that is signed by the normal end entity cert, or by another proxy –Supports single sign-on & delegation through impersonation –Currently an IETF draft
57 Intro to Grid Computing and Globus Toolkit57 Globus Security APIs l Generic Security Service (GSS) API –IETF standard –Provides functions for authentication, delegation, message protection –Decoupled from any particular communication method l But GSS-API is somewhat complicated, so we also provide the easier-to-use globus_gss_assist API. l GSI-enabled SASL is also provided
58 Intro to Grid Computing and Globus Toolkit58 Results l GSI adopted by 100s of sites, 1000s of users –Globus CA has issued >3000 certs (user & host), >1500 currently active; other CAs active l Rollouts are currently underway all over: –NSF Teragrid, NASA Information Power Grid, DOE Science Grid, European Data Grid, etc. l Integrated in research & commercial apps –GrADS testbed, Earth Systems Grid, European Data Grid, GriPhyN, NEESgrid, etc. l Standardization begun in Global Grid Forum, IETF
59 Intro to Grid Computing and Globus Toolkit59 GSI Applications l Globus Toolkit uses GSI for authentication l Many Grid tools, directly or indirectly, e.g. –Condor-G, SRB, MPICH-G2, Cactus, GDMP, … l Commercial and open source tools, e.g. –ssh, ftp, cvs, OpenLDAP, OpenAFS –SecureCRT (Win32 ssh client) l And since we use standard X.509 certificates, they can also be used for –Web access, LDAP server access, etc.
60 Intro to Grid Computing and Globus Toolkit60 Ongoing and Future GSI Work l Protection against compromised resources –Restricted delegation, smartcards l Standardization l Scalability in numbers of users & resources –Credential management –Online credential repositories (MyProxy) –Account management l Authorization –Policy languages –Community authorization
61 Intro to Grid Computing and Globus Toolkit61 Security Summary l GSI successfully addresses wide variety of Grid security issues l Broad acceptance, deployment, integration with tools l Standardization on-going in IETF & GGF l Ongoing R&D to address next set of issues l For more information: – >A Security Architecture for Computational Grids >Design and Deployment of a National-Scale Authentication Infrastructure –
62 The Globus Toolkit: Resource Management Services The Globus Project Argonne National Laboratory USC Information Sciences Institute
63 Intro to Grid Computing and Globus Toolkit63 The Challenge l Enabling secure, controlled remote access to heterogeneous computational resources and management of remote computation –Authentication and authorization –Resource discovery & characterization –Reservation and allocation –Computation monitoring and control l Addressed by new protocols & services –GRAM protocol as a basic building block –Resource brokering & co-allocation services –GSI for security, MDS for discovery
64 Intro to Grid Computing and Globus Toolkit64 Resource Management l The Grid Resource Allocation Management (GRAM) protocol and client API allows programs to be started on remote resources, despite local heterogeneity l Resource Specification Language (RSL) is used to communicate requirements l A layered architecture allows application- specific resource brokers and co-allocators to be defined in terms of GRAM services –Integrated with Condor, PBS, MPICH-G2, …
65 Intro to Grid Computing and Globus Toolkit65 GRAM Protocol l GRAM-1: Simple HTTP-based RPC –Job request >Returns a job contact: Opaque string that can be passed between clients, for access to job –Job cancel, status, signal –Event notification (callbacks) for state changes >Pending, active, done, failed, suspended l GRAM-1.5 (U Wisconsin contribution) –Add reliability improvements >Once-and-only-once submission >Recoverable job manager service >Reliable termination detection l GRAM-2: Moving to Web Services (SOAP)…
66 Intro to Grid Computing and Globus Toolkit66 GRAM LSFCondorNQE Application RSL Simple ground RSL Information Service Local resource managers RSL specialization Broker Ground RSL Co-allocator Queries & Info Resource Management Architecture
67 Intro to Grid Computing and Globus Toolkit67 Resource Specification Language l Common notation for exchange of information between components –Syntax similar to MDS/LDAP filters l RSL provides two types of information: –Resource requirements: Machine type, number of nodes, memory, etc. –Job configuration: Directory, executable, args, environment l Globus Toolkit provides an API/SDK for manipulating RSL
68 Intro to Grid Computing and Globus Toolkit68 RSL Syntax l Elementary form: parenthesis clauses –(attribute op value [ value … ] ) l Operators Supported: – =, >, != l Some supported attributes: –executable, arguments, environment, stdin, stdout, stderr, resourceManagerContact, resourceManagerName l Unknown attributes are passed through –May be handled by subsequent tools
69 Intro to Grid Computing and Globus Toolkit69 Constraints: & l For example: & (count>=5) (count=64) (executable=myprog) l Create 5-10 instances of myprog, each on a machine with at least 64 MB memory that is available to me for 4 hours
70 Intro to Grid Computing and Globus Toolkit70 Disjunction: | l For example: & (executable=myprog) ( | (&(count=5)(memory>=64)) (&(count=10)(memory>=32))) l Create 5 instances of myprog on a machine that has at least 64MB of memory, or 10 instances on a machine with at least 32MB of memory
71 Intro to Grid Computing and Globus Toolkit71 Globus Toolkit Implementation l Gatekeeper –Single point of entry –Authenticates user, maps to local security environment, runs service –In essence, a secure inetd l Job manager –A gatekeeper service –Layers on top of local resource management system (e.g., PBS, LSF, etc.) –Handles remote interaction with the job
72 Intro to Grid Computing and Globus Toolkit72 GRAM Components Grid Security Infrastructure Job Manager GRAM client API calls to request resource allocation and process creation. MDS client API calls to locate resources Query current status of resource Create RSL Library Parse Request Allocate & create processes Process Monitor & control Site boundary ClientMDS: Grid Index Info Server Gatekeeper MDS: Grid Resource Info Server Local Resource Manager MDS client API calls to get resource info GRAM client API state change callbacks
73 Intro to Grid Computing and Globus Toolkit73 Co-allocation l Simultaneous allocation of a resource set –Handled via optimistic co-allocation based on free nodes or queue prediction –In the future, advance reservations will also be supported (already in prototype) l Globus APIs/SDKs support the co- allocation of specific multi-requests –Uses a Globus component called the Dynamically Updated Request Online Co-allocator (DUROC)
74 Intro to Grid Computing and Globus Toolkit74 Multirequest: + l A multirequest allows us to specify multiple resource needs, for example + (& (count=5)(memory>=64) (executable=p1)) (&(network=atm) (executable=p2)) –Execute 5 instances of p1 on a machine with at least 64M of memory –Execute p2 on a machine with an ATM connection l Multirequests are central to co-allocation
75 Intro to Grid Computing and Globus Toolkit75 A Co-allocation Multirequest +( & (resourceManagerContact= flash.isi.edu:754:/C=US/…/CN=flash.isi.edu-fork) (count=1) (label="subjob A") (executable= my_app1) ) ( & (resourceManagerContact= sp139.sdsc.edu:8711:/C=US/…/CN=sp097.sdsc.edu-lsf") (count=2) (label="subjob B") (executable=my_app2) ) Different executables Different counts Different resource managers
76 The Globus Toolkit: Information Services The Globus Project Argonne National Laboratory USC Information Sciences Institute
77 Intro to Grid Computing and Globus Toolkit77 Grid Information Services l System information is critical to operation of the grid and construction of applications –What resources are available? >Resource discovery –What is the state of the grid? >Resource selection –How to optimize resource use > Application configuration and adaptation? l We need a general information infrastructure to answer these questions
78 Intro to Grid Computing and Globus Toolkit78 Examples of Useful Information l Characteristics of a compute resource –IP address, software available, system administrator, networks connected to, OS version, load l Characteristics of a network l Bandwidth and latency, protocols, logical topology l Characteristics of the Globus infrastructure –Hosts, resource managers
79 Intro to Grid Computing and Globus Toolkit79 Grid Information: Facts of Life l Information is always old –Time of flight, changing system state –Need to provide quality metrics l Distributed state hard to obtain –Complexity of global snapshot l Component will fail l Scalability and overhead l Many different usage scenarios –Heterogeneous policy, different information organizations, etc.
80 Intro to Grid Computing and Globus Toolkit80 Grid Information Service l Provide access to static and dynamic information regarding system components l A basis for configuration and adaptation in heterogeneous, dynamic environments l Requirements and characteristics –Uniform, flexible access to information –Scalable, efficient access to dynamic data –Access to multiple information sources –Decentralized maintenance
81 Intro to Grid Computing and Globus Toolkit81 The GIS Problem: Many Information Sources, Many Views ? R R R R R ? R R R R R ? R R R R R ? RR VO A VO B VO C
82 Intro to Grid Computing and Globus Toolkit82 Information Protocols l Grid Resource Registration Protocol –Support information/resource discovery –Designed to support machine/network failure l Grid Resource Inquiry Protocol –Query resource description server for information –Query aggregate server for information –LDAP V3.0 in Globus 1.1.3
83 Intro to Grid Computing and Globus Toolkit83 GIS Architecture AA Customized Aggregate Directories RRRR Standard Resource Description Services Registration Protocol Users Enquiry Protocol
84 Intro to Grid Computing and Globus Toolkit84 Metacomputing Directory Service l Use LDAP as Inquiry l Access information in a distributed directory –Directory represented by collection of LDAP servers –Each server optimized for particular function l Directory can be updated by: –Information providers and tools –Applications (i.e., users) –Backend tools which generate info on demand l Information dynamically available to tools and applications
85 Intro to Grid Computing and Globus Toolkit85 LDAP Details l Lightweight Directory Access Protocol –IETF Standard –Stripped down version of X.500 DAP protocol –Supports distributed storage/access (referrals) –Supports authentication and access control l Defines: –Network protocol for accessing directory contents –Information model defining form of information –Namespace defining how information is referenced and organized
86 Intro to Grid Computing and Globus Toolkit86 Information Services API l RFC 1823 defines an IETF draft standard client API for accessing LDAP databases –Connect to server –Pose query which returns data structures contains sets of object classes and attributes –Functions to walk these data structures l Globus does not provide an LDAP API. We recommend the use of OpenLDAP, an open source implementation of RFC 1823.
87 Intro to Grid Computing and Globus Toolkit87 Searching an LDAP Directory grid-info-search [options] filter [attributes] l Default grid-info-search options -h mds.globus.orgMDS server -p 389 MDS port -b o=Grid search start point -T 30 LDAP query timeout -s sub scope = subtree alternatives: base : lookup this entry one: lookup immediate children
88 The Globus Toolkit: Data Management Services The Globus Project Argonne National Laboratory USC Information Sciences Institute
89 Intro to Grid Computing and Globus Toolkit89 Data Grid Problem l Enable a geographically distributed community [of thousands] to pool their resources in order to perform sophisticated, computationally intensive analyses on Petabytes of data l Note that this problem: –Is common to many areas of science –Overlaps strongly with other Grid problems
90 Intro to Grid Computing and Globus Toolkit90 Major Data Grid Projects l Earth System Grid (DOE Office of Science) –DG technologies, climate applications l European Data Grid (EU) –DG technologies & deployment in EU l GriPhyN (NSF ITR) –Investigation of Virtual Data concept l Particle Physics Data Grid (DOE Science) –DG applications for HENP experiments
91 Intro to Grid Computing and Globus Toolkit91 Data Intensive Issues Include … l Harness [potentially large numbers of] data, storage, network resources located in distinct administrative domains l Respect local and global policies governing what can be used for what l Schedule resources efficiently, again subject to local and global constraints l Achieve high performance, with respect to both speed and reliability l Catalog software and virtual data
92 Intro to Grid Computing and Globus Toolkit92 Data Intensive Computing and Grids l The term Data Grid is often used –Unfortunate as it implies a distinct infrastructure, which it isnt; but easy to say l Data-intensive computing shares numerous requirements with collaboration, instrumentation, computation, … –Security, resource mgt, info services, etc. l Important to exploit commonalities as very unlikely that multiple infrastructures can be maintained l Fortunately this seems easy to do!
93 Intro to Grid Computing and Globus Toolkit93 A Model Architecture for Data Grids Metadata Catalog Replica Catalog Tape Library Disk Cache Attribute Specification Logical Collection and Logical File Name Disk ArrayDisk Cache Application Replica Selection Multiple Locations NWS Selected Replica GridFTP Control Channel Performance Information & Predictions Replica Location 1Replica Location 2Replica Location 3 MDS GridFTP Data Channel
94 Intro to Grid Computing and Globus Toolkit94 Globus Toolkit Components Two major Data Grid components: 1. Data Transport and Access lCommon protocol lSecure, efficient, flexible, extensible data movement lFamily of tools supporting this protocol 2. Replica Management Architecture lSimple scheme for managing: lmultiple copies of files lcollections of files
95 Intro to Grid Computing and Globus Toolkit95 Access/Transport Protocol Requirements l Suite of communication libraries and related tools that support –GSI, Kerberos security –Third-party transfers –Parameter set/negotiate –Partial file access –Reliability/restart –Large file support –Data channel reuse l All based on a standard, widely deployed protocol –Integrated instrumentation –Loggin/audit trail –Parallel transfers –Striping (cf DPSS) –Policy-based access control –Server-side computation –Proxies (firewall, load bal)
96 Intro to Grid Computing and Globus Toolkit96 And The Protocol Is … GridFTP l Why FTP? –Ubiquity enables interoperation with many commodity tools –Already supports many desired features, easily extended to support others –Well understood and supported l We use the term GridFTP to refer to –Transfer protocol which meets requirements –Family of tools which implement the protocol l Note GridFTP > FTP l Note that despite name, GridFTP is not restricted to file transfer!
97 Intro to Grid Computing and Globus Toolkit97 GridFTP: Basic Approach l FTP protocol is defined by several IETF RFCs l Start with most commonly used subset –Standard FTP: get/put etc., 3 rd -party transfer l Implement standard but often unused features –GSS binding, extended directory listing, simple restart l Extend in various ways, while preserving interoperability with existing servers –Striped/parallel data channels, partial file, automatic & manual TCP buffer setting, progress monitoring, extended restart
98 Intro to Grid Computing and Globus Toolkit98 GridFTP Protocol Specifications l Existing standards –RFC 949: File Transfer Protocol –RFC 2228: FTP Security Extensions –RFC 2389: Feature Negotiation for the File Transfer Protocol –Draft: FTP Extensions l New drafts –GridFTP: Protocol Extensions to FTP for the Grid >Grid Forum Data Working Group
99 Intro to Grid Computing and Globus Toolkit99 A Word on GASS l The Globus Toolkit provides services for file and executable staging and I/O redirection that work well with GRAM. This is known as Globus Access to Secondary Storage (GASS). l GASS uses GSI-enabled HTTP as the protocol for data transfer, and a caching algorithm for copying data when necessary. l The globus_gass, globus_gass_transfer, and globus_gass_cache APIs provide programmer access to these capabilities, which are already integrated with the GRAM job submission tools.
100 Intro to Grid Computing and Globus Toolkit100 Grid Physics Network (GriPhyN) Enabling R&D for advanced data grid systems, focusing in particular on Virtual Data concept ATLAS CMS LIGO SDSS
101 Intro to Grid Computing and Globus Toolkit101 The Virtual Data Concept [a virtual data grid enables] the definition and delivery of a potentially unlimited virtual space of data products derived from other data. In this virtual space, requests can be satisfied via direct retrieval of materialized products and/or computation, with local and global resource management, policy, and security constraints determining the strategy used.
102 Intro to Grid Computing and Globus Toolkit102 Virtual Data in Action l Data request may l Access local data l Compute locally l Compute remotely l Access remote data l Scheduling subject to local & global policies l Local autonomy
103 Futures & Conclusions T he G lobus P roject A rgonne N ational L aboratory USC I nformation S ciences I nstitute
104 Intro to Grid Computing and Globus Toolkit104 Problem Evolution l Past-present: O(10 2 ) high-end systems; Mb/s networks; centralized (or entirely local) control –I-WAY (1995): 17 sites, week-long; 155 Mb/s –GUSTO (1998): 80 sites, long-term experiment –NASA IPG, NSF NTG: O(10) sites, production l Present: O( ) data systems, computers; Gb/s networks; scaling, decentralized control –Scalable resource discovery; restricted delegation; community policy; Data Grid: 100s of sites, O(10 4 ) computers; complex policies l Future: O( ) data, sensors, computers; Tb/s networks; highly flexible policy, control
105 Intro to Grid Computing and Globus Toolkit105 The Future: All Software is Network-Centric l We dont build or buy computers anymore, we borrow or lease required resources –When I walk into a room, need to solve a problem, need to communicate l A computer is a dynamically, often collaboratively constructed collection of processors, data sources, sensors, networks –Similar observations apply for software
106 Intro to Grid Computing and Globus Toolkit106 And Thus … l Reduced barriers to access mean that we do much more computing, and more interesting computing, than today => Many more components (& services); massive parallelism l All resources are owned by others => Sharing (for fun or profit) is fundamental; trust, policy, negotiation, payment l All computing is performed on unfamiliar systems => Dynamic behaviors, discovery, adaptivity, failure
107 Intro to Grid Computing and Globus Toolkit107 Summary l The Grid problem: Resource sharing & coordinated problem solving in dynamic, multi-institutional virtual organizations l Grid architecture: Emphasize protocol and service definition to enable interoperability and resource sharing l Globus Toolkit a source of protocol and API definitions, reference implementations l See:
108 Вообще-то говоря, это последний слайд… T he G lobus P roject A rgonne N ational L aboratory USC I nformation S ciences I nstitute
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.