Введение в Grid Computing и Globus Toolkit The Globus Project Argonne National Laboratory USC Information Sciences Institute

Презентация:



Advertisements
Похожие презентации
Designing Network Management Services © 2004 Cisco Systems, Inc. All rights reserved. Designing the Network Management Architecture ARCH v
Advertisements

Loader Design Options Linkage Editors Dynamic Linking Bootstrap Loaders.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Managing Your Network Environment Managing Cisco Devices.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Building a Simple Serial Network Understanding the OSI Model.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Connecting Networks Understanding How TCP/IP Works.
© 2009 Avaya Inc. All rights reserved.1 Chapter Two, Voic Pro Components Module Two – Actions, Variables & Conditions.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Route Selection Using Policy Controls Using Multihomed BGP Networks.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Optimizing BGP Scalability Implementing BGP Peer Groups.
© 2006 Cisco Systems, Inc. All rights reserved. BSCI v Implementing BGP Explaining BGP Concepts and Terminology.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary November 4, 2014 Copyright © 2006 Eclipse Foundation, Inc., Made available.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Route Selection Using Policy Controls Applying Route-Maps as BGP Filters.
© 2003, Cisco Systems, Inc. All rights reserved. CSPFA Chapter 3 Cisco PIX Firewall Technology and Features.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary © Wind River Systems, released under EPL 1.0. All logos are TM of their respective.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Customer-to-Provider Connectivity with BGP Connecting a Multihomed Customer to Multiple Service.
© 2006 Cisco Systems, Inc. All rights reserved. BCMSN v Introducing Campus Networks Network Requirements.
Introducing Cisco Network Service Architectures © 2004 Cisco Systems, Inc. All rights reserved. Introducing the Cisco AVVID Framework ARCH v
© 2006 Cisco Systems, Inc. All rights reserved.SNRS v Adaptive Threat Defense Examining Cisco IOS Firewall.
WEB SERVICES Mr. P. VASANTH SENA. W EB SERVICES The world before Situation Problems Solutions Motiv. for Web Services Probs. with Curr. sols. Web Services.
© 2004, Cisco Systems, Inc. All rights reserved. CSPFA Lesson 3 Cisco PIX Firewall Technology and Features.
© 2006 Cisco Systems, Inc. All rights reserved. CVOICE v VoIP Signaling and Call Control Configuring SIP.
Транксрипт:

Введение в Grid Computing и Globus Toolkit The Globus Project Argonne National Laboratory USC Information Sciences Institute

Intro to Grid Computing and Globus Toolkit2 Содержание l Введение в Grid Computing l Некоторые определения l Архитектура Grid l The Programming Problem l The Globus Toolkit –Введение, безопасность, управление ресурсами, управление данными l Перспективы

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 Дать возможность виртуальным организациям совместного использования географически удалённых ресурсов при совместной работе – подразумевая отсутствие… –центрального расположения, –централизованного контроля, –всеведения, –атмосферы доверия.

Intro to Grid Computing and Globus Toolkit4 Составляющие Проблемы l Совместное использование ресурсов –Компьютеры, хранение данных, сети, … –Совместное использование ресурсов всегда возможно только при определённых условиях: вопросы доверия, внутренних правил, оплата, переговоры, … l Координированное решение задач –Анализ удалённых данных, вычисления, совместная работа, … l Виртуальные организации - динамичные, включающие различные Институты, группы –Научные сообщества включают различные классические организации –Многочисленные или нет, динамичные или статичные

Intro to Grid Computing and Globus Toolkit5 DOE X-ray grand challenge: ANL, USC/ISI, NIST, U.Chicago Томографическая реконструкция Сбор данных в режиме реального времени wide-area dissemination ПК & ВР совместное управление Advanced Photon Source Доступ в сети к научным инструментам архивы

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

Intro to Grid Computing and Globus Toolkit7 l Кто = –1000s домашних ПК –Филантропическая компания Entropia –Научно- исследовательская компания Scripps l Единая Цель = ускорить исследования в области СПИДа Домашние компьютеры тестируют лекарства от СПИДа

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.

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

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

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

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

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

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

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

Intro to Grid Computing and Globus Toolkit16 Для информации l Globus Project – l Grid Forum – l Книга (Morgan Kaufman) –

Некоторые определения The Globus Project Argonne National Laboratory USC Information Sciences Institute

Intro to Grid Computing and Globus Toolkit18 Некоторые важные определения l Ресурс l Протокол сети l Сервис, обеспечиваемый сетью l Интерфейс приложения - Application Programmer Interface (API) l Software Development Kit (SDK) l Синтаксис

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

Intro to Grid Computing and Globus Toolkit20 Сетевой протокол l Формальное описание форматов сообщений и набор правил для обмена сообщениями –Правила могут определять последовательность обмена сообщениями –Протокол может определять изменение состояния ситемы в конечной точке (например, изменение состояния системы файлов) l Хорошие протоколы созданы с одной целью –Протоколы можно накладывать друг на друга l Примеры Протоколов –IP, TCP, TLS (было SSL), HTTP, Kerberos

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

