Введение в ППО gLite

70
Enabling Grids for E-sciencE www.eu-egee.org Введение в ППО gLite Олешко С.Б. Петербургский институт ядерной физики г.Гатчина

description

Введение в ППО gLite. Олешко С.Б. Петербургский институт ядерной физики г.Гатчина. Презентацию можно будет скачать со страницы сайта http://egee.pnpi.nw.ru в разделе “ Грид в ПИЯФ ”. Содержание. Что такое EGEE и как получить доступ к ресурсам EGEE Инфраструктура EGEE ППО gLite - PowerPoint PPT Presentation

Transcript of Введение в ППО gLite

Page 1: Введение в ППО gLite

Enabling Grids for E-sciencE

www.eu-egee.org

Введение в ППО gLite

Олешко С.Б.Петербургский институт ядерной физикиг.Гатчина

Page 2: Введение в ППО gLite

2

Enabling Grids for E-sciencE

Презентацию можно будет скачать со страницы сайта http://egee.pnpi.nw.ru в разделе “Грид в ПИЯФ”

Page 3: Введение в ППО gLite

3

Enabling Grids for E-sciencE

Содержание

• Что такое EGEE и как получить доступ к ресурсам EGEE

• Инфраструктура EGEE

• ППО gLite

• Сообщества пользователей и поддержка пользователей• Использование команд gLite

• Запуск простейшего задания– ссылка на пример

• Более сложные примеры– ссылки на примеры

• Работа с большими объёмами данных– ссылка на пример

Page 4: Введение в ППО gLite

4

Enabling Grids for E-sciencE

Проект EGEE(www.eu-egee.org )

• Цель EGEE– Обеспечить создание высокопроизводительной продукционной

GRID инфраструктуры, ее поддержку и развитие

• EGEE– 1 апреля 2004 – 31 марта 2006– 71 участник из 27 стран, объединённых в региональные

федерации

• EGEE-II– 1 апреля 2006 – 30 апреля 2008

– расширение числа участников и ресурсов (~90 участников из 36 стран)

• EGEE-III– 1 мая 2008 – 30 апреля 2010

– переход к стабильной постоянно действующей Грид-инфраструктуре

Page 5: Введение в ППО gLite

5

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

Page 6: Введение в ППО gLite

6

Enabling Grids for E-sciencE

Участие России в проекте EGEE

В целях обеспечения полномасштабного участия России в этом проекте был образован консорциум РДИГ (Российский ГРИД для интенсивных операций с данными – Russian Data Intensive GRID, RDIG) для эффективного выполнения работ по проекту и развитию в России инфраструктуры EGEE, с вовлечением на следующих этапах проекта других организаций из различных областей науки, образования и промышленности.

Консорциум РДИГ, согласно принятой в проекте EGEE структуре, входит в проект в качестве региональной федерации “Россия” (“Russia).

