160 likes | 324 Views
D ata A cquisition B ackbone C ore library Jörn Adamczewski-Musch, Hans G.Essel , Nikolaus Kurz, Sergey Linev GSI, Experiment Electronics: Data Processing group Performance Design Release v1.0 Use cases. Work supported by EU RP6 project JRA1 FutureDAQ RII3-CT-2004-506078. .
E N D
Data Acquisition Backbone Core library Jörn Adamczewski-Musch, Hans G.Essel, Nikolaus Kurz, Sergey LinevGSI, Experiment Electronics: Data Processing group Performance Design Release v1.0 Use cases Work supported by EU RP6 project JRA1 FutureDAQ RII3-CT-2004-506078 J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev
Performance Software developments at GSI (EE) • Self-triggered front-end components • Event building over fast networks • 1 GByte/s bi-directional @ ~1000 nodes • Software packages developed: • 2005 Simulation with SystemC (flow control, scheduling) • Meta data on data network • 2006 Real dataflow core (round robin, with/without sychronization) • Linux, InfiniBand, GB Ethernet • Simulates data sources J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev
Performance Software developments at GSI (EE) • Self-triggered front-end components • Event building over fast networks • 1 GByte/s bi-directional @ ~1000 nodes • Software packages developed: • 2005 Simulation with SystemC (flow control, scheduling) • Meta data on data network • 2006 Real dataflow core (round robin, with/without sychronization) • Linux, InfiniBand, GB Ethernet • Simulates data sources • > 500 Mbyte/s per node bi-directional @ 110 nodes J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev
Design Software developments at GSI (EE) • Self-triggered front-end components • Event building over fast networks • 1 GByte/s bi-directional @ ~1000 nodes • Software packages developed: • 2005 Simulation with SystemC (flow control, scheduling) • Meta data on data network • 2006 Real dataflow core (round robin, with/without sychronization) • Linux, InfiniBand, GB Ethernet • Simulates data sources • 2007/8 Data Acquisition Backbone Core DABC(includes dataflow core) • Real data sources (arbitrary) • Applications implemented by plug-ins • Configuration, Controls, Monitoring, GUI ... • General purpose DAQ framework J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev
DABC design: global overview DABC Frontend datainput sorting tagging filter analysis PCIe Linux PCs Frontend sender GE Frontend Frontend IB Linux PCs UDP Linux PCs TCP analysis archive sender sorting tagging filter analysis datainput archive GE: Gigabit Ethernet IB: InfiniBand J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev
DABC design: software objects of data flow engine A module processes data of one or several data streams. Data streams propagate through ports, which are connected bytransportsand devices Object manager DABC Module DABC Module Threads port port process process port port Central data managerMemory pools Bufferqueue Bufferqueue locally (by reference) Transport Transport Device Device Network J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev
DABC design: single versus multiple threads CallBacks MainLoop Event queue Module::MainLoop Threads Module CallBacks Synchronization, buffer queues Module::MainLoop Module CallBacks Synchronization, buffer queues Module CallBacks Module::MainLoop J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev
DABC design: smart buffers dabc::Buffer Reference list dabc::Memory Memory blocks dabc::Buffer Reference list Multiple references of resources (blocks) Copy buffer without copy of data PCI/DMA → buffer → IB/DMA J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev
Release Control components and Plug-ins • Finite state machine • Application states • Controlled by manager (state transitions) -> application methods • Parameters • Structures (predefined) • Initialized by setup files • Exported to monitoring (update) • Maybe changed by commands (GUI) • Commands • Managed by manager • Execution from control system (GUI) or via Execute method • Can be dispatched to module or device threads • Manager (singleton, working thread) • Object manager • Implements control system (commands, parameters) • Default state machine • DIM server • Application (singleton)Setting up the overall topology of a DAQ process J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev
Use cases DABC release v1.0.01 Download via dabc.gsi.de DABC Controls Java GUI* Core Plugins Applications [ EPICS** ] Slim (batch) DIM* bnet-mbs mbs ROC* ABB* ROOT IB verbs bnet-mbs mbs ROC ABB bnet-test core-test net-test Controls: No more XDAQ Plugins: Implementation of applications (programmers) Applications: Mainly setup or testing programs (users) * external packages needed ** future? ROC: ReadOutController board (UDP) ABB: ActiveBufferBoard (PCIe) IB: InfiniBand mbs: MultiBranchSystem (GSI DAQ) J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev
ROC: Three ROCs to raw file and stream server Testbeam for nXYTER readout chain Poster 302, Thursday: Integration of CBM readout controller into DABC framework Analysis ROC cbmtest01 localhost/Readout Stream server UDP Device Combiner Input0 ServerOutput Transport Transport Device Input1 Device FileOutput Transport Transport ROC 1 Input2 Device Device Transport File ROC cbmtest04 J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev
ROC: Three ROCs to raw file and stream server • Class Readout implements CreateAppModules • Application parameters known to all modules ROC cbmtest01 localhost/Readout Stream server UDP Device Combiner Input0 ServerOutput Transport Transport Device Input1 Device FileOutput Transport Transport ROC 1 Input2 Device Device Transport File ROC cbmtest04 J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev
ROC: Three ROCs to raw file and stream server On-line analysis with Go4 ROC cbmtest01 localhost/Readout Stream server UDP Device Combiner Input0 ServerOutput Transport Transport Device Input1 Device FileOutput Transport Transport ROC 1 Input2 Device Device Transport File ROC cbmtest04 J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev
PCIexpress board and Bnet PCIe Sender Receiver Eventbuilder Generators B n e t 4 x 4 J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev
PCIexpress board and Bnet PCIe Sender Receiver PCI board Eventbuilder Generators Three data generators B n e t 4 x 4 For all contexts For all workers J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev
FOPI experiment on-line Thank You! J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev