Распределенный анализ данных ATLAS с использованием

advertisement
Распределенный анализ
данных ATLAS с
использованием программы
pathena(PANDA)
Вступление



Система PANDA предназначена для получения
данных и проведения их распределенного анализа в
эксперименте ATLAS
Обладает высокой надежностью при работе с
большими потоками данных,маштабируемостью
гибкостью к использованию различного оборудования,
минимальной необходимой для поддержки рабочей
силой.
К маю 2008 года обработано около 12 миллиардов
заданий (job), с частотой около 50 тысяч в день.
Построение системы
Основные компоненты








Job Interface – организует ввод заданий в систему
Executor Interface – передающий уровень между ATLAS
prodsys/prodDB
Task Buffer – сохраняет текущее состояние каждого
выполняющегося задания.
Brokerage – организует взаимодействие с необходимыми
входными данными.
Dispatcher – посылает основное задание на выполнение,
если все необходимые условия выполнены.
Data Service – интерфейс к DQ2 Data Management
System
Job Scheduler – посылает управляющие задания на
удаленные сайты.
Logging and Monitoring System – системы помогающая
осуществлять контроль над выполнением задач и
загрузкой сайтов.
Job Flow
Pathena





Работа с задачами осуществляется через python клиент
интерфейс (запросы посылаются с помощью http POST)
Pathena – интерфейс для распределенного анализа данных,
использующий ATHENA software framework.
Pathena использует python интерфейс для передачи задач ATHENe
Работа осуществляется посредством двух шагов
1) Build Step: сборка кода, его сохранение и оправка его на
вычисление
2)Run Step: запуск N Athena задач с определенными
пользователями входными и выходными данными (dataset)
Получение результатов происходит посредством dq2_get
Использование PANDA
>> ssh lxpub_user@lxpub01.jinr.ru
>>source /opt/exp_soft/atlas/software/14.2.0/setup.sh
>>source /afs/.jinr.ru/atlas/atlas_env.sh
>>/usr/heimdal/bin/kinitCERN_AFS_login@CERN.CH
Использование PANDA
>>cd /somewhere/workarea
>>cmt co
PhysicsAnalysis/DistributedAnalysis/PandaTools
>>cd
PhysicsAnalysis/DistributedAnalysis/PandaTools/cmt
>>cmt config
>>source setup.sh
>>make
>>cd /somewhere/workarea/.../somedirectory
>>mkdir run
>>cd run
Использование PANDA
>>get_files AnalysisSkeleton_topOptions.py
>>athena.py -b AnalysisSkeleton_topOptions.py
>>pathena AnalysisSkeleton_topOptions.py –inDS
mc08.106573.PythiabbAtautauMA800TB35.recon.AOD.e347_
s462_r541_tid027128 --outDS
user08.NameSurname.filename.root –site BNL
В результате получим вывод, подобный данному.
extracting run configuration
PYTHIA : 100 200
PYTHIA_INIT : 300 400
...
submit
===================
JobID : 178
Status : 0
> build
PandaID=347362
> run
PandaID=347363-347365
Bookkeeping
>>pathena_util
>>> show()
See status of JobID=3.
>>> status(3)
Select records matching a given criteria.
>>> select('outDS=user08.NameSurname.*')
>>>kill(3)
>>> help()
>>pathena --help
--outDS
--inDS
--split
--site
Состояние выполнение задачи

Для просмотра используется BNL monitor http://panda.atlascomp.org

Типы состояния выполнения задачи:











Defined – задача попадает в PandaDB
Assigned – dispatchDBblock соединяется с сайтом
Waiting – входные файлы еще не подготовлены
Activated – ждет команды от управляющей задачи
Sent – задача отправляется на выполнение
Running – задача в процессе выполнения
Holding - выходные файлы добавлются в DQ2 базу данных
Transferring – выходные данные передаются из T2 в T1
Finished – задача успешно завершена
Failed – задача не была выполнена
Нормальная последовательность выполнения :
defined -> assigned -> activated -> sent -> running -> holding ->
transferring -> finished/failed
Download