Сейчас в РДИГ (http://www.egee-rdig.ru) входят 15 институтов (в 2004 году - 8)

Page 7: Введение в ППО gLite

7

Enabling Grids for E-sciencE

Инфраструктура EGEE

• Производственная (production)– масштабная инфраструктура с центрами по всему миру– стабильная, со службой поддержки, использующая только

оттестированную и надёжную версию ППО

• Тестовая (pre-production)– работает параллельно с основной (ограниченное число узлов)– тестирование новых версий ППО– проверка новых пользовательских приложений

• Учебная (t-infrastructure)– полный набор Грид-служб– каждый может

зарегистрироваться и попробовать работать в Грид (GILDA - https://gilda.ct.infn.it/)

~15 центров на 3 континентах

Page 8: Введение в ППО gLite

8

Enabling Grids for E-sciencE

EGEE, ППО gLite и ВО

• ППО gLite устанавливается в каждом центре EGEE и обеспечивает:

– управление данными– вычислительный сервис– сервис безопасности

INTERNET

Page 9: Введение в ППО gLite

9

Enabling Grids for E-sciencE

EGEE, ППО gLite и ВО

• ППО gLite устанавливается в каждом центре EGEE и обеспечивает:

– управление данными– вычислительный сервис– сервис безопасности

• Ресурсы и пользователи EGEE образуют виртуальные организации (ВО)

INTERNET

Page 10: Введение в ППО gLite

10

Enabling Grids for E-sciencE

EGEE, ППО gLite и ВО

• ППО gLite устанавливается в каждом центре EGEE и обеспечивает:

– управление данными– вычислительный сервис– сервис безопасности

• Ресурсы и пользователи EGEE образуют виртуальные организации (ВО)

• Распределённые сервисы (программное обеспечение ) и люди получают доступ к ВО

INTERNET

Page 11: Введение в ППО gLite

11

Enabling Grids for E-sciencE

Пример: ВО biomed

Центры:•36, в основном из Европы и Азии•65 584 ЦПУ•~741 Тб памятиТакже доступен портал поддержки приложений

Пользователи• любой, работающий с биомедицинскими приложениями• нет ограничений по географическому расположению• В настоящий момент 220-250 членов ВО

Page 12: Введение в ППО gLite

12

Enabling Grids for E-sciencE

История gLite

gLite 3.1(2007)

gLite 3.2(2009)

Page 13: Введение в ППО gLite

13

Enabling Grids for E-sciencE

gLite - ППО EGEE (www.glite.org )

• Текущая версия - gLite 3.2• Совместима с Scientific Linux 5

– Некоторые сервисы есть под Debian, а также для более ранних версий Scientific Linux

• gLite, как программный продукт…– Установочный дистрибутив– Разработка ещё не завершена

• Патчи для отдельных компонент появляются достаточно часто

Page 14: Введение в ППО gLite

14

Enabling Grids for E-sciencE

Основные сервисы gLite

EGEE Maintained Components External Components

Physical Resources

General Services

LHC FileCatalogue

HydraWorkload

Management Service

File TransferService

Logging &Book keeping

Service

AMGA

Storage Element

Disk Pool Manager

dCache

Information S

ervices

BDII

MON

User InterfaceUser Access

SecurityServices

Virtual Organisatio

n Membership

Service

Authz. Service

SCAS

Proxy Server

LCAS & LCMAPS

Compute Element

CREAM LCG-CE

gLExec

BLAH

Worker Node

User Interface

Page 15: Введение в ППО gLite

15

Enabling Grids for E-sciencE

Основные компоненты

User Interface (UI)User Interface (UI): Для пользователя - точка входа в Грид

Computing Element (CE)Computing Element (CE): Очередь заданий на вычислительном узле, где может выполняться задание пользователя

Storage Element (SE)Storage Element (SE): Сервер хранения данных, где сохраняются Грид файлы (чтение/запись/копирование) или их реплики

Workload Management System (WMS)Workload Management System (WMS):Определяет соответствие между требованиями задания и доступными Грид-ресурсами, управляет запуском

Information SystemInformation System: Содержит характеристики и статус ресурсов

File and replica catalogFile and replica catalog: местоположение файлов в Грид и их реплик

Logging and Bookkeeping (LB)Logging and Bookkeeping (LB): Статус заданий, выполняющихся в Грид

Page 16: Введение в ППО gLite

16

Enabling Grids for E-sciencE

Доступ к ВО EGEE

ВИРТУАЛЬНАЯ ОРГАНИЗАЦИЯ

• Пользователи (и компьютеры) идентифицируются при помощи грид-сертификатов. Сертификаты выдаются национальными Центрами сертификации (CA).

• Сервис управления ВО (VOMS) поддерживает список пользователей, зарегистрированных в ВО

• Последовательность действий:–Получить сертификат из своего

национального CA: http://www.igtf.net

–Зарегистрироваться в ВО Список ВО: http://cic.gridops.org/

–Менеджер ВО утверждает запрос Модифицируется VOMS DB Информация реплицируется на все

ресурсы ВО в течении 24 часов

–Можно работать в Грид через командный или графический интерфейс

CA

менеджер ВО

Получение сертификата: единождыОбновление сертификата: ежегодно

VOMS database

Грид сайты

VOMS

Вступление в ВО:единожды

Репликация VOMS DB

ежесуточно

Вы

Регистрация

Page 17: Введение в ППО gLite

17

Enabling Grids for E-sciencE

Как найти национальный CA

http://igtf.net

CA в Азиатско-Тихоокеанском

регионе

CA в Европе

CA в Америке

Page 18: Введение в ППО gLite

18

Enabling Grids for E-sciencE

РДИГ CA

http://ca.grid.kiae.ru/RDIG/

Page 19: Введение в ППО gLite

19

Enabling Grids for E-sciencE

Получение сертификата

Подписанный открытый ключ передается пользователю

Закрытый ключшифруется на

локальном диске

На подпись передается открытый ключ

Пользователь создаёт пару ключейОткрытый / Закрытый

Для подписи необходимо удостоверение личности,

которое предъявляется RAСА подписывает открытый ключ с помощью своего

корневого сертификата и информирует пользователя

Центр cертификации

ID

Корневой сертификат

CA

Page 20: Введение в ППО gLite

20

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 2009 usercert.pem-r-------- 1 ole users 951 Nov 24 2009 userkey.pem

Page 21: Введение в ППО gLite

21

Enabling Grids for E-sciencE

Вступление в члены ВО

Сертификат должен быть

загружен в браузер

Page 22: Введение в ППО gLite

22

Enabling Grids for E-sciencE

GILDA CA для обучения

• 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/

Page 23: Введение в ППО gLite

23

Enabling Grids for E-sciencE

Доступ к t-инфраструктуре GILDA

1. Получить сертификат от GILDA CA2. Подтвердить согласие с правилами GILDA,

зарегистрироваться в ВО GILDA3. Загрузить сертификат на User Interface 4. Можно работать через SSH к User Interface,

либо через Веб-интерфейс Grid Tutor

Page 24: Введение в ППО gLite

24

Enabling Grids for E-sciencE

t-инфраструктура в РДИГ•Состав:

–три грид-сайта ОИЯИ, Дубна (RU-JINR, RU-JINR-2, RU-JINR-MPI)

– грид-сайт ОФВЭ, Протвино (SU-Protvino-IHEP)

–грид-сайт ИМИТ АН РУз, Ташкент, Узбекистан (UZ-IMIT)

–грид-сайт Софийского университета, София, Болгария (BG-SU)

–грид-сайт ИТФ, Киев, Украина (UA-BITP)

–грид-сайт КПИ, Киев, Украина (UA-BITP)

Page 25: Введение в ППО gLite

25

Enabling Grids for E-sciencE

Пользователи EGEE

User

User

User

User

User

User

User

ВО ВО ВО

Домен Домен

Сооб

щество

пользовател

ейГрид

авториза

ция

Под

держ

иваемы

е

обл

асти+

другие прил

ожени

я

Области приложений:• Физика высоких энергий (HEP)• Биологические науки (LS)• Науки о Земле (ES)• Грид обсерватория (GO)• Вычислительная химия (CC)• Астрономия и астрофизика

(AA)• Термоядерный синтез (F)

23 “Базовых” ВО: Использование CPU > 10% от всего домена

182 “активных” ВО

4167 пользователей в “Базовых” ВО

13,381 пользователей в зарегистрированных ВО

Области приложений и контакты: https://twiki.cern.ch/twiki/bin/view/EGEE/NA4

Page 26: Введение в ППО gLite

26

Enabling Grids for E-sciencE

Работа в ВО EGEE

Сервисы gLite (управление, данные,

вычисления, безопасность, .)

Средства разработки, программные

комплексы, порталы

Приложения

ИКС & APIs

• Большинство ВО разрабатывают своё ПО “поверх” gLite

• Некоторые области приложений имеют особые требования

• Программа EGEE RESPECT :– Recommended External Software

Packages for Egee CommuniTies– Перечень внешнего ПО, которое

успешно работает с gLite Расширяет функциональность

Грид-инфраструктуры Сокращает дублирование при

разработке Ускоряет “гридификацию” новых

приложений

– http://technical.eu-egee.org/index.php?id=290

Page 27: Введение в ППО gLite

27

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

Page 28: Введение в ППО gLite

Enabling Grids for E-sciencE

www.eu-egee.org

Запуск простейшего задания

Page 29: Введение в ППО gLite

29

Enabling Grids for E-sciencE

Запуск заданий

• Задание (job) – это средство для запуска приложений в Грид• Информация, которая должна быть определена, когда задание

должно быть запущено в Грид– Характеристики задания– Требования задания и условия на вычислительные ресурсы

Включая требования на программное обеспечение

– Требования к данным

• Эта информация определяется при помощи Job Description Language (JDL)

– Основан на CLASSified ADvertisement language (ClassAd) из проекта Condor ClassAd – последовательность атрибутов, разделённых (;)

Page 30: Введение в ППО gLite

30

Enabling Grids for E-sciencE

Workload Management System

• Пользователь управляет заданиями через подсистему управления загрузкой (Workload Management System - WMS);

• Основная задача WMS - планирование и управление распределенными ресурсами в системе Грид;

• Что может пользователь?– Посылать задачи на выполнение;

– Выполнять задачи на наиболее подходящих для этого ресурсах (WMS автоматически оптимизирует использование ресурсов);

– Получать информацию о состоянии задач;

– Получать результаты выполнения задач.

Page 31: Введение в ППО gLite

31

Enabling Grids for E-sciencE

Запуск простого задания - 1

Computing Element

Storage Element

Сайт X в EGEE

User Interface

Сервис управления ВО

(БД пользователей ВО)

создание прокси

Page 32: Введение в ППО gLite

32

Enabling Grids for E-sciencE

Запуск простого задания - 2

Computing Element

Storage Element

Сайт X в EGEE

User Interface

Сервис управления ВО

(БД пользователей ВО)

создание прокси

Information System

запрос

создание JDL, запуск задания (исполняемое) + данные (ограниченный объём)

WorkloadManagement

System

публикует состояние

Page 33: Введение в ППО gLite

33

Enabling Grids for E-sciencE

Запуск простого задания - 3

Computing Element

Storage Element

Сайт X в EGEE

User Interface

Сервис управления ВО

(БД пользователей ВО)

создание прокси

Information System

запрос

создание JDL, запуск задания (исполняемое) + данные (ограниченный объём)

WorkloadManagement

System

публикует состояние

запуск задания

протоколирование

Logging and bookkeeping

процесс

Page 34: Введение в ППО gLite

34

Enabling Grids for E-sciencE

Запуск простого задания - 4

Computing Element

Storage Element

Сайт X в EGEE

User Interface

Сервис управления ВО

(БД пользователей ВО)

создание прокси

Information System

запрос

создание JDL, запуск задания (исполняемое) + данные (ограниченный объём)

WorkloadManagement

System

публикует состояние

запуск задания

Logging and bookkeeping

выходныеданные

получение статуса ивыходные данные

(ограниченный объём)

статус задания

процесс

протоколирование

Page 35: Введение в ППО gLite

35

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 atlasEnter GRID pass phrase: ***********Your identity: /C=RU/O=RDIG/OU=users/OU=pnpi.nw.ru/CN=Sergey OleshkoCreating temporary proxy .................................. DoneContacting lcg-voms.cern.ch:15001 [/DC=ch/DC=cern/OU=computers/CN=lcg-voms.cern.ch] "atlas" DoneCreating proxy .................................... DoneYour 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 выход из Грид

Page 36: Введение в ППО gLite

36

Enabling Grids for E-sciencE

JDL: атрибуты

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) - В случае возникновения ошибки – количество попыток повторного запуска задания (до того, как задание начало выполнятся)

Page 37: Введение в ППО gLite

37

Enabling Grids for E-sciencE

Создание JDL файла

$ 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;

Page 38: Введение в ППО gLite

38

Enabling Grids for E-sciencE

Команды WMS

ВерсияWMS LCG-2 WMS

gLite WMS via NSgLite 3.0

gLite WMS via WMProxy gLite 3.1+

Делегирование прокси

glite-wms-job-delegate-proxy -d delegID

Запуск edg-job-submit [-o joblist]jdlfile

glite-job-submit [-o joblist] jdlfile

glite-wms-job-submit [-d delegID] [-a] [-o joblist]

jdlfile

Статус edg-job-status [-v verbosity] [-i joblist] jobIDs

glite-job-status [-v verbosity] [-i joblist]

jobIDs

glite-wms-job-status [-v verbosity] [-i joblist] jobIDs

Журнал edg-job-get-logging-info [-v verbosity] [-i joblist] jobIDs

glite-job-logging-info [-v verbosity] [-i joblist]

jobIDs

glite-wms-job-logging-info

[-v verbosity] [-i joblist] jobIDs

Выход edg-job-get-output [-dir outdir] [-i joblist] jobIDs

glite-job-output [-dir outdir] [-i joblist] jobI

Ds

glite-wms-job-output [-dir outdir] [-i joblist] jobIDs

Снятие edg-job-cancel [-i joblist] jobID

glite-job-cancel [-i joblist] jobID

glite-wms-job-cancel [-i joblist] jobID

Подходящиересурсы

edg-job-list-match jdlfile

glite-job-list-matchjdlfile

glite-wms-job-list-match [-d delegID] [-a] jdlfile

Рекомендуется

Н

Е

Р

Е

К

О

М

Е

Н

Д

О

В

А

Н

О

Page 39: Введение в ППО gLite

39

Enabling Grids for E-sciencE

Порядок выполнения команд

Computing Element

Storage Element

Сайт X в EGEE

1.glite-wms-job-delegate-proxy -d delegID User Interface

0.voms-proxy-init --voms gilda

Контроль заданий

процесс

delegID3.glite-wms-job-submit -d delegID hostname.jdl JobID

4.glite-wms-job-status JobID

5.glite-wms-job-output JobID

2.glite-wms-job-list-match -d delegID hostname.jdl

Сервис управления ВО

(БД пользователей ВО)

Page 40: Введение в ППО gLite

40

Enabling Grids for E-sciencE

Статусы задания

SUBMITTED - задание послано пользователем и зарегистрировано в LB сервисеWAITING – происходит поиск подходящего ресурсаREADY - заданию назначен Computing Element, но оно туда ещё не переданоSCHEDULED - задание ожидает в очереди на Computing ElementRUNNING - задание выполняетсяDONE - задание завершилосьABORTED - задание снято WMS (т.к. слишком долгое, срок действия сертификата истёк, и т.п.) CANCELLED - задание снято пользователемCLEARED - Output Sandbox передан на User Interface

Page 41: Введение в ППО gLite

41

Enabling Grids for E-sciencE

Практикумы

1. Авторизация и аутентификацияhttp://egee.pnpi.nw.ru/cgi/index.cgi?l1=6&l2=10

Проверка сертификата Создание прокси Проверка прокси

2. Запуск простого задания с использованием WMProxyhttp://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

Page 42: Введение в ППО gLite

42

Enabling Grids for E-sciencE

Веб-страница

Page 43: Введение в ППО gLite

Enabling Grids for E-sciencE

www.eu-egee.org

Более сложные примеры

Page 44: Введение в ППО gLite

44

Enabling Grids for E-sciencE

“Выполняемая программа”

Executable = "/bin/hostname";

• Может быть установлена на CE Системная команда(утилита) Linux (Scientific Linux!) Прикладное ПО для ВО: информация берётся из Информационной

Системы• Использовать JDL для направления задания на подходящий CE

• Или приходит от клиента– Часть InputSandbox

Скрипт • Не нужна компиляция• Может вызывать бинарные файлы, которые статически установлены

на CE Или бинарный файл

• Должен быть скомпилирован на UI совместимость с CE• Собран быть статически собран позволит избежать ошибок,

вызванных различными версиями библиотек

• Или исходники (+ скрипт для компиляции)• Компилируется на СЕ (на рабочем узле)

Page 45: Введение в ППО gLite

45

Enabling Grids for E-sciencE

Запуск собственного скрипта

$ cat testsandbox.jdlType = "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/bashls -l

$ /bin/sh testsandbox.sh

Page 46: Введение в ППО gLite

46

Enabling Grids for E-sciencE

Сборка и запуск на WN

• Есть файл с исходным текстом программы на языке С 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;

Page 47: Введение в ППО gLite

47

Enabling Grids for E-sciencE

Остальные файлы

• Cтартовый скрипт startC.sh:#!/bin/bashmake //сборка программы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);}

• Makefilectst: ctst.o g++ ctst.o -o ctst -lmclean: rm ctst.o ctst

Page 48: Введение в ППО gLite

48

Enabling Grids for E-sciencE

Управление WMS через JDL

Executable = “gridTest”;

StdError = “stderr.log”;

StdOutput = “stdout.log”;

InputSandbox = {“/home/ole/test/gridTest”};

OutputSandbox = {“stderr.log”, “stdout.log”};

Requirements = other.Architecture==“INTEL” && other.GlueCEInfoTotalCPUs > 480;

Rank = other.GlueCEStateTotalJobs;

WMS использует Информационную

Систему для поиска CE

Политика планирования, которой следует WMS:• Найти CE, удовлетворяющие требованиям (Requirements) • Выбрать СЕ с максимальным рангом

Page 49: Введение в ППО gLite

49

Enabling Grids for E-sciencE

Контроль требований

Computing Element

Storage Element

Сайт X в EGEE

User Interface

Сервис управления ВО

(БД пользователей ВО)

создание прокси

Information System

запрос

создание JDL, запуск задания (исполняемое) + данные (ограниченный объём)

WorkloadManagement

System

публикуетсостояние

запуск задания

Logging and bookkeeping

выходныеданные

получение статуса ивыходные данные

(ограниченный объём)

статус задания

процесс

протоколирование

Page 50: Введение в ППО gLite

50

Enabling Grids for E-sciencE

Правила планирования WMS

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 файла)