Intro to Grid Computing and Globus Toolkit22 Application Programming Interface l Набор спецификаций для приложения –Относится к функциональному определению, а не к конкретному воплощению –Например, существует много воплощений MPI l Часто эти спецификации бывают привязаны к конкретному языку программирования –Название программы, количество и тип аргументов, определённые языковые конструкции –Поведение функции или программы l Примеры –GSS API (security), MPI (message passing)

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

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 Разный формат сообтщений, частоты обмена и пр.

Intro to Grid Computing and Globus Toolkit25 APIs и Протоколы очень важны l Стандартные APIs/SDKs важны –Они дают приложению портативность –Но без стандартных протоколов внутренняя совместимость невозможна (любой SDK понимет любой протокол?) l Стандартные протоколы важны –Дают внутреннюю совместимость независимости от месторасположения –Делают возможным совместные инфраструктуры –Но без стандартных APIs/SDKs становится невозможным портативность приложения (различные платформы работают с протоколами по-разному)

Intro to Grid Computing and Globus Toolkit26 Software Development Kit l Определённое воплощение API l SDK состоит из библиотек и программ –Представляет собой воплощение спецификаций API l Для одного API может быть много SDKs l Примеры SDK –MPICH, Motif Widgets, LAM

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 –Очень важно понимать концепцию наложения синтаксиса при сравнениях и оценке.

Архитектура Grid The Globus Project Argonne National Laboratory USC Information Sciences Institute

Intro to Grid Computing and Globus Toolkit29 Зачем обсуждать Архитектуру? l Описание –Предлoжить общие термины для обсуждения Grid систем l Направление работ –Определить основные области, требующие создания сервиса l Предопределение –Определить стандартные Intergridовские протоколы и APIs для создания совместимых и портативных приложений

Intro to Grid Computing and Globus Toolkit30 Некоторые Требования l Идентификация l Авторизация&правила l Поиск ресурсов l Описание ресурсов l Резервирование ресурсов l Распределённые алгоритмы l Доступ к удалённым данным l Высоко-скоростная пересылка данных l Гарантирование производительности l Обнаружение несанкционированного доступа l Распределение ресурсов l Счета и оплата l Обнаружение неполадок l Эволюция систем l Мониторинг l И т.д. l …

Intro to Grid Computing and Globus Toolkit31 Три пункта для превращения Grid computing в рутину… 1) Новые подходы к решению проблем – Data Grids, распределённые вычисления, peer-to- peer, объединённые grids, … 2) Структурирование и написание программ – Абстракции, инструменты 3) Обеспечение совместного доступа к ресурсам – Инспекция ресурсов, доступ, бронирование, выделение; аутентификация, авторизация; коммуникация; Диагностика сбоев; … Programming Problem Systems Problem

Intro to Grid Computing and Globus Toolkit32 В итоге, Grid Архитектура, ориентированная на Протоколы: l Создание протоколов и сервисной оболочки Grid –Доступ к удалённым ресурсам через протоколы –Новые сервисы: предоставление ресурсов –работать в Grid = понимать Intergrid протоколы –В основном уже имеющиеся протоколы или их расширения l Создание Grid APIs & SDKs –Интерфейсы к Grid протоколам и сервисной оболочке –Помощь в создании приложений путём созданий абстракций на более высоком уровне l Модель, имеющая огромный успех - Internet

Intro to Grid Computing and Globus Toolkit33 Многоуровневая Архитектура Grid (По Аналогии с Архитектурой Интернета) Application Fabric локальный контроль над ресурсами: Доступ и контроль ресурсов Connectivity Коммуникация: коммуникация (Internet протоколы) & защищённость Resource Совместное использование одних ресурсов: доступ по договору, использование под контролем Collective Координация многочисленных ресурсов: специфические сервисы Internet Transport Application Link Internet Protocol Architecture

Intro to Grid Computing and Globus Toolkit34 Протоколы, Сервис и APIs находятся на каждом уровне Язык/Frameworks Fabric Layer Приложение Протоколы и APIs локального доступа APIs and SDKs общего сервиса Общий сервис Протоколы общего сервиса APIs and SDKs ресурсов Сервис ресурсов Протоколы сервиса ресурсов APIs связи Протоколы связи

Intro to Grid Computing and Globus Toolkit35 Важные моменты: l Основано на протоколах и сервисе Интернет –Связь, маршруты, определение имени, и т.д. lМногоуровневость здесь чисто концептуальна, НЕ накладывает никаких ограничений на то, кто какие функции может вызвать –Протоколы/сервис/APIs/SDKs в идеале, будут самодостаточны –Некоторые вещи здесь фундаментальны: например, коммуникация и защищённость –Привлекательно для функций высокого уровня использовать стандартные функции низкого уровня

Intro to Grid Computing and Globus Toolkit36 Ну и что сейчас с Архитектурой? l Не существует никаких официальных стандартов l НО: –Globus Toolkit является практически de facto стандартом для многих важных протоколов (связь, ресурсы и общие) –GGF имеет рабочую группу по архитектуре –Технические детали находятся сейчас в разработке: защищённость, управление ресурсами и данными, информационный сервис –Документы (в области безопасности) приняты к публикации в Интернете

