Использование архитектуры Scalla/Xrootd для хранения и

advertisement
LOGO
Использование архитектуры SCALLA/XRootD для
хранения и обработки данных с детектора MPD/NICA
Герценбергер К.В.
ЛФВЭ им. В.И. Векслера и А.М. Балдина, ОИЯИ, Дубна, Россия
Содержание
1.
Многоцелевой детектор MPD/NICA
2.
Программная среда MPDRoot
3.
Использование хранилища XRootD
4.
Направление развития системы
6 февраля 2012 г.
Герценбергер К.В.
2
Эксперимент NICA
6 февраля 2012 г.
Герценбергер К.В.
3
Многоцелевой детектор MPD
6 февраля 2012 г.
Герценбергер К.В.
4
Программная среда MPDRoot
 Разрабатывается
для
моделировании
и
реконструкции событий столкновения тяжелых
ионов,
регистрируемых
многоцелевым
детектором MPD в эксперименте NICA
 Использует программное обеспечение ROOT и
FairRoot (FairBase + набор пакетов FairSoft)
 Моделирование
столкновения
частиц
многоцелевом детекторе MPD
 Реконструкция данных событий в MPD
 Физический анализ полученных данных
6 февраля 2012 г.
Герценбергер К.В.
в
5
Последовательность этапов MPDRoot
Генератор
Моделирование
urqmd
~0,5 МБ – событие
evetest.root
~50 МБ – событие
Реконструкция
Результат
Физический анализ
mpddst.root
~1 МБ – событие
6 февраля 2012 г.
Герценбергер К.В.
6
Предпосылки использования хранилища данных
 Высокая скорость набора событий (до 6 КГц)
 В центральном столкновении Au-Au при энергиях NICA
образуется до 1000 заряженных частиц
 evetest.root – данные с детекторов MPD:
100k событий ~ 5 Тбайт
1 000k событий ~ 50 ТБайт
 Унифицированный интерфейс для параллельной
обработки событий
 Программные комплексы хранилищ данных:
• DCache
• XRootD
• Lustre и др.
6 февраля 2012 г.
Герценбергер К.В.
7
Преимущества XRootD для MPDRoot
Изначально разрабатывался для программной
среды ROOT, поддержка файлов ROOT
Класс TXNetFile для xrootd доступа в ROOT
Параллельная обработка при помощи PROOF
использует XRootD
Используется крупными проектами: Alice (AliEn),
Atlas, CMS…
6 февраля 2012 г.
Герценбергер К.В.
8
Архитектура SCALLA
SCALLA
scalable cluster architecture
for low latency access
XRootD server
CMSD server
сервер для быстрого
удаленного доступа к
файлам данных как
среды ROOT, так и
других типов.
6 февраля 2012 г.
сервер для
объединения XRootD
серверов хранения
данных в кластер
данных,
балансирование
нагрузки, мониторинг
системы.
Герценбергер К.В.
9
Схема работы кластера данных XrootD
Клиент
4: файл
на машине А
1: open(“/my/file”)
xrootd cmsd
Менеджер
(Manager, Redirector)
2: У кого файл “/my/file”?
xrootd cmsd
A /my/file
xrootd cmsd
B
xrootd cmsd
C /my/file
Сервера данных
(Data Servers)
кластер XRootD
 издержки при масштабировании растут линейно
 размер хранилища данных не ограничен
 при кластеризации сервер xrootd используется совместно с cmsd