Page 51: Введение в ППО gLite

51

Enabling Grids for E-sciencE

Некоторые JDL атрибуты

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

Page 52: Введение в ППО gLite

52

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 сек. может потребоваться заданию (ожидание + выполнение)

Page 53: Введение в ППО gLite

53

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

Page 54: Введение в ППО gLite

Enabling Grids for E-sciencE

www.eu-egee.org

Работа с большими файлами данных

Page 55: Введение в ППО gLite

55

Enabling Grids for E-sciencE

Основы управления данными

• Файлы в основном записываются один раз, читаются многократно– Если пользователь изменяет файл, то

Либо он обеспечивает непротиворечивость! Либо сохраняет файл с новым именем файла!

– Нет цели создать глобальную систему управления файлами

• Сервисы для управления файлами– Сохранение файлов– Каталоги– Передача файлов

Page 56: Введение в ППО gLite

56

Enabling Grids for E-sciencE

Управление данными - 1

WMSWMS

StorageStorageElement 1Element 1

ComputingComputingElementElement

Input “sandbox”

Input “sandbox” + Broker Info

Output “sandbox”

Output “sandbox”

““User User interface”interface”

StorageStorageElement 2Element 2

Задание 1 записывает результаты, как 2 реплики одного файла на 2 различных SE

