Введение вGrid Computingи Globus Toolkit™

Содержание

Слайд 2

Intro to Grid Computing and Globus Toolkit™

Содержание

Введение в Grid Computing
Некоторые определения
Архитектура Grid
The

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

Слайд 3

Intro to Grid Computing and Globus Toolkit™

Зачем оно надо? (The Grid problem)

Flexible, secure,

Intro to Grid Computing and Globus Toolkit™ Зачем оно надо? (The Grid
coordinated resource sharing among dynamic collections of individuals, institutions, and resource
Из “The Anatomy of the Grid: Enabling Scalable Virtual Organizations”
Дать возможность “виртуальным организациям” совместного использования географически удалённых ресурсов при совместной работе – подразумевая отсутствие…
центрального расположения,
централизованного контроля,
всеведения,
атмосферы доверия.

Слайд 4

Intro to Grid Computing and Globus Toolkit™

Составляющие Проблемы

Совместное использование ресурсов
Компьютеры, хранение данных,

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

Слайд 5

Intro to Grid Computing and Globus Toolkit™

DOE X-ray grand challenge: ANL, USC/ISI,

Intro to Grid Computing and Globus Toolkit™ DOE X-ray grand challenge: ANL,
NIST, U.Chicago

Томографическая реконструкция

Сбор данных
в режиме
реального времени

wide-area
dissemination

ПК & ВР совместное управление

Advanced Photon Source

Доступ в сети к научным инструментам

архивы

Слайд 6

Intro to Grid Computing and Globus Toolkit™

Image courtesy Harvey Newman, Caltech

Grids в

Intro to Grid Computing and Globus Toolkit™ Image courtesy Harvey Newman, Caltech
Физике Высоких энергий

Слайд 7

Intro to Grid Computing and Globus Toolkit™

Кто =
1000s домашних ПК
Филантропическая компания Entropia
Научно-исследовательская

Intro to Grid Computing and Globus Toolkit™ Кто = 1000s домашних ПК
компания Scripps
Единая Цель = ускорить исследования в области СПИДа

Домашние компьютеры тестируют лекарства от СПИДа

Слайд 8

Intro to Grid Computing and Globus Toolkit™

Компьютерные сети

Сети vs. Производительность компьютеров
Вычислительные скорости

Intro to Grid Computing and Globus Toolkit™ Компьютерные сети Сети vs. Производительность
удваиваются каждые 18 месяцев
Скорости сетей удваиваются каждые 9 месяцев
Разница на целый порядок за 5 лет
1986 to 2000
компьютеры: x 500
сети: x 340,000
2001 to 2010
компьютеры: x 60
сети: x 4000

Moore’s 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 Toolkit™

The Globus Project™ Making Grid computing a

Intro to Grid Computing and Globus Toolkit™ The Globus Project™ Making Grid
reality

Тесное сотрудничество с реальными Grid проектами в науке и промышленности
Разработка и распространение стандартных протоколов для Grid с целью достижения совместимости и создания инфраструктуры
Разработка и распространение стандартного программного обеспечения для Grid - универсального и мультиплатформного
The Globus Toolkit™: Бесплатное, в прямом доступе; база для создания различных приложений и создания Grid инфраструктуры
Global Grid Forum: Разработка стандартных протоколов и приложений для Grid

Слайд 10

Intro to Grid Computing and Globus Toolkit™

Некоторые Grid Проекты

New

New

Intro to Grid Computing and Globus Toolkit™ Некоторые Grid Проекты New New

Слайд 11

Intro to Grid Computing and Globus Toolkit™

Некоторые Grid Проекты

New

New

New

New

New

Intro to Grid Computing and Globus Toolkit™ Некоторые Grid Проекты New New New New New

Слайд 12

Intro to Grid Computing and Globus Toolkit™

Некоторые Grid Проекты

New

New

Intro to Grid Computing and Globus Toolkit™ Некоторые Grid Проекты New New

Слайд 13

Intro to Grid Computing and Globus Toolkit™

Некоторые Grid Проекты

New

New

Also many technology R&D

Intro to Grid Computing and Globus Toolkit™ Некоторые Grid Проекты New New
projects: e.g., Condor, NetSolve, Ninf, NWS
See also www.gridforum.org

Слайд 14

Intro to Grid Computing and Globus Toolkit™

The 13.6 TF TeraGrid: Computing at 40

Intro to Grid Computing and Globus Toolkit™ The 13.6 TF TeraGrid: Computing
Gb/s

26

24

8

4

HPSS

5

HPSS

HPSS

UniTree

External Networks

External Networks

External Networks

External Networks

Site Resources

Site Resources

Site Resources

Site Resources

NCSA/PACI
8 TF
240 TB

SDSC
4.1 TF
225 TB

Caltech

Argonne

TeraGrid/DTF: NCSA, SDSC, Caltech, Argonne www.teragrid.org

Слайд 15

Intro to Grid Computing and Globus Toolkit™

U.S. PIs: Avery, Foster, Gardner, Newman,

Intro to Grid Computing and Globus Toolkit™ U.S. PIs: Avery, Foster, Gardner,
Szalay www.ivdgl.org

iVDGL: International Virtual Data Grid Laboratory

Слайд 16

Intro to Grid Computing and Globus Toolkit™

Для информации

Globus Project™
www.globus.org
Grid Forum
www.gridforum.org
Книга (Morgan

Intro to Grid Computing and Globus Toolkit™ Для информации Globus Project™ www.globus.org
Kaufman)
www.mkp.com/grids

Слайд 17

Некоторые определения

The Globus Project™
Argonne National Laboratory USC Information Sciences Institute
http://www.globus.org

Некоторые определения The Globus Project™ Argonne National Laboratory USC Information Sciences Institute http://www.globus.org

Слайд 18

Intro to Grid Computing and Globus Toolkit™

Некоторые важные определения

Ресурс
Протокол сети
Сервис, обеспечиваемый сетью
Интерфейс

Intro to Grid Computing and Globus Toolkit™ Некоторые важные определения Ресурс Протокол
приложения - Application Programmer Interface (API)
Software Development Kit (SDK)
Синтаксис

Слайд 19

Intro to Grid Computing and Globus Toolkit™

Ресурс

Всё, что можно использовать совместно
Компьютеры, накопители

Intro to Grid Computing and Globus Toolkit™ Ресурс Всё, что можно использовать
информации, данные, компьютерные программы и т.д.
Не обязательно должен быть физической единицей
Condor pool, distributed file system, …
Определяется интерфейсами, а не устройствами
‘планировщик’ (such as LSF and PBS) определяет комьютерный ресурс
Open/close/read/write определяет доступ к распределённой системе файлов , e.g. NFS, AFS, DFS

Слайд 20

Intro to Grid Computing and Globus Toolkit™

Сетевой протокол

Формальное описание форматов сообщений и

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

Слайд 21

Intro to Grid Computing and Globus Toolkit™

Сервис, обеспечиваемый сетью

Создание протокола, который определяет

Intro to Grid Computing and Globus Toolkit™ Сервис, обеспечиваемый сетью Создание протокола,
набор возможностей
Протокол определяет связь с сервисом
Все сервисы нуждаются в протоколе
Не все протоколы используются для предоставления сервиса(e.g. IP, TLS)
Примеры: FTP и Web серверы

Слайд 22

Intro to Grid Computing and Globus Toolkit™

Application Programming Interface

Набор спецификаций для приложения
Относится

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

Слайд 23

Intro to Grid Computing and Globus Toolkit™

Протокол может иметь множество APIs

TCP/IP APIs

Intro to Grid Computing and Globus Toolkit™ Протокол может иметь множество APIs
включают в себя BSD sockets, Winsock, System V streams, …
Протокол предоставляет совместимость: программы, использующие разные APIs, могут обмениваться информацией
Мне не нужно знать API другого пользователя

TCP/IP Protocol: Reliable byte streams

WinSock API

Berkeley Sockets API

Application

Application

Слайд 24

Intro to Grid Computing and Globus Toolkit™

API может иметь много протоколов

MPI -

Intro to Grid Computing and Globus Toolkit™ API может иметь много протоколов
портативно: любая правильная программа должна компилироваться и работать на любой платформе
Но никакой совместимости на уровне SDK
E.g., MPICH и LAM версии MPI

Слайд 25

Intro to Grid Computing and Globus Toolkit™

APIs и Протоколы очень важны

Стандартные APIs/SDKs

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

Слайд 26

Intro to Grid Computing and Globus Toolkit™

Software Development Kit

Определённое воплощение API
SDK состоит

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

Слайд 27

Intro to Grid Computing and Globus Toolkit™

Синтаксис

Правила для расшифровки информации
XML, Condor ClassAds,

Intro to Grid Computing and Globus Toolkit™ Синтаксис Правила для расшифровки информации
Globus RSL
X.509 certificate format (RFC 2459)
Cryptographic Message Syntax (RFC 2630)
Просьба, не путать с протоколом!
Один и тот же синтаксис может быть использован разными протоколами (e.g., XML)
Синтаксис может быть наложен один на другой
E.g., Condor ClassAds -> XML -> ASCII
Очень важно понимать концепцию наложения синтаксиса при сравнениях и оценке.

Слайд 28

Архитектура Grid

The Globus Project™
Argonne National Laboratory USC Information Sciences Institute
http://www.globus.org

Архитектура Grid The Globus Project™ Argonne National Laboratory USC Information Sciences Institute http://www.globus.org

Слайд 29

Intro to Grid Computing and Globus Toolkit™

Зачем обсуждать Архитектуру?

Описание
Предлoжить общие термины для

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

Слайд 30

Intro to Grid Computing and Globus Toolkit™

Некоторые Требования

Идентификация
Авторизация&правила
Поиск ресурсов
Описание ресурсов
Резервирование ресурсов
Распределённые алгоритмы

Intro to Grid Computing and Globus Toolkit™ Некоторые Требования Идентификация Авторизация&правила Поиск

Доступ к удалённым данным
Высоко-скоростная пересылка данных
Гарантирование производительности

Обнаружение несанкционированного доступа
Распределение ресурсов
Счета и оплата
Обнаружение неполадок
Эволюция систем
Мониторинг
И т.д.
И т.д.

Слайд 31

Intro to Grid Computing and Globus Toolkit™

Три пункта для превращения “Grid computing”

Intro to Grid Computing and Globus Toolkit™ Три пункта для превращения “Grid
в рутину…

Новые подходы к решению проблем
Data Grids, распределённые вычисления, peer-to-peer, объединённые grids, …
Структурирование и написание программ
Абстракции, инструменты
Обеспечение совместного доступа к ресурсам
Инспекция ресурсов, доступ, бронирование, выделение; аутентификация, авторизация; коммуникация; Диагностика сбоев; …

Слайд 32

Intro to Grid Computing and Globus Toolkit™

В итоге, Grid Архитектура, ориентированная на

Intro to Grid Computing and Globus Toolkit™ В итоге, Grid Архитектура, ориентированная
Протоколы:

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

Слайд 33

Intro to Grid Computing and Globus Toolkit™

Многоуровневая Архитектура Grid (По Аналогии с

Intro to Grid Computing and Globus Toolkit™ Многоуровневая Архитектура Grid (По Аналогии с Архитектурой Интернета)
Архитектурой Интернета)

Слайд 34

Intro to Grid Computing and Globus Toolkit™

Протоколы, Сервис и APIs находятся на

Intro to Grid Computing and Globus Toolkit™ Протоколы, Сервис и APIs находятся
каждом уровне

Язык/Frameworks

Fabric Layer

Приложение

Протоколы и APIs локального доступа

APIs and SDKs общего сервиса

Общий сервис

Протоколы общего сервиса

APIs and SDKs ресурсов

Сервис ресурсов

Протоколы сервиса ресурсов

APIs связи

Протоколы связи

Слайд 35

Intro to Grid Computing and Globus Toolkit™

Важные моменты:

Основано на протоколах и сервисе

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

Слайд 36

Intro to Grid Computing and Globus Toolkit™

Ну и что сейчас с Архитектурой?

Не

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

Слайд 37

Intro to Grid Computing and Globus Toolkit™

‘Fabric’ уровень Протоколы и сервис

Всё что можно

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

Слайд 38

Intro to Grid Computing and Globus Toolkit™

GSI: www.gridforum.org/security/gsi

Уровень связи: Протоколы & Сервис

Коммуникация
Internet протоколы:

Intro to Grid Computing and Globus Toolkit™ GSI: www.gridforum.org/security/gsi Уровень связи: Протоколы
IP, DNS, routing, etc.
Защищённость: Grid Security Infrastructure (GSI)
Единая идентификация, авторизация и защищённая передача сообщений
Однократный логин, делегирование, идентификация
Public key technology, SSL, X.509, GSS-API
Инфраструктура поддержки: централизованная выдача сертификатов, управление сертификатами и ключами, …

Слайд 39

Intro to Grid Computing and Globus Toolkit™

GRAM, GridFTP, GRIS: www.globus.org

Уровень ресурсов: Протоколы

Intro to Grid Computing and Globus Toolkit™ GRAM, GridFTP, GRIS: www.globus.org Уровень
& Сервис

Grid Resource Allocation Management (GRAM)
Удалённые ресурсы : выделение, резервирование, мониторинг и управление компьютерными ресурсами
GridFTP протокол (FTP расширения)
Высокоскоростной доступ к данным и пересылка
Grid Resource Information Service (GRIS)
Доступ к информации
В проекте: доступ к каталогам, доступ к библиотеке програм, Catalog access, code repository access, и т.д.
Всё пострено на уровне: GSI & IP

Слайд 40

Intro to Grid Computing and Globus Toolkit™

Общий Уровень: Протоколы & Сервис

Распределение ресурсов (e.g.,

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

Condor: www.cs.wisc.edu/condor

Слайд 41

Intro to Grid Computing and Globus Toolkit™

Пример: Data Grid Архитектура

Приложение, специфичное для какой-то

Intro to Grid Computing and Globus Toolkit™ Пример: 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
http://www.globus.org

The Programming Problem The Globus Project™ Argonne National Laboratory USC Information Sciences Institute http://www.globus.org

Слайд 43

Intro to Grid Computing and Globus Toolkit™

The Programming Problem

But how do I

Intro to Grid Computing and Globus Toolkit™ The Programming Problem But how
develop robust, secure, long-lived, well-performing applications for dynamic, heterogeneous Grids?
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 Toolkit™

Проблема программирования

Ну и как мне создать

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

Слайд 45

Intro to Grid Computing and Globus Toolkit™

Examples of Grid Programming Technologies

MPICH-G2: Grid-enabled message

Intro to Grid Computing and Globus Toolkit™ Examples of Grid Programming Technologies
passing
CoG Kits, GridPort: Portal construction, based on N-tier architectures
GDMP, Data Grid Tools, SRB: replica management, collection management
Condor-G: workflow management
Legion: object models for Grid computing
Cactus: Grid-aware numerical solver framework
Note tremendous variety, application focus

Слайд 46

Intro to Grid Computing and Globus Toolkit™

Примеры Программных Технологий в Grid

MPICH-G2: адаптированный

Intro to Grid Computing and Globus Toolkit™ Примеры Программных Технологий в Grid
для Grid MPI
CoG Kits, GridPort: идея портала, основано на N-уровневой архитектуре
GDMP, Data Grid Tools, SRB: управление репликами, набором данных
Condor-G: управление процессом расчётов
Legion: объектные модели для программирования в Grid
Cactus: адаптированные для Grid набор средств для решения численных задач
Следует обратить внимание на огромное разнообразие средств (все ориентированны на определённое приложение)

Слайд 47

Intro to Grid Computing and Globus Toolkit™

За всем этим стоит единый набор

Intro to Grid Computing and Globus Toolkit™ За всем этим стоит единый
программных средств

Ни один из перечисленных проектов не создавал протоколы и пр. с нуля!
Использовался единый набор средств, который…
Имеет все основные функции
SDKs который может быть использован для создания различных программных продуктов
Стандартный сервис, который легко установить
Надёжный, правильно спроектированный, не противоречащий себе
Является бесплатным, широко доступным
Всем этим требованиям отвечает Globus Toolkit™…

Слайд 48

The Globus Toolkit™: Introduction

The Globus Project™
Argonne National Laboratory USC Information Sciences Institute
http://www.globus.org

The Globus Toolkit™: Introduction The Globus Project™ Argonne National Laboratory USC Information Sciences Institute http://www.globus.org

Слайд 49

Intro to Grid Computing and Globus Toolkit™

Globus Toolkit™

Набор программных средств, решающий основные

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

Слайд 50

Intro to Grid Computing and Globus Toolkit™

Общий подход

Определить Grid протоколы & APIs
Доступ

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

Слайд 51

Intro to Grid Computing and Globus Toolkit™

Четыре ключевых протокола

The Globus Toolkit™ основан

Intro to Grid Computing and Globus Toolkit™ Четыре ключевых протокола The Globus
на четырёх основных протоколах
Уровень связи:
защищённость: Grid Security Infrastructure (GSI)
Уровень ресурсов:
Управление ресурсами: Grid Resource Allocation Management (GRAM)
Информационный сервис: Grid Resource Information Protocol (GRIP)
Пересылка данных: Grid File Transfer Protocol (GridFTP)
Также основные протоколы ‘общего’ уровня
Информационный сервис, управление репликами, и т.д.

Слайд 52

The Globus Toolkit™: Security Services

The Globus Project™
Argonne National Laboratory USC Information Sciences Institute
http://www.globus.org

The Globus Toolkit™: Security Services The Globus Project™ Argonne National Laboratory USC Information Sciences Institute http://www.globus.org

Слайд 53

Intro to Grid Computing and Globus Toolkit™

Проблемы при реализации Grid Security…

Resources being

Intro to Grid Computing and Globus Toolkit™ Проблемы при реализации Grid Security…
used may be valuable & the problems being solved sensitive
Resources are often located in distinct administrative domains
Each resource has own policies & procedures
Set of resources used by a single computation may be large, dynamic, and unpredictable
Not just client/server, requires delegation
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 Toolkit™

Site A
(Kerberos)

Site B
(Unix)

Site C
(Kerberos)

Computer

User

Computer

Storage
system

GSI

Intro to Grid Computing and Globus Toolkit™ Site A (Kerberos) Site B
in Action “Create Processes at A and B that Communicate & Access Files at C”

Слайд 55

Intro to Grid Computing and Globus Toolkit™

Grid Security Requirements

Intro to Grid Computing and Globus Toolkit™ Grid Security Requirements

Слайд 56

Intro to Grid Computing and Globus Toolkit™

X.509 Proxy Certificate

Defines how a short

Intro to Grid Computing and Globus Toolkit™ X.509 Proxy Certificate Defines how
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 Toolkit™

Globus Security APIs

Generic Security Service (GSS)

Intro to Grid Computing and Globus Toolkit™ Globus Security APIs Generic Security
API
IETF standard
Provides functions for authentication, delegation, message protection
Decoupled from any particular communication method
But GSS-API is somewhat complicated, so we also provide the easier-to-use globus_gss_assist API.
GSI-enabled SASL is also provided

Слайд 58

Intro to Grid Computing and Globus Toolkit™

Results

GSI adopted by 100s of sites,

Intro to Grid Computing and Globus Toolkit™ Results GSI adopted by 100s
1000s of users
Globus CA has issued >3000 certs (user & host), >1500 currently active; other CAs active
Rollouts are currently underway all over:
NSF Teragrid, NASA Information Power Grid, DOE Science Grid, European Data Grid, etc.
Integrated in research & commercial apps
GrADS testbed, Earth Systems Grid, European Data Grid, GriPhyN, NEESgrid, etc.
Standardization begun in Global Grid Forum, IETF

Слайд 59

Intro to Grid Computing and Globus Toolkit™

GSI Applications

Globus Toolkit™ uses GSI for

Intro to Grid Computing and Globus Toolkit™ GSI Applications Globus Toolkit™ uses
authentication
Many Grid tools, directly or indirectly, e.g.
Condor-G, SRB, MPICH-G2, Cactus, GDMP, …
Commercial and open source tools, e.g.
ssh, ftp, cvs, OpenLDAP, OpenAFS
SecureCRT (Win32 ssh client)
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 Toolkit™

Ongoing and Future GSI Work

Protection against

Intro to Grid Computing and Globus Toolkit™ Ongoing and Future GSI Work
compromised resources
Restricted delegation, smartcards
Standardization
Scalability in numbers of users & resources
Credential management
Online credential repositories (“MyProxy”)
Account management
Authorization
Policy languages
Community authorization

Слайд 61

Intro to Grid Computing and Globus Toolkit™

Security Summary

GSI successfully addresses wide variety

Intro to Grid Computing and Globus Toolkit™ Security Summary GSI successfully addresses
of Grid security issues
Broad acceptance, deployment, integration with tools
Standardization on-going in IETF & GGF
Ongoing R&D to address next set of issues
For more information:
www.globus.org/research/papers.html
“A Security Architecture for Computational Grids”
“Design and Deployment of a National-Scale Authentication Infrastructure”
www.gridforum.org/security

Слайд 62

The Globus Toolkit™: Resource Management Services

The Globus Project™
Argonne National Laboratory USC Information Sciences Institute
http://www.globus.org

The Globus Toolkit™: Resource Management Services The Globus Project™ Argonne National Laboratory

Слайд 63

Intro to Grid Computing and Globus Toolkit™

The Challenge

Enabling secure, controlled remote access

Intro to Grid Computing and Globus Toolkit™ The Challenge Enabling secure, controlled
to heterogeneous computational resources and management of remote computation
Authentication and authorization
Resource discovery & characterization
Reservation and allocation
Computation monitoring and control
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 Toolkit™

Resource Management

The Grid Resource Allocation Management

Intro to Grid Computing and Globus Toolkit™ Resource Management The Grid Resource
(GRAM) protocol and client API allows programs to be started on remote resources, despite local heterogeneity
Resource Specification Language (RSL) is used to communicate requirements
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 Toolkit™

GRAM Protocol

GRAM-1: Simple HTTP-based RPC
Job request
Returns

Intro to Grid Computing and Globus Toolkit™ GRAM Protocol GRAM-1: Simple HTTP-based
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
GRAM-1.5 (U Wisconsin contribution)
Add reliability improvements
Once-and-only-once submission
Recoverable job manager service
Reliable termination detection
GRAM-2: Moving to Web Services (SOAP)…

Слайд 66

Intro to Grid Computing and Globus Toolkit™

GRAM

GRAM

GRAM

LSF

Condor

NQE

Application

RSL

Simple ground RSL

Information Service

Local
resource
managers

RSL
specialization

Ground RSL

Queries

& Info

Resource

Intro to Grid Computing and Globus Toolkit™ GRAM GRAM GRAM LSF Condor
Management Architecture

Слайд 67

Intro to Grid Computing and Globus Toolkit™

Resource Specification Language

Common notation for exchange

Intro to Grid Computing and Globus Toolkit™ Resource Specification Language Common notation
of information between components
Syntax similar to MDS/LDAP filters
RSL provides two types of information:
Resource requirements: Machine type, number of nodes, memory, etc.
Job configuration: Directory, executable, args, environment
Globus Toolkit provides an API/SDK for manipulating RSL

Слайд 68

Intro to Grid Computing and Globus Toolkit™

RSL Syntax

Elementary form: parenthesis clauses
(attribute op

Intro to Grid Computing and Globus Toolkit™ RSL Syntax Elementary form: parenthesis
value [ value … ] )
Operators Supported:
<, <=, =, >=, > , !=
Some supported attributes:
executable, arguments, environment, stdin, stdout, stderr, resourceManagerContact, resourceManagerName
Unknown attributes are passed through
May be handled by subsequent tools

Слайд 69

Intro to Grid Computing and Globus Toolkit™

Constraints: “&”

For example:
& (count>=5) (count<=10)
(max_time=240)

Intro to Grid Computing and Globus Toolkit™ Constraints: “&” For example: &
(memory>=64)
(executable=myprog)
“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 Toolkit™

Disjunction: “|”

For example:
& (executable=myprog)
( |

Intro to Grid Computing and Globus Toolkit™ Disjunction: “|” For example: &
(&(count=5)(memory>=64))
(&(count=10)(memory>=32)))
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 Toolkit™

Globus Toolkit Implementation

Gatekeeper
Single point of entry
Authenticates

Intro to Grid Computing and Globus Toolkit™ Globus Toolkit Implementation Gatekeeper Single
user, maps to local security environment, runs service
In essence, a “secure inetd”
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 Toolkit™

GRAM Components

Grid Security
Infrastructure

Job Manager

GRAM client API

Intro to Grid Computing and Globus Toolkit™ GRAM Components Grid Security Infrastructure
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

Process

Process

Monitor &
control

Site boundary

Client

MDS: 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 Toolkit™

Co-allocation

Simultaneous allocation of a resource set
Handled

Intro to Grid Computing and Globus Toolkit™ Co-allocation Simultaneous allocation of a
via optimistic co-allocation based on free nodes or queue prediction
In the future, advance reservations will also be supported (already in prototype)
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 Toolkit™

Multirequest: “+”

A multirequest allows us to

Intro to Grid Computing and Globus Toolkit™ Multirequest: “+” A multirequest allows
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
Multirequests are central to co-allocation

Слайд 75

Intro to Grid Computing and Globus Toolkit™

A Co-allocation Multirequest

+( & (resourceManagerContact=
“flash.isi.edu:754:/C=US/…/CN=flash.isi.edu-fork”)

Intro to Grid Computing and Globus Toolkit™ A Co-allocation Multirequest +( &
(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)
)

Слайд 76

The Globus Toolkit™: Information Services

The Globus Project™
Argonne National Laboratory USC Information Sciences Institute
http://www.globus.org

The Globus Toolkit™: Information Services The Globus Project™ Argonne National Laboratory USC Information Sciences Institute http://www.globus.org

Слайд 77

Intro to Grid Computing and Globus Toolkit™

Grid Information Services

System information is critical

Intro to Grid Computing and Globus Toolkit™ Grid Information Services System information
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?
We need a general information infrastructure to answer these questions

Слайд 78

Intro to Grid Computing and Globus Toolkit™

Examples of Useful Information

Characteristics of a

Intro to Grid Computing and Globus Toolkit™ Examples of Useful Information Characteristics
compute resource
IP address, software available, system administrator, networks connected to, OS version, load
Characteristics of a network
Bandwidth and latency, protocols, logical topology
Characteristics of the Globus infrastructure
Hosts, resource managers

Слайд 79

Intro to Grid Computing and Globus Toolkit™

Grid Information: Facts of Life

Information is

Intro to Grid Computing and Globus Toolkit™ Grid Information: Facts of Life
always old
Time of flight, changing system state
Need to provide quality metrics
Distributed state hard to obtain
Complexity of global snapshot
Component will fail
Scalability and overhead
Many different usage scenarios
Heterogeneous policy, different information organizations, etc.

Слайд 80

Intro to Grid Computing and Globus Toolkit™

Grid Information Service

Provide access to static

Intro to Grid Computing and Globus Toolkit™ Grid Information Service Provide access
and dynamic information regarding system components
A basis for configuration and adaptation in heterogeneous, dynamic environments
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 Toolkit™

The GIS Problem: Many Information Sources,

Intro to Grid Computing and Globus Toolkit™ The GIS Problem: Many Information
Many Views

R

R

R

R

R

R

R

R

R

R

R

R

R

R

R

R

R

Слайд 82

Intro to Grid Computing and Globus Toolkit™

Information Protocols

Grid Resource Registration Protocol
Support information/resource

Intro to Grid Computing and Globus Toolkit™ Information Protocols Grid Resource Registration
discovery
Designed to support machine/network failure
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 Toolkit™

GIS Architecture

A

A

Customized Aggregate Directories

R

R

R

R

Standard Resource

Intro to Grid Computing and Globus Toolkit™ GIS Architecture A A Customized
Description Services

Registration
Protocol

Users

Enquiry
Protocol

Слайд 84

Intro to Grid Computing and Globus Toolkit™

Metacomputing Directory Service

Use LDAP as Inquiry

Intro to Grid Computing and Globus Toolkit™ Metacomputing Directory Service Use LDAP

Access information in a distributed directory
Directory represented by collection of LDAP servers
Each server optimized for particular function
Directory can be updated by:
Information providers and tools
Applications (i.e., users)
Backend tools which generate info on demand
Information dynamically available to tools and applications

Слайд 85

Intro to Grid Computing and Globus Toolkit™

LDAP Details

Lightweight Directory Access Protocol
IETF Standard
Stripped

Intro to Grid Computing and Globus Toolkit™ LDAP Details Lightweight Directory Access
down version of X.500 DAP protocol
Supports distributed storage/access (referrals)
Supports authentication and access control
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 Toolkit™

Information Services API

RFC 1823 defines an

Intro to Grid Computing and Globus Toolkit™ Information Services API RFC 1823
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
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 Toolkit™

Searching an LDAP Directory

grid-info-search [options] filter

Intro to Grid Computing and Globus Toolkit™ Searching an LDAP Directory grid-info-search
[attributes]
Default grid-info-search options
-h mds.globus.org MDS 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
http://www.globus.org

The Globus Toolkit™: Data Management Services The Globus Project™ Argonne National Laboratory

Слайд 89

Intro to Grid Computing and Globus Toolkit™

Data Grid Problem

“Enable a geographically distributed

Intro to Grid Computing and Globus Toolkit™ Data Grid Problem “Enable a
community [of thousands] to pool their resources in order to perform sophisticated, computationally intensive analyses on Petabytes of data”
Note that this problem:
Is common to many areas of science
Overlaps strongly with other Grid problems

Слайд 90

Intro to Grid Computing and Globus Toolkit™

Major Data Grid Projects

Earth System Grid

Intro to Grid Computing and Globus Toolkit™ Major Data Grid Projects Earth
(DOE Office of Science)
DG technologies, climate applications
European Data Grid (EU)
DG technologies & deployment in EU
GriPhyN (NSF ITR)
Investigation of “Virtual Data” concept
Particle Physics Data Grid (DOE Science)
DG applications for HENP experiments

Слайд 91

Intro to Grid Computing and Globus Toolkit™

Data Intensive Issues Include …

Harness [potentially

Intro to Grid Computing and Globus Toolkit™ Data Intensive Issues Include …
large numbers of] data, storage, network resources located in distinct administrative domains
Respect local and global policies governing what can be used for what
Schedule resources efficiently, again subject to local and global constraints
Achieve high performance, with respect to both speed and reliability
Catalog software and virtual data

Слайд 92

Intro to Grid Computing and Globus Toolkit™

Data Intensive Computing and Grids

The term “Data

Intro to Grid Computing and Globus Toolkit™ Data Intensive Computing and Grids
Grid” is often used
Unfortunate as it implies a distinct infrastructure, which it isn’t; but easy to say
Data-intensive computing shares numerous requirements with collaboration, instrumentation, computation, …
Security, resource mgt, info services, etc.
Important to exploit commonalities as very unlikely that multiple infrastructures can be maintained
Fortunately this seems easy to do!

Слайд 93

Intro to Grid Computing and Globus Toolkit™

A Model Architecture for Data Grids

Metadata

Intro to Grid Computing and Globus Toolkit™ A Model Architecture for Data
Catalog

Replica Catalog

Tape Library

Disk Cache

Attribute Specification

Logical Collection and Logical File Name

Disk Array

Disk Cache

Application

Replica
Selection

Multiple Locations

NWS

Selected
Replica

GridFTP Control Channel

Performance
Information &
Predictions

Replica Location 1

Replica Location 2

Replica Location 3

MDS

GridFTP Data Channel

Слайд 94

Intro to Grid Computing and Globus Toolkit™

Globus Toolkit Components

Two major Data Grid

Intro to Grid Computing and Globus Toolkit™ Globus Toolkit Components Two major
components:
1. Data Transport and Access
Common protocol
Secure, efficient, flexible, extensible data movement
Family of tools supporting this protocol
2. Replica Management Architecture
Simple scheme for managing:
multiple copies of files
collections of files

Слайд 95

Intro to Grid Computing and Globus Toolkit™

Access/Transport Protocol Requirements

Suite of communication libraries

Intro to Grid Computing and Globus Toolkit™ Access/Transport Protocol Requirements Suite of
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
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 Toolkit™

And The Protocol Is … GridFTP

Why

Intro to Grid Computing and Globus Toolkit™ And The Protocol Is …
FTP?
Ubiquity enables interoperation with many commodity tools
Already supports many desired features, easily extended to support others
Well understood and supported
We use the term GridFTP to refer to
Transfer protocol which meets requirements
Family of tools which implement the protocol
Note GridFTP > FTP
Note that despite name, GridFTP is not restricted to file transfer!

Слайд 97

Intro to Grid Computing and Globus Toolkit™

GridFTP: Basic Approach

FTP protocol is defined

Intro to Grid Computing and Globus Toolkit™ GridFTP: Basic Approach FTP protocol
by several IETF RFCs
Start with most commonly used subset
Standard FTP: get/put etc., 3rd-party transfer
Implement standard but often unused features
GSS binding, extended directory listing, simple restart
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 Toolkit™

GridFTP Protocol Specifications

Existing standards
RFC 949: File

Intro to Grid Computing and Globus Toolkit™ GridFTP Protocol Specifications Existing standards
Transfer Protocol
RFC 2228: FTP Security Extensions
RFC 2389: Feature Negotiation for the File Transfer Protocol
Draft: FTP Extensions
New drafts
GridFTP: Protocol Extensions to FTP for the Grid
Grid Forum Data Working Group

Слайд 99

Intro to Grid Computing and Globus Toolkit™

A Word on GASS

The Globus Toolkit

Intro to Grid Computing and Globus Toolkit™ A Word on GASS The
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).
GASS uses GSI-enabled HTTP as the protocol for data transfer, and a caching algorithm for copying data when necessary.
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 Toolkit™

Grid Physics Network (GriPhyN) Enabling R&D

Intro to Grid Computing and Globus Toolkit™ Grid Physics Network (GriPhyN) Enabling
for advanced data grid systems, focusing in particular on Virtual Data concept

ATLAS
CMS
LIGO
SDSS

Слайд 101

Intro to Grid Computing and Globus Toolkit™

The Virtual Data Concept

“[a virtual

Intro to Grid Computing and Globus Toolkit™ The Virtual Data Concept “[a
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 Toolkit™

Virtual Data in Action

Data request may
Access

Intro to Grid Computing and Globus Toolkit™ Virtual Data in Action Data
local data
Compute locally
Compute remotely
Access remote data
Scheduling subject to local & global policies
Local autonomy

Слайд 103

Futures & Conclusions

The Globus Project™
Argonne National Laboratory USC Information Sciences Institute
http://www.globus.org

Futures & Conclusions The Globus Project™ Argonne National Laboratory USC Information Sciences Institute http://www.globus.org

Слайд 104

Intro to Grid Computing and Globus Toolkit™

Problem Evolution

Past-present: O(102) high-end systems;

Intro to Grid Computing and Globus Toolkit™ Problem Evolution Past-present: O(102) high-end
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
Present: O(104-106) data systems, computers; Gb/s networks; scaling, decentralized control
Scalable resource discovery; restricted delegation; community policy; Data Grid: 100s of sites, O(104) computers; complex policies
Future: O(106-109) data, sensors, computers; Tb/s networks; highly flexible policy, control

Слайд 105

Intro to Grid Computing and Globus Toolkit™

The Future: All Software is Network-Centric

We don’t

Intro to Grid Computing and Globus Toolkit™ The Future: All Software is
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
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 Toolkit™

And Thus …

Reduced barriers to access

Intro to Grid Computing and Globus Toolkit™ And Thus … Reduced barriers
mean that we do much more computing, and more interesting computing, than today => Many more components (& services); massive parallelism
All resources are owned by others => Sharing (for fun or profit) is fundamental; trust, policy, negotiation, payment
All computing is performed on unfamiliar systems => Dynamic behaviors, discovery, adaptivity, failure

Слайд 107

Intro to Grid Computing and Globus Toolkit™

Summary

The Grid problem: Resource sharing &

Intro to Grid Computing and Globus Toolkit™ Summary The Grid problem: Resource
coordinated problem solving in dynamic, multi-institutional virtual organizations
Grid architecture: Emphasize protocol and service definition to enable interoperability and resource sharing
Globus Toolkit™ a source of protocol and API definitions, reference implementations
See: www.globus.org, www.gridforum.org
Имя файла: Введение-вGrid-Computingи-Globus-Toolkit™.pptx
Количество просмотров: 170
Количество скачиваний: 0