(cluster management service daemon)
6 февраля 2012 г.
Герценбергер К.В.
10
Интеграция MPDRoot с кластером данных
MPDRoot with XRootD support
Кластер
данных
Установка
Настройка
(xrootd.cf)
Запуск
Запуск
макросов
добавление
поддержки в классы
FairBase (TXNetFile)
Text
добавление
поддержки в классы
MPDRoot Text
(TXNetFile)
Моделирование
Реконструкция
Физический
анализ
XRootD
6 февраля 2012 г.
Герценбергер К.В.
11
Схема интеграции кластера XRootD с MPDRoot
xrootd.cf
шлюз
xrootd cmsd
(Gate)
Клиент
менеджер
(Manager, Redirector)
MPDRoot
with
XRootD support
xrootd
xrootd.cf
xrootd.cf
xrootd cmsd
xrootd cmsd
xrootd.cf
xrootd cmsd
cache
A /my/evetest.root
B /my/urqmd_
C /my/mpddst.root
сервера данных
(Data Servers)
кластер XRootD
6 февраля 2012 г.
Герценбергер К.В.
12
Конфигурационный файл xrootd.cf для MPDRoot
set managerName = “se63-40.jinr.ru”
# Specify the data server port number
if $(managerName)
xrd.port 1094
else
xrd.port any
fi
# Using a cmsd requires the enhanced file system.
xrootd.fslib /home/xrootd/xrootd/lib64/libXrdOfs.so
Запуск на узлах кластера:
# Specify which paths are to be exported (default is r/w)
all.export /data r/w
xrootd –c xrootd,cf
if $(managerName)
all.role manager
else
all.role server
fi
cmsd –c xrootd.cf
all.manager $(managerName):1213
all.adminpath /home/xrootd/
oss.localroot /home/xrootd/
# Indicate which hosts are allowed to connect to the cmsd (even if localhost)
cms.allow se*.jinr.ru
6 февраля 2012 г.
Герценбергер К.В.
13
Пример использования в макросе реконструкции
void reco(TString inFile = “root://se63-40.jinr.ru//data/evetest.root")
{
// Parameter file
TString parFile = inFile;
FairTask* trackMS = new TpcLheHitsMaker("Hit producer");
fRun->AddTask(trackMS);
FairTask* vertZ = new MpdVertexZfinder();
fRun->AddTask(vertZ);
// Output file
FairTask* recoKF = new MpdTpcKalmanFilter("Kalman filter");
fRun->AddTask(recoKF);
TString outFile = "root://se63-40.jinr.ru//data/mpddst.root“;
gROOT->LoadMacro("$VMCWORKDIR/macro/mpd/mpdloadlibs.C");
mpdloadlibs(kTRUE);
// load full set of main libraries
FairTask* findVtx = new MpdKfPrimaryVertexFinder("Vertex finder");
fRun->AddTask(findVtx);
gROOT->LoadMacro("$VMCWORKDIR/macro/mpd/geometry_v1.C");
geometry_v1(0x0, kFALSE);
MpdTofHitProducer* tofHit = new MpdTofHitProducer("Hit producer");
fRun->AddTask(tofHit);
// ----- Digitization run ------------------------------------------FairRunAna *fRun= new FairRunAna();
fRun->SetInputFile(inFile);
fRun->SetOutputFile(outFile);
// ------------------------------------------------------------------------
MpdTofMatching* tofMatch = new MpdTofMatching("TOF matching");
fRun->AddTask(tofMatch);
MpdFillDstTask* fillDST = new MpdFillDstTask("MpdDst task");
fRun->AddTask(fillDST);
// ----- Parameter database -------------------------------------------FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
FairParRootFileIo* parInput1 = new FairParRootFileIo();
parInput1->open(parFile.Data());
rtdb->setFirstInput(parInput1);
// Number of events to process
Int_t nEvents = 1; // 100; //50; //250; //90;
// ----- Intialise and run -------------------------------------------fRun->Init();
cout << "Field: " << fRun->GetField()->GetBz(0.,0.,0.) << endl;
fRun->Run(0, nEvents);
MpdKalmanFilter *kalman = MpdKalmanFilter::Instance("KF");
fRun->AddTask(kalman);
}
6 февраля 2012 г.
Герценбергер К.В.
14
Планы дальнейшего развития
XRootD
Использование
XRootD
кластера как
хранилища
данных событий
(хранение и
получение
данных для
MPDRoot)
6 февраля 2012 г.
PROOF
Использование
XRootD
кластера для
хранения и
получения
данных, а также
параллельной
обработки
событий в
MPDRoot
Герценбергер К.В.
AliEn
Установка и
использование
программной
среды AliEn на
XRootD
кластере для
интеграции
полученной
архитектуры с
GRID
15
Заключение
 Была проведена установка и настройка XRootD
кластера как хранилища данных для программной
среды MPDRoot.
 В классы MPDRoot добавлена поддержка работы с
кластером данных на XRootD.
 Для макросов моделирования и реконструкции
MPDRoot протестирована работа с кластером XRootD.
 В течении нескольких недель в FairBase, а,
следовательно, и в MPDRoot появится поддержка
PROOF!
 В ближайшем будущем XRootD кластер получит
поддержку параллельной обработки событий MPDRoot
при помощи PROOF и среды AliEn.
6 февраля 2012 г.
Герценбергер К.В.
16
LOGO
и поддержку гранту для молодых ученых и специалистов ОИЯИ 2011
года, в рамках которого выполнена работа
Download