Ограничение ~20MByte

DataSets infoLCG LCG FileCatalogue FileCatalogue (LFC)(LFC)

Page 57: Введение в ППО gLite

57

Enabling Grids for E-sciencE

Управление данными - 2

WMSWMS

StorageStorageElement 1Element 1

ComputingComputingElementElement

Input “sandbox”

Input “sandbox” + Broker Info

Output “sandbox”

Output “sandbox”

““User User interface”interface”

StorageStorageElement 2Element 2

Задание 2 читает файл, как входной с SE

Ограничение ~20MByte

DataSets infoLCG LCG FileCatalogue FileCatalogue (LFC)(LFC)

Считать там, где ближе всего

находятся данные

Page 58: Введение в ППО gLite

58

Enabling Grids for E-sciencE

Логические имена файлов

StorageStorageElement 1Element 1

““User User interface”interface”

LCG LCG FileCatalogue FileCatalogue (LFC)(LFC)

StorageStorageElement 2Element 2

Файл с одинаковым содержимым находится на двух SE

“Myfile.dat”

Myfile.dat

File_on_se1

File_on_se2

Page 59: Введение в ППО gLite

59

Enabling Grids for E-sciencE

Разрешение логических имён

StorageStorageElement 1Element 1

““User User interface”interface”

LCG LCG FileCatalogue FileCatalogue (LFC)(LFC)

