Запуск задачи

реклама
NA3 Induction Courses for CMS users,
September 6, 2005
www.eu-egee.org
Introduction to LCG-2
Введение в LCG-2
O.Kodolova (SINP MSU), E.Tikhonenko (JINR )
EGEE is a project funded by the European Union under contract IST-2003-508833
Talk Outline
The preliminaries on the LCG-2
and the sequence of actions
how to start a work in the LCG-2 environment
Проект LCG и среда LCG-2
• Проект LCG – the LHC Computing Grid Project
(http://lcg.web.cern.ch/LCG/ ) – был организован для создания
компьютерной инфраструктуры, необходимой для моделирования,
обработки и анализа данных cтроящихся на LHC экспериментов.
• Cреда LCG-2 – инфраструктура, промежуточное математическое
обеспечение (middleware) которой может рассматриваться как
логическое продолжение и развитие достижений таких grid –
проектов, как Сondor, Globus, DataGrid, DataTag, GriPhyn, iVDGL и
EGEE (Enabling Grids for E-sciencE).
Под middleware понимается совокупность Grid-сервисов,
независимых от ресурсов и приложений и обеспечивающих
аутентификацию, авторизацию, размещение и распределение
ресурсов, получение результатов выполнения задач, статистику
и служебную информацию, удаленный доступ к данным,
стратегию и способы обнаружения неисправностей.
Что такое UI, CE, WN, SE?
• UI (User Interface) – cервис, обеспечивающий доступ к
ресурсам Grid; c UI-компьютера пользователь может запускать
или прерывать свои задачи, получать информацию о статусе
выполняемых задач, находить ресурсы, необходимые для
исполнения конкретной задачи, получать учетную информацию о
своей задаче: а также копировать, реплицировать или уничтожать
файлы в инфрастуктуре Grid.
• CE (Computing Element) – очередь в системе пакетной
обработки инфраструктуры Grid
• WN (Working Node) – вычислительный узел фермы в
инфраструктуре Grid
• SE (Storage Element) –cервис, обеспечивающий
унифицированный доступ к ресурсам памяти
инфраструктуры Grid (ресурсами памяти при этом могут
быть как простые дисковые серверы, так и дисковые
массивы или системы массовой памяти (MSS)).
J
Система управления загрузкой
(WMS) в LCG-2
• Запуск задачи пользователя осуществляется через
систему управления загрузкой (WMS, Workload
Management System)
• Задачей WMS является планирование и управление
ресурсами в распределенной среде Grid.
• При этом пользователю предоставляются следующие
возможности :
- запускать и исполнять свои задачи
- получать информацию о статусе состояния своей задачи
- получать результат выполнения задачи
• Назначение WMS - как оптимизировать использование
ресурсов, так и способствовать скорейшему
выполнению задачи пользователя
Составляющие части WMS
•
В настоящее время WMS состоит из следующих частей:
1. User Interface (UI) : сервис, обеспечивающий для пользователя
доступ к WMS
2. Resource Broker (RB) : сервис поиска “наилучших” ресурсов в
среде GRID для запуска конкретной задачи
3. Job Submission Service (JSS) : сервис, обеспечивающий
надежность запуска задачи
4. Information Index (BDII) : сервер , который собирает
информацию о ресурсах Grid; эта информация используется
Resource Broker’ом для классификации и выбора ресурсов
5. Сервисы Logging и Bookkeeping (LB) : хранят информацию
о задаче пользователя
Подготовка задачи
• Пользователь должен продумать
 Достаточно полное описание задачи, т.е.
• Собственно программу
• Необходимые для расчетов данные
• Требования к ОС и специализированному м/о
 Осознавать, что
•
•
•
•
программа “уйдет” в некоторое “неведомое” пространство
и при этом программа должна быть портабельной
и не иметь в себе ссылок на локальное окружение
и не обязательно программа должна располагаться в
$HOME!
 Описать входные данные (если имеются)
 Дать указания касательно выходных данных
Job Description Language (JDL)
Язык описания задачи
• JDL – расширяемый язык, предназначенный для
описания задач пользователя с помощью задания
значений для “атрибутов” и появившияся еще при
создании системы распределенных вычислений
CONDOR
• Пользователь для запуска свой задачи в
инфраструктуре grid должен сформировать файл
(job_definition.jdl)
• Некоторые из атрибутов описываются пользователем, а
некотрые атрибуты автоматически формируются UI до
запуска задания в инфрастуктуру grid
J
Атрибуты описания задачи
• Executable (обязательный)
 имя исполняемой команды (программы)
• Arguments (необязательный)
 аргументы, которые необходимы для исполнения команды, указанной в
Executable
• StdInput, StdOutput, StdErr (необязательный)
 стандартные ввод/вывод/ошибки задачи
• Environment (необязательный)
 список установок среды
• InputSandbox (необязательный)
 список файлов на локальном диске на UI, необходимых для
выполнения задачи
 перечисленные файлы помещаются на удаленный CE
• OutputSandbox (необязательный)
 Список файлов, которые будут сформированы в результате
выполнения задания и которые необходимо получить пользователю
после выполнения задачи
J
Атрибуты ресурсов
Resource Attributes
• Requirements
 Требования задачи на вычислительные
ресурсы
 Если не определяются пользователем, то
используется значение, заданное в
конфигурации UI
J
Атрибуты описания данных
“Data” Attributes
• InputData (необязательный)
 относится к данным, используемым как входные к задаче: эти данные
публикуются в Replica Catalog и запоминаются в SEs)
 PFNs и/или LFNs
