130 likes | 289 Vues
The ALICE Data-Acquisition Software Framework DATE V5. F. Carena, W. Carena, S. Chapeland, R. Divià, I. Makhlyueva, J-C. Marin, K. Schossmaier , C. So ó s, P. Vande Vyvre, A. Vascotto for the ALICE collaboration CHEP06 13 – 17 February 2006 T.I.F.R. Mumbai, India. ALICE Experiment.
E N D
The ALICE Data-Acquisition Software Framework DATE V5 F. Carena, W. Carena, S. Chapeland, R. Divià, I. Makhlyueva, J-C. Marin, K. Schossmaier, C. Soós, P. Vande Vyvre, A. Vascotto for the ALICE collaboration CHEP06 13 – 17 February 2006 T.I.F.R. Mumbai, India
ALICE Experiment Computing Center DAQ 10Gb Ethernet Counting rooms DDLs Machine: LHC @ CERN, Point 2 ALICE detectors: 17 Online Systems: ECS, DAQ, TRG, HLT, DCS Readout: ~400 DDLs @ 2125 Mbps Storage rate: max. 1.25 GB/s Events: 2.5 MB (p-p), 87 MB (Pb-Pb) DAQ Software: DATE V5 Cavern CHEP06, 13 - 17 February 2006
DATE V5 Software DATE V5 Packages • ALICE Data Acquisition and Test Environment (DATE): software framework for the ALICE DAQ system • Latest DATE version V5: for the test and commissioning phase (Hall SXL2) • DATE V5.x kits:RPM package (~20 MB), User’s Guide (~470 pages) • Platforms:IA32 family, SLC3 using a 2.4 kernel • Development:~20 packages, mostly in C, using CVS • Auxiliary Software:DIM, SMI, MySQL, Tcl/Tk, libshift, ROOT, VMEbus driver • Testing:reference system, on-line data challenges, test beams CHEP06, 13 - 17 February 2006
FEEs HLT Farm CTP TTC DDLs CTP = Central Trigger Processor TTC = Trigger, Timing, and Control LDCs ~200 Servers FEE = Front-End Electronics HLT = High-Level Trigger SoftwareFrameworkDATE V5 Event-Building Network ~10 DDL = Detector Data Link LDC = Local Data Concentrator GDCs ~50 GDC = Global Data Collector TDS = Transient Data Storage Storage Network PDS = Permanent Data Storage TDS 10Gb Ethernet PDS Architecture CHEP06, 13 - 17 February 2006
LDC Dataflow • readout process:- an “equipment” handles one data source- equipment library for DDL, VMEbus, etc.- merges fragments into sub-events - checks the Common Data Header (CDH) • recorder process:- streamlines sub-events- writes sub-events onto local disks - sends sub-events to GDCs • edmAgent process:- dispatches the sub-event to the GDCs- guided by the Event Distribution Manager (EDM) • htlAgent process:- handles the HLT decision and data- instructs to drop/keep the sub-event fragment fragment fragment 32 bytes: - orbit number- bc number- trigger class - FEE status/error CDH CDH CDH payload payload payload DDLs readout edmAgent LDCs recorder htlAgent 68 bytes:- size- event ID- event type/id - timestamp- LDCGDC sub-event LDC header equ. header fragment 24 bytes:- size- equipment type/id equ. header fragment CHEP06, 13 - 17 February 2006
DDL Interfaces of an LDC • CTP LDC:- CTP readout (L2a information)- Interaction Record (bunch crosssings orbit) • FEE LDC:- LDC dataflow • LDC FEE:- data blocks and commands to the FEE- Front-end Control and Configuration (FeC2) scripts- C API by the rorc library • FEE HLT Farm:- send a copy of the incoming fragments- performed by the DDL hardware • HLT Farm LDC:- trigger decisions- compressed data- results of HLT processing FEEs HLT Farm CTP TTC DDLs LDCs CHEP06, 13 - 17 February 2006
GDC Dataflow sub-event sub-event sub-event LDC header LDC header LDC header • eventBuilder process:- handles incoming sub-events- assembles the full events- guided by event-building rules + LDC headers- tells its load to the EDM • mStreamRecorder process:- get full events via a memory mapped scheme- records with multiple stream- data formats: raw binary, ROOT tree- transmission protocol: standard, RFIO, ROOTd eventBuilder GDCs mStreamRecorder full event 68 bytes:- size- event ID- event type/id - timestamp- GDC GDC header sub-event sub-event sub-event CHEP06, 13 - 17 February 2006
Control runControl, Status display, SMI display Experiment Control System (ECS) LDCs rcServer runControl logicEngine Servers GDCs rcServer • runControl process:- one per data acquisition; several are allowed- interface to get commands from operator or ECS • logic engine process:- hosts finite state machines (SMI)- communicates with the rcServer processes (DIM) • rcServer process:- launched by the xinetd daemon- starts/stops DATE processes- gets commands via DIM- shared memory control region CHEP06, 13 - 17 February 2006
Static Database graphical tools for configuration configuration files >EQTYPES >Rand 1 GENDATA EvMinSize %ld EvMaxSize %ld EqId %hd triggerPattern %hd >Timer 4 TRIGGER EvInterval %ld >GLOBALPARAMS >LDCS >pcald10 + Timer (TimerAsTrigger) 1000 + Rand (1stRand) 10000 10000000 13 4 >pcald12 ... Servers MySQLortext files • Roles: LDC, GDC, EDM, detectors, trigger mask • Trigger: relationship detector and trigger mask • Detectors: composition of detectors/sub-detectors • Memory banks: type, size, name per role • Event building: policies for build, no-build, partial • Readout equipments: type, parameter per LDC CHEP06, 13 - 17 February 2006
Monitoring • statsBrowser + infoLogger:- collect and display statistics of the runs- Web access • infoBrowser + infoLogger:- collect log messages from LDCs, GDCs, servers - display, search, export log messages • AFFAIR:- performance plots of DATE specific values - utilization of system resources- Web access • MOOD:- monitoring data quality- online/offline monitoring- local/remote monitoring- plug-in ROOT modules- based on the DATE monitoring library CHEP06, 13 - 17 February 2006
Performance Example: Setup for integrating detector electronics with the DAQ LDC with 4 DDLs SLC3 + DATE V5.13 ALICE Silicon Pixel Detector Max. event rate: 3500 Hz CHEP06, 13 - 17 February 2006
Conclusions • DATE V5: - covers the whole range of DAQ tasks for ALICE- satisfies the functional + performance requirements- runs on single machine and large-scale setups- is available as kits (RPM package) - user’s guide: ALICE-INT-2005-015- regular training courses- is tested at reference system, data challenges, test beams - is ready for the test and commissioning phase- homepage: http://cern.ch/alice-daq • Future work (DATE V6):- port to 64-bit platforms- port to SLC4 using a 2.6 kernel- electronic logbook- Transient Data Storage Manager (TDSM)- new upcoming requests Thank you! CHEP06, 13 - 17 February 2006