StorageStorageElement 2Element 2

“Myfile.dat”

Myfile.dat

“Логическое имя”

File_on_se1 (“SURL”: site URL)

File_on_se2 (“SURL”: site URL)

“GUID” Глобальный уникальный идентификатор

Файл с одинаковым содержимым находится на двух SE

Содержимое файла не может быть изменено

Нет необходимости синхронизировать реплики

Page 60: Введение в ППО gLite

60

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

GUID

Physical File SURL n

Physical File SURL 1

.

. ..

TURL 1

TURL n

.

.LFN

SRM

Page 61: Введение в ППО gLite

61

Enabling Grids for E-sciencE

Каталоги (File and Replica Catalog)

• Главная цель - определить, где размещены файлы в 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 и зарегистрирован в каталоге

Page 62: Введение в ППО gLite

62

Enabling Grids for E-sciencE

Структура LFC

• Все члены данной ВО имеют права чтения/записи в соответствующую директорию

• Если соответствующей директории нет, то это означает, что данный LFC сервер не поддерживает эту ВО

• Команды работы с LFC похожи на соответствующие команды в UNIX (с префиксом lfc-)

• Переменная окружения $LFC_HOST должна содержать имя LFC сервера

Defined by the userLFC Namespace

LFC имеет иерархическую структуру