• DataAccessProtocol (обязательный, если определен атрибут
InputData)
 Протокол или список протоколов, требумых для доступа к InputData
на данном SE
• OutputSE (необязательный)
 имя SE-хоста
 RB использует его для выбора CE, совместимого в требованиями
задачи и наидолее близко расположенного к SE
• OutputData (необязательный)
 Выходные данные, которые должны быть сформированы в конце
выполнения задачи
J
Как написать описание задачи
(Job Description)
• Пример простейшего описания задачи (myjob1.jdl)
Executable
= "/bin/echo";
OutputSandbox = {"stdout", "stderror"};
stdoutput
= "stdout";
stderror
= "stderror";
Arguments = "Hi!";
VirtualOrganisation = "cms";
• Мы определили
 программу для запуска и ее аргументы
 файлы, куда будет записан стандартный вывод
 как поступить с выходными файлами
Пример запуска задачи
• Выполняем команду grid-proxy-init
 вводим в процессе выполнения данной команды свой пароль на
гридовски й сертификат
 получаем в результате Globus proxy – временный сертификат, дающий
право доступа к сервисам и ресурсам Grid
• Выполняем команду:
edg-job-submit
myjob1.jdl
и получаем в результате уникальный идентификатор задачи (Job
Identifier), JobId
• По выполнению команды: edg-job-status JobId
получаем статусную информацию о ходе выполнения задачи
• После завершения выполнения задачи можно выполнить команду
edg-job-get-output JobId
в результате чего получаем имя временнго каталога на машине UI, где
находятся результаты выполнения задачи.
Запуск задачи (1)
1) Получение proxy-сертификата:
grid-proxy-init
Your identity: /C=RU/O=DataGrid/OU=jinr.ru/CN=Tikhonenko Elena
Enter GRID pass phrase for this identity:
Creating proxy ................................................... Done
Your proxy is valid until: Fri Sep 2 04:40:02 2005
2) Запуск задачи:
edg-job-submit myjob1.jdl
Selected Virtual Organisation name (from JDL): cms
Connecting to host gdrb03.cern.ch, port 7772
Logging to host gdrb03.cern.ch, port 9002
*********************************************************************************************
JOB SUBMIT OUTCOME
The job has been successfully submitted to the Network Server.
Use edg-job-status command to check job current status. Your job identifier (edg_jobId) is: https://gdrb03.cern.ch:9000/OADAXp3Vxet02vlqO29Xpg
*********************************************************************************************
JobId
Запуск задачи (2)
J
3) Если не указываем имя своей виртуальной в файле запуска (myjob1.jdl), то
получаем диагностику вида:
**** Error: UI_NO_VOMS ****
Unable to determine a valid user's VO
Имя своей виртуальной организации можно указывать не в jdl-файле,
а непосредственно в команде edg-job-submit:
edg-job-submit --vo CMS myjob1.jdl
4) Запуск задачи с опцией --nomsg :
edg-job-submit --nomsg myjob1.jdl
https://gdrb03.cern.ch:9000/26kIm7cU1F9eY0VVhfkItg
Получаем только сообщение о JobId
Получение информации о
статусе задачи (1)
Результатом выполнения команды
edg-job-status https://gdrb03.cern.ch:9000/26kIm7cU1F9eY0VVhfkItg
будет:
*************************************************************
BOOKKEEPING INFORMATION:
Status info for the Job : https://gdrb03.cern.ch:9000/26kIm7cU1F9eY0VVhfkItg
Current Status: Scheduled
Status Reason:
Job successfully submitted to Globus
Destination:
ce.ulakbim.gov.tr:2119/jobmanager-lcgpbs-cms
reached on:
Thu Sep 1 15:07:00 2005
*************************************************************
Когда задача находится в процессе выполнения, в ответ на
edg-job-status https://gdrb03.cern.ch:9000/26kIm7cU1F9eY0VVhfkItg
получаем:
*************************************************************
BOOKKEEPING INFORMATION:
Status info for the Job : https://gdrb03.cern.ch:9000/26kIm7cU1F9eY0VVhfkItg
Current Status: Running
Status Reason:
Job successfully submitted to Globus
Destination:
ce.ulakbim.gov.tr:2119/jobmanager-lcgpbs-cms
reached on:
Thu Sep 1 15:10:19 2005
*************************************************************
J
Получение информации о
статусе задачи (2)
После успешного завершения задания в ответ на
edg-job-status https://gdrb03.cern.ch:9000/26kIm7cU1F9eY0VVhfkItg
получим:
*************************************************************
BOOKKEEPING INFORMATION:
Status info for the Job : https://gdrb03.cern.ch:9000/26kIm7cU1F9eY0VVhfkItg
Current Status: Done (Success)
Exit code:
0
Status Reason:
Job terminated successfully
Destination:
ce.ulakbim.gov.tr:2119/jobmanager-lcgpbs-cms
reached on:
Thu Sep 1 15:11:36 2005
*************************************************************
Теперь мы можем ознакомиться с результатами
J
Получение результатов (1)
на выполнение команды
edg-job-get-output https://gdrb03.cern.ch:9000/26kIm7cU1F9eY0VVhfkItg
получаем на экране следующую информацию:
Retrieving files from host: gdrb03.cern.ch ( for
https://gdrb03.cern.ch:9000/26kIm7cU1F9eY0VVhfkItg )
*********************************************************************************
JOB GET OUTPUT OUTCOME
Output sandbox files for the job:
https://gdrb03.cern.ch:9000/26kIm7cU1F9eY0VVhfkItg
have been successfully retrieved and stored in the directory:
/tmp/etikhone_26kIm7cU1F9eY0VVhfkItg
*********************************************************************************
Получение результатов (2)
Отправляемся в указанный каталог ( /tmp/etikhone_26kIm7cU1F9eY0VVhfkItg )
сd tmp/etikhone_26kIm7cU1F9eY0VVhfkItg
ls –lag
total 484
drwxr-xr-x 2 zh
4096 Sep 1 17:13 ./
drwxrwxrwt 6262 root
483328 Sep 1 17:15 ../
-rw-r--r-- 1 zh
0 Sep 1 17:13 stderror
-rw-r--r-- 1 zh
4 Sep 1 17:13 stdout
Обнаруживаем там 2 файла: stderror (пустой, т.е. ошибок при
выполнении задачи не было) и sdtout, содержащий собственно
результат выполнения нашей задачи (в данном случае текст “ Hi! ”)
Некоторые полезные команды UI
• edg-job-list-match
Получение списка ресурсов, соответствующих описанию задачи
(запуск задачи при этом не требуется)
• edg-job-cancel
прекращение выполнения задачи
• edg-job-get-logging-info
получение информации о прохождении задачи
полезно при отладке программы
• grid-proxy-destroy
закрытие временного сертификата (как выход из сеанса работы в
инфрастурктуре grid)
J
UI в ОИЯИ и в CERN
•
В ОИЯИ UI - cервис доступен с lxpub03.jinr.ru
•
В CERN при вхождении на lxplus.cern.ch следует выполнить скрипт grid_env.csh
командой
source /afs/cern.ch/project/gd/LCG-share/sl3/etc/profile.d/grid_env.csh
или
source /afs/cern.ch/cms/LCG/LCG-2/UI/cms_ui_env.csh
в результате чего установятся переменные окружения, необходимые для доступа к
сервису UI.
Примечание: при получении proxy-сертификата командой grid-proxy-init без параметров, proxy-сертификат
обычно выдается на 12 часов. Можно указывать временной интервал, на который необходимо получение
proxy-сертификата. Для этого следует использовать опцию –valid HH:MM, например:
grid-proxy-init -valid 150:00
Your identity: /C=RU/O=DataGrid/OU=jinr.ru/CN=Tikhonenko Elena
Enter GRID pass phrase for this identity:
Creating proxy ..............................................
DoneYour proxy is valid until: Fri Sep 9 17:14:03 2005
date
Sat Sep 3 11:14:08 CEST 2005
J
Рекомендуемые документы
• The LCG-2 User Guide
https://edms.cern.ch/file/454439/1/LCG-2-UserGuide.pdf
https://edms.cern.ch/file/454439/1/LCG-2-UserGuide.html
• LCG-2 User Scenario
https://edms.cern.ch/document/498081/1.0
• ClassAd language
https://www.cs.wisc.edu/condor/classad
• LCG-2 Frequently Asked Questions
https://edms.cern.ch/document/495216/
J
Скачать