EGEE presentation

Download Report

Transcript EGEE presentation

Enabling Grids for E-sciencE
Введение в ППО gLite
Олешко С.Б.
Петербургский институт ядерной физики
г.Гатчина
www.eu-egee.org
Enabling Grids for E-sciencE
Презентацию можно будет скачать со страницы сайта
http://egee.pnpi.nw.ru в разделе “Грид в ПИЯФ”
2
Содержание
Enabling Grids for E-sciencE
• Что такое EGEE и как получить доступ к ресурсам
EGEE
• Инфраструктура EGEE
• ППО gLite
• Сообщества пользователей и поддержка пользователей
• Использование команд gLite
• Запуск простейшего задания
– ссылка на пример
• Более сложные примеры
– ссылки на примеры
• Работа с большими объёмами данных
– ссылка на пример
3
Проект EGEE(www.eu-egee.org )
Enabling Grids for E-sciencE
• Цель EGEE
– Обеспечить создание высокопроизводительной продукционной
GRID инфраструктуры, ее поддержку и развитие
• EGEE
– 1 апреля 2004 – 31 марта 2006
– 71 участник из 27 стран, объединённых в региональные
федерации
• EGEE-II
– 1 апреля 2006 – 30 апреля 2008
– расширение числа участников и ресурсов (~90 участников из 36
стран)
• EGEE-III
– 1 мая 2008 – 30 апреля 2010
– переход к стабильной постоянно действующей Гридинфраструктуре
4
Текущий статус
Enabling Grids for E-sciencE
17,000 пользователей
150,000 ЦПУ (ядер)
28Pb дисковой памяти
41Pb на лентах
12 миллионов зад./месяц
+45% в год
268 центров
+5% в год
48 стран
+10% в год
182 ВО
+29% в год
Real Time Monitor:
http://gridportal.hep.ph.ic.ac.uk/rtm
5
Участие России в проекте EGEE
Enabling Grids for E-sciencE
В целях обеспечения полномасштабного
участия России в этом проекте был
образован консорциум РДИГ
(Российский ГРИД для интенсивных
операций с данными – Russian Data
Intensive GRID, RDIG) для
эффективного выполнения работ по
проекту и развитию в России
инфраструктуры EGEE, с
вовлечением на следующих этапах
проекта других организаций из
различных областей науки,
образования и промышленности.
Консорциум РДИГ, согласно принятой в
проекте EGEE структуре, входит в
проект в качестве региональной
федерации “Россия” (“Russia).
Сейчас в РДИГ (http://www.egee-rdig.ru) входят 15 институтов
(в 2004 году - 8)
6
Инфраструктура EGEE
Enabling Grids for E-sciencE
• Производственная (production)
– масштабная инфраструктура с центрами по всему миру
– стабильная, со службой поддержки, использующая только
оттестированную и надёжную версию ППО
• Тестовая (pre-production)
– работает параллельно с основной (ограниченное число узлов)
– тестирование новых версий ППО
– проверка новых пользовательских приложений
• Учебная (t-infrastructure)
– полный набор Грид-служб
– каждый может
зарегистрироваться и
попробовать работать в Грид
(GILDA - https://gilda.ct.infn.it/)
~15 центров на 3 континентах
7
EGEE, ППО gLite и ВО
Enabling Grids for E-sciencE
• ППО gLite
устанавливается в
каждом центре EGEE и
обеспечивает:
– управление данными
– вычислительный сервис
– сервис безопасности
INTERNET
8
EGEE, ППО gLite и ВО
Enabling Grids for E-sciencE
• ППО gLite
устанавливается в
каждом центре EGEE и
обеспечивает:
– управление данными
– вычислительный сервис
– сервис безопасности
• Ресурсы и пользователи
EGEE образуют
виртуальные организации
(ВО)
INTERNET
9
EGEE, ППО gLite и ВО
Enabling Grids for E-sciencE
• ППО gLite
устанавливается в
каждом центре EGEE и
обеспечивает:
– управление данными
– вычислительный сервис
– сервис безопасности
• Ресурсы и пользователи
EGEE образуют
виртуальные организации
(ВО)
INTERNET
• Распределённые сервисы
(программное
обеспечение ) и люди
получают доступ к ВО
10
Пример: ВО biomed
Enabling Grids for E-sciencE
Центры:
•36, в основном из
Европы и Азии
•65 584 ЦПУ
•~741 Тб памяти
Также доступен
портал поддержки
приложений
Пользователи
• любой, работающий
с биомедицинскими
приложениями
• нет ограничений по
географическому
расположению
• В настоящий момент
220-250 членов ВО
11
История gLite
Enabling Grids for E-sciencE
gLite 3.1(2007)
gLite 3.2(2009)
12
gLite - ППО EGEE (www.glite.org )
Enabling Grids for E-sciencE
• Текущая версия - gLite 3.2
• Совместима с Scientific Linux 5
– Некоторые сервисы есть под Debian, а также для более ранних версий
Scientific Linux
• gLite, как программный продукт…
– Установочный дистрибутив
– Разработка ещё не завершена
• Патчи для отдельных компонент появляются достаточно часто
13
Основные сервисы gLite
Enabling Grids for E-sciencE
EGEE Maintained Components
User Access
BDII
General Services
Workload
Logging &
Management
Book keeping
Service
Service
Information Services
File Transfer
Service
LHC File
Catalogue
Compute Element
CREAM
LCG-CE
BLAH
MON
gLExec
Worker Node
External
Components
UserInterface
Interface
User
Hydra
AMGA
Storage
Element
Virtual
Organisation
Membership
Service
Proxy Server
Security
Services
SCAS
Disk Pool
Manager
dCache
Authz. Service
LCAS &
LCMAPS
Physical Resources
14
Основные компоненты
Enabling Grids for E-sciencE
User Interface (UI):
Для пользователя - точка входа в Грид
Workload Management System (WMS):
Определяет соответствие между требованиями задания и
доступными Грид-ресурсами, управляет запуском
Information System: Содержит характеристики и статус ресурсов
File and replica catalog: местоположение файлов в Грид и их
реплик
Logging and Bookkeeping (LB): Статус заданий, выполняющихся
в Грид
Computing Element (CE): Очередь заданий на вычислительном узле,
где может выполняться задание пользователя
Storage Element (SE): Сервер хранения данных, где сохраняются
Грид файлы (чтение/запись/копирование) или их реплики
15
Доступ к ВО EGEE
Enabling Grids for E-sciencE
•
•
•
Пользователи (и компьютеры)
идентифицируются при помощи гридсертификатов. Сертификаты
выдаются национальными Центрами
сертификации (CA).
Сервис управления ВО (VOMS)
поддерживает список пользователей,
зарегистрированных в ВО
Последовательность действий:
–Получить сертификат из своего
национального CA: http://www.igtf.net
–Зарегистрироваться в ВО
 Список ВО: http://cic.gridops.org/
–Менеджер ВО утверждает запрос
 Модифицируется VOMS DB
 Информация реплицируется на все
ресурсы ВО в течении 24 часов
–Можно работать в Грид через
командный или графический интерфейс
Получение сертификата: единожды
Обновление сертификата: ежегодно
Вы
CA
Вступление в ВО:
единожды
менеджер ВО
Регистрация
VOMS
Репликация
VOMS DB
ежесуточно
VOMS
database
Грид сайты
ВИРТУАЛЬНАЯ ОРГАНИЗАЦИЯ
16
Как найти национальный CA
Enabling Grids for E-sciencE
http://igtf.net
CA в АзиатскоТихоокеанском
регионе
CA в
Европе
CA в
Америке
17
РДИГ CA
Enabling Grids for E-sciencE
http://ca.grid.kiae.ru/RDIG/
18
Получение сертификата
Enabling Grids for E-sciencE
Пользователь создаёт пару ключей
Открытый / Закрытый
На подпись передается
открытый ключ
Для подписи необходимо
удостоверение личности,
которое предъявляется RA
ID
Закрытый ключ
шифруется на
локальном диске
Корневой
сертификат
CA
Центр
cертификации
СА подписывает
открытый ключ с
помощью своего
корневого
сертификата и
информирует
пользователя
Подписанный открытый ключ
передается пользователю
19
Сертификаты пользователя
Enabling Grids for E-sciencE
• В зависимости от способа получения сертификата он может
быть получен в различных форматах:
– *.pem формат: 2 файла: userkey.pem – закрытый ключ, userсert.pem –
подписанный сертификат)
– *.p12 формат (PKCS12): один файл - для загрузки в браузер
Mozilla/Netscape/FireFox
– *.pfx формат: один файл - для загрузки в браузер Internet Explorer
• Куда может быть скопирован (загружен) сертификат:
–
–
–
–
в веб-браузер
на машину User Interface
на MyProxy сервер
для личного пользования – на USB носитель
• Сертификат имеет срок действия (от 2 недель до 1 года)
• По истечению срока действия он может быть продлён
Типичная картина на машине User Interface:
$ ls -l .globus/
total 8
-rw-r--r-1 ole
users
1761 Nov 25
-r-------1 ole
users
951 Nov 24
2009 usercert.pem
2009 userkey.pem
20
Вступление в члены ВО
Enabling Grids for E-sciencE
Сертификат
должен быть
загружен в
браузер
21
GILDA CA для обучения
Enabling Grids for E-sciencE
• GILDA CA имеет особенности
– Облегчённая аутентификация – Нет необходимости в
подтверждении RA
 Получение сертификата только через WWW!
– Возобновляемый сертификат для GILDA сразу после выдачи
действителен в течении 2 недель (обычно – 1 год)
– Возобновляемый сертификат для GILDA действителен только
только для GILDA ВО (обычный сертификат годится для любой
ВО)
• Ссылки:
– Инструкция: https://gilda.ct.infn.it
 Выберите пункт меню - “Instruction for Users”
– Сайт GILDA CA: https://gilda-security.ct.infn.it/CA
– Запрос сертификатов для проведения курсов: https://gilda.ct.infn.it
 Выберите пункт меню “Request a tutorial”
– Поддержка пользователей: http://gilda-support.ct.infn.it/
22
Доступ к t-инфраструктуре GILDA
Enabling Grids for E-sciencE
1. Получить сертификат от GILDA CA
2. Подтвердить согласие с правилами GILDA,
зарегистрироваться в ВО GILDA
3. Загрузить сертификат на User Interface
4. Можно работать через SSH к User Interface,
либо через Веб-интерфейс Grid Tutor
23
t-инфраструктура в РДИГ
Enabling Grids for E-sciencE
•Состав:
–три грид-сайта ОИЯИ, Дубна
(RU-JINR, RU-JINR-2, RUJINR-MPI)
– грид-сайт ОФВЭ, Протвино
(SU-Protvino-IHEP)
–грид-сайт ИМИТ АН РУз,
Ташкент, Узбекистан (UZIMIT)
–грид-сайт Софийского
университета, София,
Болгария (BG-SU)
–грид-сайт ИТФ, Киев,
Украина (UA-BITP)
–грид-сайт КПИ, Киев,
Украина (UA-BITP)
24
Пользователи EGEE
Enabling Grids for E-sciencE
ВО
ВО
Use
r
ВО
Use
r
Use
r
Use
r
Use
r
Use
r
Сообщество
пользователей
Use
r
Домен
Поддерживаемые
Грид
области
авторизация
+
другие приложения
Домен
Области приложений:
• Физика высоких энергий (HEP)
• Биологические науки (LS)
• Науки о Земле (ES)
• Грид обсерватория (GO)
• Вычислительная химия (CC)
• Астрономия и астрофизика
(AA)
• Термоядерный синтез (F)
23 “Базовых” ВО:
Использование CPU > 10% от
всего домена
182 “активных” ВО
4167 пользователей в
“Базовых” ВО
13,381 пользователей в
зарегистрированных ВО
Области приложений и контакты: https://twiki.cern.ch/twiki/bin/view/EGEE/NA4
25
Работа в ВО EGEE
Enabling Grids for E-sciencE
Приложения
Средства разработки,
программные
комплексы, порталы
ИКС & APIs
Сервисы gLite
(управление, данные,
вычисления, безопасность, .)
• Большинство ВО разрабатывают
своё ПО “поверх” gLite
• Некоторые области приложений
имеют особые требования
• Программа EGEE RESPECT :
– Recommended External Software
Packages for Egee CommuniTies
– Перечень внешнего ПО, которое
успешно работает с gLite
 Расширяет функциональность
Грид-инфраструктуры
 Сокращает дублирование при
разработке
 Ускоряет “гридификацию” новых
приложений
– http://technical.euegee.org/index.php?id=290
26
Поддержка пользователей
Enabling Grids for E-sciencE
Основные службы поддержки:
• Global Grid User Support - GGUS: http://www.ggus.org/
– Если возникают проблемы при работе в любой ВО
производственного (production) Грид (т.е. CE, WMS, UI, …)
– Если есть практические вопросы по работе сервисов gLite
– При обращении в браузер должен быть загружен сертификат!
• EGEE Application Porting Support для пользователей:
http://www.lpds.sztaki.hu/gasuc/
– Если вы не знаете, как портировать ваше приложение в EGEE
– Технические консультации + программисты, которые могут помочь
вам!
• Служба поддержки пользователей РДИГ:
https://glse.itep.ru/usersupport/index.php
– Первый уровень поддержки пользователей РДИГ
– Проблемы при работе с региональными ВО
• Служба поддержки администраторов сайтов РДИГ:
https://glse.itep.ru/adminsupport/index.php
27
Enabling Grids for E-sciencE
Запуск простейшего задания
www.eu-egee.org
Запуск заданий
Enabling Grids for E-sciencE
• Задание (job) – это средство для запуска приложений в Грид
• Информация, которая должна быть определена, когда задание
должно быть запущено в Грид
– Характеристики задания
– Требования задания и условия на вычислительные ресурсы
 Включая требования на программное обеспечение
– Требования к данным
• Эта информация определяется при помощи Job Description
Language (JDL)
– Основан на CLASSified ADvertisement language (ClassAd) из
проекта Condor
 ClassAd – последовательность атрибутов, разделённых (;)
29
Workload Management System
Enabling Grids for E-sciencE
• Пользователь управляет заданиями через подсистему
управления загрузкой (Workload Management System - WMS);
• Основная задача WMS - планирование и управление
распределенными ресурсами в системе Грид;
• Что может пользователь?
– Посылать задачи на выполнение;
– Выполнять задачи на наиболее подходящих для этого ресурсах (WMS
автоматически оптимизирует использование ресурсов);
– Получать информацию о состоянии задач;
– Получать результаты выполнения задач.
30
Запуск простого задания - 1
Enabling Grids for E-sciencE
User Interface
создание
прокси
Сайт X в EGEE
Computing Element
Storage Element
Сервис управления ВО
(БД пользователей ВО)
31
Запуск простого задания - 2
Enabling Grids for E-sciencE
User Interface
создание JDL, запуск
задания (исполняемое) +
данные (ограниченный
объём)
Information System
Workload
Management
System
запрос
создание
прокси
публикует
состояние
Сайт X в EGEE
Computing Element
Storage Element
Сервис управления ВО
(БД пользователей ВО)
32
Запуск простого задания - 3
Enabling Grids for E-sciencE
User Interface
создание JDL, запуск
задания (исполняемое) +
данные (ограниченный
объём)
Information System
Workload
Management
System
запрос
создание
прокси
запуск задания
публикует
состояние
протоколирование
Сайт X в EGEE
Computing Element
Storage Element
процесс
Сервис управления ВО
(БД пользователей ВО)
Logging and
bookkeeping
33
Запуск простого задания - 4
Enabling Grids for E-sciencE
User Interface
создание JDL, запуск
задания (исполняемое) +
данные (ограниченный
объём)
Information System
Workload
Management
System
запрос
создание
прокси
получение статуса и
выходные данные
(ограниченный объём)
выходные
данные
протоколирование
статус
задания
запуск задания
публикует
состояние
Сайт X в EGEE
Computing Element
Storage Element
процесс
Сервис управления ВО
(БД пользователей ВО)
Logging and
bookkeeping
34
Создание прокси
Enabling Grids for E-sciencE
$ ls -l .globus/
-r-------- 1 ole users 963 Sep 9 18:50 userkey.pem
-rw------- 1 ole users 821 Sep 9 18:50 userreq.mail
$ voms-proxy-init --voms atlas
Enter GRID pass phrase: ***********
Your identity: /C=RU/O=RDIG/OU=users/OU=pnpi.nw.ru/CN=Sergey Oleshko
Creating temporary proxy .................................. Done
Contacting lcg-voms.cern.ch:15001 [/DC=ch/DC=cern/OU=computers/CN=lcgvoms.cern.ch] "atlas" Done
Creating proxy .................................... Done
Your proxy is valid until Fri Jan 29 01:40:30 2010
voms-proxy-init  Вход в Грид
Enter GRID pass phrase: ******  закрытый ключ защищён паролем
– Опции для voms-proxy-init:
 Имя VO
 -hours <время жизни прокси>
 -help
voms-proxy-destroy  выход из Грид
35
JDL: атрибуты
Enabling Grids for E-sciencE
Type - используется для различения простых и составных заданий (Job,
Collection, DAG)
JobType – определяет тип задания (Normal, Interactive, MPICH,
Checkpointable)
Executable (обязательный) - Имя выполняемой программы
Arguments (optional) - Параметры программы
StdOutput, StdError (optional) - Стандартный output/error
InputSandbox (optional) - Список файлов на UI, которые необходимы для
выполнения задания. Эти файлы будут переданы на удаленный узел.
OutputSandbox (optional) - Список файлов, сгенерированных заданием и
переданных на WMS, которые должны быть затребованы на UI
ShallowRetryCount (optional) - В случае возникновения ошибки – количество
попыток повторного запуска задания (до того, как задание начало
выполнятся)
36
Создание JDL файла
Enabling Grids for E-sciencE
$ more hostname.jdl
Type = "Job";
JobType = "Normal";
Executable = "/bin/hostname";
StdOutput = "hostname.out";
StdError = "hostname.err";
OutputSandbox = {"hostname.err","hostname.out"};
Arguments = "-f";
ShallowRetryCount = 3;
37
Рекомендуется
Команды WMS
Enabling Grids for E-sciencE
Версия
WMS
Н
LCG-2 WMS
Делегирован
ие прокси
Запуск
edg-job-submit
Статус
edg-job-status
Журнал
Выход
[-o joblist]jdlfile
[-v verbosity] [-i joblist] jobIDs
edg-job-get-logging-info
[-v verbosity] [-i joblist] jobIDs
edg-job-get-output
[-dir outdir] [-i joblist] jobIDs
Снятие
edg-job-cancel
Подходящие
ресурсы
edg-job-list-match
[-i joblist] jobID
jdlfile
gLite WMS via NS
Е 3.0
gLite
Р
glite-job-submit
Е
[-o joblist] jdlfile
К
glite-job-status
О [-i joblist]
[-v verbosity]
jobIDs
М
glite-job-logging-info
Е
[-v verbosity] [-i joblist]
jobIDs
Н
glite-job-output
Д
[-dir outdir] [-i joblist] jobI
О
Ds
glite-job-cancel
В
[-i joblist] jobID
А
glite-job-list-match
jdlfile
Н
О
gLite WMS via WMProxy
gLite 3.1+
glite-wms-job-delegateproxy -d delegID
glite-wms-job-submit
[-d delegID] [-a] [-o joblist]
jdlfile
glite-wms-job-status
[-v verbosity] [-i joblist] jobIDs
glite-wms-job-logginginfo
[-v verbosity] [-i joblist] jobIDs
glite-wms-job-output
[-dir outdir] [-i joblist] jobIDs
glite-wms-job-cancel
[-i joblist] jobID
glite-wms-job-list-match
[-d delegID] [-a] jdlfile
38
Порядок выполнения команд
Enabling Grids for E-sciencE
User Interface
1.glite-wms-job-delegate-proxy -d delegID
2.glite-wms-job-list-match -d delegID hostname.jdl
delegID
3.glite-wms-job-submit -d delegID
hostname.jdl  JobID
4.glite-wms-job-status JobID
5.glite-wms-job-output JobID
Контроль заданий
0.voms-proxy-init --voms gilda
Сайт X в EGEE
Computing Element
Сервис управления ВО
(БД пользователей ВО)
Storage Element
процесс
39
Статусы задания
Enabling Grids for E-sciencE
SUBMITTED - задание послано
пользователем и зарегистрировано в
LB сервисе
WAITING – происходит поиск
подходящего ресурса
READY - заданию назначен Computing
Element, но оно туда ещё не передано
SCHEDULED - задание ожидает в
очереди на Computing Element
RUNNING - задание выполняется
DONE - задание завершилось
ABORTED - задание снято WMS (т.к.
слишком долгое, срок действия
сертификата истёк, и т.п.)
CANCELLED - задание снято
пользователем
CLEARED - Output Sandbox передан
на User Interface
40
Практикумы
Enabling Grids for E-sciencE
1.
Авторизация и аутентификация
http://egee.pnpi.nw.ru/cgi/index.cgi?l1=6&l2=10



2.
Проверка сертификата
Создание прокси
Проверка прокси
Запуск простого задания с использованием WMProxy
http://egee.pnpi.nw.ru/cgi/index.cgi?l1=6&l2=14

Создание простого JDL файла
copy&paste JDL файл с HTML страницы





Делегирование прокси
Получение списка ресурсов
Запуск задания
Проверка статуса задания
Получение выходных данных
Дополнительно: http://egee.pnpi.nw.ru/cgi/index.cgi?l1=6&l2=2




Как импортировать сертификат в браузер
Как экспортировать сертификат из браузера
Команды работы с прокси
Работа с MyProxy
41
Веб-страница
Enabling Grids for E-sciencE
42
Enabling Grids for E-sciencE
Более сложные примеры
www.eu-egee.org
“Выполняемая программа”
Enabling Grids for E-sciencE
Executable = "/bin/hostname";
• Может быть установлена на CE
 Системная команда(утилита) Linux (Scientific Linux!)
 Прикладное ПО для ВО: информация берётся из Информационной
Системы
• Использовать JDL для направления задания на подходящий CE
• Или приходит от клиента
– Часть InputSandbox

Скрипт
• Не нужна компиляция
• Может вызывать бинарные файлы, которые статически установлены
на CE

Или бинарный файл
• Должен быть скомпилирован на UI  совместимость с CE
• Собран быть статически собран  позволит избежать ошибок,
вызванных различными версиями библиотек
•
Или исходники (+ скрипт для компиляции)
• Компилируется на СЕ (на рабочем узле)
44
Запуск собственного скрипта
Enabling Grids for E-sciencE
$ cat testsandbox.jdl
Type = "Job";
JobType = "Normal";
Executable = "/bin/sh";
Arguments = "testsandbox.sh";
StdOutput = "testsandbox.out";
StdError = "testsandbox.err";
InputSandbox = "testsandbox.sh";
OutputSandbox = {"testsandbox.err","testsandbox.out"};
ShallowRetryCount = 1;
$ cat testsandbox.sh
#!/bin/bash
ls -l
$ /bin/sh testsandbox.sh
45
Сборка и запуск на WN
Enabling Grids for E-sciencE
•
Есть файл с исходным текстом программы на языке С ctst.c,
которая выводит строку “Hello world” на стандартный вывод.
•
Есть Makefile для сборки этой программы.
•
Необходимо обеспечить сборку и запуск программы на
удаленном ресурсе.
• JDL файл:
JobType="Normal";
Executable = "startC.sh";
StdOutput = "ctst.out";
StdError = "ctst.err";
OutputSandbox = {"ctst.out","ctst.err"};
InputSandbox = {"startC.sh","ctst.c","Makefile"};
ShellowRetryCount=3;
46
Остальные файлы
Enabling Grids for E-sciencE
•
•
•
Cтартовый скрипт startC.sh:
#!/bin/bash
make
//сборка программы
chmod +x ctst //разрешаем запускать ее
./ctst
//запускаем
exit 0
Текст программы на С - ctst.c:
#include <stdio.h>
int main(int argc, char **argv)
{
printf("\n\n\n");
printf("Hello world!\n");
printf("\n\n\n");
// exit(0);
}
Makefile
ctst: ctst.o
g++ ctst.o -o ctst -lm
clean:
rm ctst.o ctst
47
Управление WMS через JDL
Enabling Grids for E-sciencE
Executable = “gridTest”;
WMS использует
StdError = “stderr.log”;
Информационную
StdOutput = “stdout.log”;
Систему для поиска CE
InputSandbox = {“/home/ole/test/gridTest”};
OutputSandbox = {“stderr.log”, “stdout.log”};
Requirements = other.Architecture==“INTEL” &&
other.GlueCEInfoTotalCPUs > 480;
Rank = other.GlueCEStateTotalJobs;
Политика планирования, которой следует WMS:
• Найти CE, удовлетворяющие требованиям (Requirements)
• Выбрать СЕ с максимальным рангом
48
Контроль требований
Enabling Grids for E-sciencE
User Interface
создание
прокси
создание JDL, запуск
задания (исполняемое) +
данные (ограниченный
объём)
Workload
Management
System
Information System
запрос
получение статуса и
выходные данные
(ограниченный объём)
выходные
данные
протоколирование
статус
задания
запуск задания
публикует
состояние
Сайт X в EGEE
Computing Element
Storage Element
процесс
Сервис управления ВО
(БД пользователей ВО)
Logging and
bookkeeping
49
Правила планирования WMS
Enabling Grids for E-sciencE
1. Найти CE, удовлетворяющие требованиям
(определённые атрибутом Requirements в JDL файле)
2. Выбрать CE, которое является “ближайшим”(“Сlose”)
к SE, определённым в InputData
•
•
•
Отношение “Ближайший” определяется между CE и SE
администратором сайта
“Ближайший” – не обязательно самый близкий географически,
зависит от скорости каналов связи
Обычно “Ближайший” – это тот же самый сайт
•
•
CE:
cluster.pnpi.nw.ru:2119/jobmanager-pbs-atlas
Close SE: cluster.pnpi.nw.ru
3. Выбрать CE с максимальным рангом
(Формула определения ранга задаётся в атрибуте
Rank JDL файла)
50
Некоторые JDL атрибуты
Enabling Grids for E-sciencE
• GlueCEUniqueID – идентификатор(имя) CE
– Избежать использование “неправильных” CE:
other.GlueCEUniqueID !=
“cluster.pnpi.nw.ru:2119/jobmanager-pbs-atlas”
– Выполнить задание на определённом CE:
other.GlueCEUniqueID ==
“cluster.pnpi.nw.ru:2119/jobmanager-pbs-atlas”
• GlueCEInfoTotalCPUs – максимальное число ЦПУ в CE
Rank = other. GlueCEInfoTotalCPUs;
• GlueCEStateWaitingJobs – число ожидающих заданий
• GlueCEPolicyMaxCPUTime – задание будет снято после этого
числа минут
• GlueHostMainMemoryRAMSize – объём памяти
http://glite.web.cern.ch/glite/documentation/  спецификация JDL
(запуск через WMS WMProxy)
51
Примеры
Enabling Grids for E-sciencE
• Rank =
( other.GlueCEStateWaitingJobs == 0 ? other.GlueCEStateFreeCPUs : other.GlueCEStateWaitingJobs);
если нет ожидающих заданий,
– тогда выбранный CE будет тот, где больше всего свободных ЦПУ
– в противном случае – тот CE, где меньше всего ожидающих
заданий.
• Requirements =
( Member(„IDL2.1”, other.GlueHostApplicationSoftwareRunTimeEnvironment) ) &&
(other.GlueCEPolicyMaxWallClockTime > 10000);
тот CE где,
– установлено IDL2.1
– по крайней мере 10000 сек. может потребоваться заданию
(ожидание + выполнение)
52
Практикум по теме
Enabling Grids for E-sciencE
“Ещё о JDL”- http://egee.pnpi.nw.ru/cgi/index.cgi?l1=6&l2=27
Различные варианты “выполняемой программы”
 Запуск клиентского скрипта
 Получить список файлов директории
 Запуск бинарного файла клиента (через скрипт)
Requirements, Ranks
 Послать задание на определённый CE
 Послать задание на CE, где установлено ПО “GEANT4-6”
 Послать задание куда угодно, кроме определённого CE (до того там была
ошибка)
Дополнительно:
Запросы к информационной системе для получения характеристик и
состояния CE и SE:
http://egee.pnpi.nw.ru/cgi/index.cgi?l1=6&l2=16
53
Enabling Grids for E-sciencE
Работа с большими файлами данных
www.eu-egee.org
Основы управления данными
Enabling Grids for E-sciencE
• Файлы в основном записываются один раз,
читаются многократно
– Если пользователь изменяет файл, то
 Либо он обеспечивает непротиворечивость!
 Либо сохраняет файл с новым именем файла!
– Нет цели создать глобальную систему управления файлами
• Сервисы для управления файлами
– Сохранение файлов
– Каталоги
– Передача файлов
55
Управление данными - 1
Enabling Grids for E-sciencE
“User
interface”
Input “sandbox”
DataSets info
LCG FileCatalogue
(LFC)
Output “sandbox”
Ограничени
е ~20MByte
WMS
Storage
Element 2
Computing
Element
Storage
Element 1
Задание 1 записывает результаты, как 2
реплики одного файла на 2 различных SE
56
Управление данными - 2
Enabling Grids for E-sciencE
“User
interface”
Input “sandbox”
DataSets info
LCG FileCatalogue
(LFC)
Output “sandbox”
Ограничени
е ~20MByte
WMS
Считать там, где
ближе всего
находятся данные
Storage
Element 2
Computing
Element
Storage
Element 1
Задание 2 читает файл, как входной с SE
57
Логические имена файлов
Enabling Grids for E-sciencE
“User
interface”
LCG FileCatalogue
(LFC)
“Myfile.dat”
File_on_se1
Myfile.dat
File_on_se2
Storage
Element 2
Storage
Element 1
Файл с одинаковым содержимым
находится на двух SE
58
Разрешение логических имён
Enabling Grids for E-sciencE
“User
interface”
LCG FileCatalogue
(LFC)
“Myfile.dat”
File_on_se1 (“SURL”: site URL)
Myfile.dat
“Логическое имя”
“GUID” Глобальный
уникальный идентификатор
File_on_se2 (“SURL”: site URL)
Storage
Element 2
Содержимое файла не
может быть изменено  Нет
необходимости
синхронизировать реплики
Storage
Element 1
Файл с одинаковым содержимым находится на двух SE
59
Именование файлов
Enabling Grids for E-sciencE
•
•
Symbolic Link в пространстве логических имён (logical filename space)
Logical File Name (LFN)
[lfn:<anything_you_want>]
– Имя, созданное пользователем для того чтобы ссылаться на некоторый элемент
данных, напр. “lfn:cms/20030203/run2/track1”
•
Globally Unique Identifier (GUID)
[guid:<40_bytes_unique_string>]
– Внутренний (машинный) идентификатор элемента данных, напр.
“guid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6”
• Site URL (SURL)
[<sfn | srm>://<SE_hostname>/<some_string>]
(or Physical File Name (PFN) or Site FN)
– Физическое местоположение реплики элемента данных в системе хранения данных,
напр. “srm://pcrd24.cern.ch/flatfiles/cms/output10_1”
(SRM)
“sfn://lxshare0209.cern.ch/data/alice/ntuples.dat” (Classic SE)
•
Transport URL (TURL)
[<protocol>://<some_string>]
– Временный указатель на реплику + протокол доступа: распознаётся SE, напр.
“rfio://lxshare0209.cern.ch//data/alice/ntuples.dat”
Symbolic Link 1
.
.
Symbolic Link n
LFN
GUID
Physical File SURL 1
TURL 1
.
.
.
.
Physical File SURL n
TURL n
SRM
60
Каталоги (File and Replica Catalog)
Enabling Grids for E-sciencE
• Главная цель - определить, где размещены файлы в Grid
• File and Replica Catalog - это сервис, который реализует это и
поддерживает соответствие между LFNs, GUIDs и SURLs.
• В gLite поддерживаются 2 типа каталогов:
– Replica Location Server (RLS) - старый
 Local Replica Catalog (LRC)
 Replica Metadata Catalog (RMC)
– LCG File Catalog (LFC) – по умолчанию
• Тип используемого пользователем каталога определяется
переменной окружения LCG_CATALOG_TYPE: edg для RLS, lfc
для LFC
• Оба каталога между собой несовместимы!!! Однако есть
средства миграции из RLS в LFC
• Файл данных только тогда может считаться Грид-файлом,
когда он физически присутствует на каком-либо SE и
зарегистрирован в каталоге
61
Структура LFC
Enabling Grids for E-sciencE
LFC имеет иерархическую структуру
/grid/<VO_name>/ <you create it>
LFC Namespace
Defined by the user
• Все члены данной ВО имеют права чтения/записи в
соответствующую директорию
• Если соответствующей директории нет, то это означает, что
данный LFC сервер не поддерживает эту ВО
• Команды работы с LFC похожи на соответствующие команды
в UNIX (с префиксом lfc-)
• Переменная окружения $LFC_HOST должна содержать имя
LFC сервера
62
Директории LFC
Enabling Grids for E-sciencE
lfn:/grid/gilda/tutorial1/run2/
input1
input2
input3
LCG FileCatalogue
(LFC)
Storage Element 1
sfn://grid005.iucc.ac.il/storage/gilda/generated/2007-06-23/fileb233d43f-5bc6-4ede-a5fe-611d48be2ba5
Storage Element 2
srm://aliserv6.ct.infn.it/dpm/ct.infn.it/home/gilda/generated/2007-06-23/filea21ab3e2-8ff6-4a44-82a7-f2
Storage Element 3
sfn://trigriden01.unime.it/flatfiles/SE00/gilda/generated/2007-06-23/filec79a9e3c-2485-4206-a2a5-235f
• LFC директории = виртуальные директории
– Каждый файл из директории может быть сохранён на своём SE
63
Директории LFC
Enabling Grids for E-sciencE
lfn:/grid/gilda/tutorial1/run2/
input1
input2
input3
LCG FileCatalogue
(LFC)
Storage Element 1
sfn://grid005.iucc.ac.il/storage/gilda/generated/2007-06-23/fileb233d43f-5bc6-4ede-a5fe-611d48be2ba5
Storage Element 2
srm://aliserv6.ct.infn.it/dpm/ct.infn.it/home/gilda/generated/2007-06-23/filea21ab3e2-8ff6-4a44-82a7-f2
Storage Element 3
sfn://trigriden01.unime.it/flatfiles/SE00/gilda/generated/2007-06-23/filec79a9e3c-2485-4206-a2a5-235f
Storage Element 4
sfn://grid005.iucc.ac.it/flatfiles/SE00/gilda/generated/2007-06-23/filec79a9e3c-2485-4206-a2a5-235f
• LFC директории = виртуальные директории
– Каждый файл из директории может быть сохранён на своём SE
64
Команды для работы с LFC
Enabling Grids for E-sciencE
• Есть 2 набора команд, которые могут использоваться в
качестве средств для работы с каталогами и файлами
– lfc-... команды для работы с каталогом LFC, который определяет
соответствие между LFN и SURL (Site URL)
– lcg-... команды, которые позволяют копировать файлы с/на SE и
создавать реплики файлов. Кроме того, команды lcg-... также
обеспечивают взаимодействие между SE и каталогом.
65
Storage Element
Enabling Grids for E-sciencE
• Обеспечивает
– Хранение файлов: системы хранения файлов – дисковые или
ленточные
– Транспортный протокол (gsiFTP) ~ FTP сервер, дополненный GSI
– Унифицированный интерфейс (SRM)
протоколы
ресурсы
протокол
Лента
протокол
Storage
Element
Лента
протокол
Диск
Лента
Запрос на
файл
+
VOMS proxy
сервис
Аутентификация,
авторизация
66
Типы SE в gLite
Enabling Grids for E-sciencE
Тип
Ресурс
Передача
файлов
Протокол доступа
SRM
Classic SE
Disk server
GSIFTP
insecure RFIO
No
DPM
Disk pool
GSIFTP
secure RFIO
Yes
dCache
Disk pool/MSS
GSIFTP
gsidcap
Yes
CASTOR
MSS
GSIFTP
insecure RFIO
Yes
67
Практические упражнения
Enabling Grids for E-sciencE
“Основы системы управления данными в gLite”
(http://egee.pnpi.nw.ru/cgi/index.cgi?l1=6&l2=15):
•
•
•
•
•
•
•
•
Получение списка файлов и директорий
Создание директории
Сохранение файла на SE
Получение SURL файла
Репликация файла между SE
Создание символической ссылки
Передача файла с SE на UI
Удаление
68
Практические упражнения
Enabling Grids for E-sciencE
“Запуск заданий, требующих данные”
(http://egee.pnpi.nw.ru/cgi/index.cgi?l1=6&l2=25):
Упражнение 1:
•
•
•
•
•
•
Передать файл на SE, зарегистрировать в LFC
Переслать скрипт на CE, как задание
Передать выполняемый файл через input sandbox
Cкрипт начинает выполняться на CE
Скрипт копирует файл с SE
Файл обрабатывается, результат записывается в STDOUT
Упражнение 2:
•
•
•
•
•
Переслать скрипт на CE, как задание
Передать выполняемый файл через input sandbox
Cкрипт начинает выполняться на CE
Скрипт создаёт локальный файл
Программа, запущенная из скрипта, записывает файл на SE,
регистрирует в LFC
• Результат доступен при помощи lcg-cp
69
Enabling Grids for E-sciencE
Спасибо за внимание
70