Intro to Grid Computing and Globus Toolkit37 Fabric уровень Протоколы и сервис l Всё что можно ожидать: огромное разнообразие совместных ресурсов –ПК, файловые системы, архивы, каталоги метаданных, сети, сенсоры и т.д, и т.п. l Несколько ограничений на технологии низких уровней (Few constraints on low-level technology): протоколы связи и ресурсов являются узким местом l Определяется интерфейсами, а не физическими характеристиками

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 –Инфраструктура поддержки: централизованная выдача сертификатов, управление сертификатами и ключами, …

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

Intro to Grid Computing and Globus Toolkit40 Общий Уровень: Протоколы & Сервис l Распределение ресурсов (e.g., Condor Matchmaker) –Поиск и выявление ресурсов l Каталог реплик l Сервис копирования l Сервис по одновременному резервированию и выделению l И т.д. Condor:

Intro to Grid Computing and Globus Toolkit41 Пример: Data Grid Архитектура Приложение, специфичное для какой-то области Выбор реплики, управление заданием, виртуальный каталог данных, … Каталог реплик, управление репликами, выделение ресурсов, выдача сертификатов, каталоги метаданных Доступ к данным, доступ к компьютерам, доступ к информации о сети,.. Коммуникации, поиск сервиса (DNS), идентификация, авторизация, делегация Системы хранения данных, кластеры, сети,... Collective (App) App Collective (Generic) Resource Connect Fabric

The Programming Problem The Globus Project Argonne National Laboratory USC Information Sciences Institute

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

Intro to Grid Computing and Globus Toolkit44 Проблема программирования l Ну и как мне создать надёжное, долговременное, высокоэффективное приложение для динамичных и разнородных Grids? l Для этого мне нужно: –Абстракции и модели чтобы ускорить/улучшить сам процесс –Набор программных средств для диагностики проблем и упрощения написания программы –Создать универсальные средства, чтобы было возможно использование некоторых компонент другими

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

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 набор средств для решения численных задач –Следует обратить внимание на огромное разнообразие средств (все ориентированны на определённое приложение)

Intro to Grid Computing and Globus Toolkit47 За всем этим стоит единый набор программных средств l Ни один из перечисленных проектов не создавал протоколы и пр. с нуля! l Использовался единый набор средств, который… –Имеет все основные функции >SDKs который может быть использован для создания различных программных продуктов >Стандартный сервис, который легко установить –Надёжный, правильно спроектированный, не противоречащий себе –Является бесплатным, широко доступным l Всем этим требованиям отвечает Globus Toolkit…

The Globus Toolkit: Introduction The Globus Project Argonne National Laboratory USC Information Sciences Institute

Intro to Grid Computing and Globus Toolkit49 Globus Toolkit l Набор программных средств, решающий основные технические проблемы при создании программного обеспечения для Grid –Предлагает пакетный набор средств –Позволяет поэтапное создание программных средств и приложений для Grid –Воплощает стандартные Grid протоколы и APIs –Доступен бесплатно для всех (Оpen source)

Intro to Grid Computing and Globus Toolkit50 Общий подход l Определить Grid протоколы & APIs –Доступ к удалённым ресурсам посредством протоколов –Интегрировать и расширить имеющиеся стандарты l Создать соответствующий набор средств –Доступный всем Globus Toolkit –Набор утилит, SDKs, сервис, и т.д. l Адаптировать для Grid множество известных приложений –Globus Toolkit, FTP, SSH, Condor, SRB, MPI, … l Учиться на своём опыте (Эти тезисы взяты с официального сайта…)

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 Также основные протоколы общего уровня –Информационный сервис, управление репликами, и т.д.

The Globus Toolkit: Security Services The Globus Project Argonne National Laboratory USC Information Sciences Institute

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

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

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

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

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

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

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.

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

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 –

The Globus Toolkit: Resource Management Services The Globus Project Argonne National Laboratory USC Information Sciences Institute

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

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, …

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)…

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

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

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

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

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

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

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

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)

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

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

The Globus Toolkit: Information Services The Globus Project Argonne National Laboratory USC Information Sciences Institute

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

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

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.

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

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

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

Intro to Grid Computing and Globus Toolkit83 GIS Architecture AA Customized Aggregate Directories RRRR Standard Resource Description Services Registration Protocol Users Enquiry Protocol

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

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

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.

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

The Globus Toolkit: Data Management Services The Globus Project Argonne National Laboratory USC Information Sciences Institute

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

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

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

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!

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

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

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)

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!

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

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

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.

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

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.

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

Futures & Conclusions T he G lobus P roject A rgonne N ational L aboratory USC I nformation S ciences I nstitute

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

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

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

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:

Вообще-то говоря, это последний слайд… T he G lobus P roject A rgonne N ational L aboratory USC I nformation S ciences I nstitute