/grid/<VO_name>/ <you create it>

Page 63: Введение в ППО gLite

63

Enabling Grids for E-sciencE

Директории LFC

Storage Element 3sfn://trigriden01.unime.it/flatfiles/SE00/gilda/generated/2007-06-23/filec79a9e3c-2485-4206-a2a5-235f

Storage Element 2srm://aliserv6.ct.infn.it/dpm/ct.infn.it/home/gilda/generated/2007-06-23/filea21ab3e2-8ff6-4a44-82a7-f2

• LFC директории = виртуальные директории – Каждый файл из директории может быть сохранён на своём SE

lfn:/grid/gilda/tutorial1/run2/

input1input2input3

Storage Element 1sfn://grid005.iucc.ac.il/storage/gilda/generated/2007-06-23/fileb233d43f-5bc6-4ede-a5fe-611d48be2ba5

LCG FileCatalogue LCG FileCatalogue (LFC)(LFC)

Page 64: Введение в ППО gLite

64

Enabling Grids for E-sciencE

Директории LFC

Storage Element 3sfn://trigriden01.unime.it/flatfiles/SE00/gilda/generated/2007-06-23/filec79a9e3c-2485-4206-a2a5-235f

Storage Element 2srm://aliserv6.ct.infn.it/dpm/ct.infn.it/home/gilda/generated/2007-06-23/filea21ab3e2-8ff6-4a44-82a7-f2

