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