Presentation is loading. Please wait.

Presentation is loading. Please wait.

First release of Data Acquisition Backbone Core J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev GSI Darmstadt, Germany Experiment Electronics: Data.

Similar presentations


Presentation on theme: "First release of Data Acquisition Backbone Core J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev GSI Darmstadt, Germany Experiment Electronics: Data."— Presentation transcript:

1 First release of Data Acquisition Backbone Core J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev GSI Darmstadt, Germany Experiment Electronics: Data processing group

2 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 2 FAIR accelerators p-bar target p-linac Super- FRS SIS100 SIS300 HESR CR RESR Unilac SIS 100 NESR HESR Antiproton Prod. Target SIS18 Upgrade CR RESR p-linac SIS 300 Accelerator SuperFRS PANDA Atomic Phys. Plasma Phys. Low Energy Exp. High Energy Exp. NESR Exp. FLAIR Atomic Physics HADES & CBM Experiment FAIR baseline* *FAIR Monthly, April 2009

3 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 3 CBM experiment at FAIR Dipole magnet Ring Imaging Cherenkov Detector Transition Radiation Detectors Resistive Plate Chambers (TOF) Electro- magnetic Calorimeter Silicon Tracking System Projectile Spectator Detector (Calorimeter) Micro Vertex Detector

4 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 4 DAQ architectures Detector FEE buffer Readout buffer Switch Processor farm Storage Self-triggered Front-end all hits shipped to DAQ. Data push architecture High-throughput Event building First event selection done in processor farm. Readout buffer outside radiation area. Many Gbyte storage easily possible. Allows L1 decision times of 10-100 ms Fast links Conventional DAQ L1 trigger HLT FLES CBM DAQ

5 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 5 InfiniBand performance studies + 25% > 500 MBytes/s bidirectional thanks to Klaus Merle and Markus Tacke at the Zentrum für Datenverarbeitung in Uni Mainz

6 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 6 Hardware tests nXYTER, 128-channel self-triggered readout chip with few ns time resolution, DEFNI collaboration CBM Readout controller (ROC), Kirchhoff Institut für Physik, Heidelberg

7 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 7 Future DAQ requirements Flexible – adopt different kinds of soft- and hardware Compact – use only necessary code Scalable – from small detector tests to 100- nodes clusters Performing – low framework overhead Multiprocessing & multithreading

8 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 8 Multithreading Thread1 void MainLoop() { while (IsWorking()) { … writeSomething(); … } Thread2 void MainLoop() { while (IsWorking()) { … doSomething(); … } Thread3 void MainLoop() { while (IsWorking()) { … calcSomething(); … } Thread4 void MainLoop() { while (IsWorking()) { … readSomething(); … } Deadlock! runs

9 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 9 Multithreading in DABC Thread1Thread2Thread3Thread4 Processor Events queues Events Timeouts Commands Processor Events queues Events Timeouts Commands Processor Events queues Events Timeouts Commands Processor Events queues Events Timeouts Commands Processor ev1 ev2 ev3 runs

10 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 10 dabc::Buffer References Memory management dabc::Buffer References dabc::MemoryPool Memory blocks Multiple references on resources (blocks) Copy of reference without copy of data Zero copy transfer: PCI/DMA buffer IB/DMA References dabc::Buffer

11 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 11 User code - modules dabc::Module dabc::PoolHandle dabc::Timer dabc::Port dabc::Parameter dabc::Module provides: I/O ports for communications Pools handles to request memory Timers for timeouts processing Configuration & monitoring parameters

12 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 12 Two kind of modules: sync & async CreatePoolHandle("Pool", 2048, 1); CreateInput("Input", Pool(), 5); CreateOutput("Output0", Pool(), 5); CreateOutput("Output1", Pool(), 5); fCnt = 0; void UserModule::MainLoop() { while (ModuleWorking()) { dabc::Buffer* buf = Recv(Input()); if (fCnt++ % 2 == 0) Send(Output(0), buf); else Send(Output(1), buf); } void UserModule::ProcessIOEvent(dabc::Port*) { while (Input()->CanRecv() && Output(fCnt % 2)->CanSend()) { dabc::Buffer* buf = Input()->Recv(); Output(fCnt++ % 2)->Send(buf); } Explicit loop in ModuleSyncEvent processing in ModuleAsync Constructors mainly the same UserModule Pool Input Output0 Output1 dabc::Module dabc::ModuleSyncdabc::ModuleAsync

13 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 13 Transport & device – dataflow UserModule Pool Input Output0 Output1 File UserModule Pool Input Output0 Output1 UserModule Pool Input Output0 Output1 File DataServer NetworkDevice PCIeDevice node1 node2 Transport Transport: manages buffers queue runs in own thread decouples user code from actual transport functionality Device: represents hardware items manages several transports

14 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 14 Many other features Central dabc::Manager class Configuration with XML files Controlling interface and GUI dabc::Commands Factories (plugins) architecture Application and state machine Event building network (BNET)

15 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 15 DABC release 1.0 Controls core-test net-test bnet-test mbs bnet-mbs ROC Slim (batch) DIM Java GUI ApplicationsPlugins socket IB verbs* bnet mbs bnet-mbs ROC/udp ROC/ABB* Core Plugins: Implementation of device/transports and experiment specific data handling code (programmers) Applications: Mainly setup or testing programs (users) DABCDABC Download via http://dabc.gsi.de ROC: CBM Readout Controller board ABB: Active buffer board (PCIe) IB: InfiniBand MBS: Multi Branch System (GSI DAQ) * external packages needed

16 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 16 DABC in CBM test beam Combiner Sorter raw data calibrated data Input0 Input1 Input2 Output0 Output1 Input0 Output0 Output1 roc::Readout online go4 monitor STS GEM

17 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 17 DABC as access layer to ROC file I/O online monitor ROC/udp plugin ROC/PCIe plugin User access layer DABCDABC Users scripts, GUIs optic PCIe Ethernet

18 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 18 Planned CBM beam tests Readout boards FEEDetectors Combiner boards Commodity PCs CopperOpticInfiniBand

19 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 19 Event building network test Rnd PCIe Rnd Event builders Senders Receivers Readouts Controller Worker1 Worker2 Worker3 Worker4 InfiniBand Libs for all applications Defaults for all workers Explicit config for PCIe board

20 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de 18.03.2010 20 Conclusion DABC is general-purpose DAQ framework Can be used for different purposes – from small detectors tests to multi-nodes application Through its plugin architecture can be easy extended to specific needs Open for improvements and new ideas

21 DABCDABC J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev http://dabc.gsi.de Thanks! 18.03.2010 21


Download ppt "First release of Data Acquisition Backbone Core J. Adamczewski-Musch, H.G. Essel, N. Kurz, S. Linev GSI Darmstadt, Germany Experiment Electronics: Data."

Similar presentations


Ads by Google