• LFC директории = виртуальные директории – Каждый файл из директории может быть сохранён на своём SE

lfn:/grid/gilda/tutorial1/run2/

input1input2input3

Storage Element 1sfn://grid005.iucc.ac.il/storage/gilda/generated/2007-06-23/fileb233d43f-5bc6-4ede-a5fe-611d48be2ba5

LCG FileCatalogue LCG FileCatalogue (LFC)(LFC)

Storage Element 4sfn://grid005.iucc.ac.it/flatfiles/SE00/gilda/generated/2007-06-23/filec79a9e3c-2485-4206-a2a5-235f

Page 65: Введение в ППО gLite

65

Enabling Grids for E-sciencE

Команды для работы с LFC

• Есть 2 набора команд, которые могут использоваться в качестве средств для работы с каталогами и файлами– lfc-... команды для работы с каталогом LFC, который

определяет соответствие между LFN и SURL (Site URL)– lcg-... команды, которые позволяют копировать файлы

с/на SE и создавать реплики файлов. Кроме того, команды lcg-... также обеспечивают взаимодействие между SE и каталогом.

Page 66: Введение в ППО gLite

66

Enabling Grids for E-sciencE

Storage Element

• Обеспечивает– Хранение файлов: системы хранения файлов – дисковые или

ленточные– Транспортный протокол (gsiFTP) ~ FTP сервер, дополненный GSI– Унифицированный интерфейс (SRM)

Запрос на файл

+VOMS proxy

Аутентификация, авторизация

Storage Element

Диск

Лен

та

Лен

та

Лен

та

протокол

протокол

протокол

протоколы сервис ресурсы

Page 67: Введение в ППО gLite

67

Enabling Grids for E-sciencE

Типы SE в gLite

Тип Ресурс Передача

файлов Протокол доступа 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

Page 68: Введение в ППО gLite

68

Enabling Grids for E-sciencE

Практические упражнения

“Основы системы управления данными в gLite”(http://egee.pnpi.nw.ru/cgi/index.cgi?l1=6&l2=15):

• Получение списка файлов и директорий• Создание директории• Сохранение файла на SE• Получение SURL файла• Репликация файла между SE• Создание символической ссылки• Передача файла с SE на UI• Удаление

Page 69: Введение в ППО gLite

69

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

Page 70: Введение в ППО gLite

70

Enabling Grids for E-sciencE

Спасибо за внимание