Upload
mihaly
View
16
Download
0
Embed Size (px)
DESCRIPTION
A D ata A cquisition B ackbone C ore library Jörn Adamczewski , Hans G.Essel, Nikolaus Kurz, Sergey Linev GSI, Experiment Electronics: Data Processing group. Motivation and use cases Core design: dataflow, modules, manager object Application plug-in mechanism - PowerPoint PPT Presentation
Citation preview
10.3.08J.Adamczewski, H.G.Essel, N.Kurz, S.Linev
1
DABC
Data Acquisition Backbone Core http://wiki.gsi.de/DABC
Work supported by EU RP6 project JRA1 FutureDAQ RII3-CT-2004-506078
A Data Acquisition Backbone Core libraryJörn Adamczewski, Hans G.Essel, Nikolaus Kurz, Sergey LinevGSI, Experiment Electronics: Data Processing group
Motivation and use cases
Core design: dataflow, modules, manager object
Application plug-in mechanism
Controls and configuration interface
Status and Outlook
10.3.08J.Adamczewski, H.G.Essel, N.Kurz, S.Linev
2
DABC
Data Acquisition Backbone Core http://wiki.gsi.de/DABC
CBM data acquisition plan
data dispatcher
FEEdeliver time stamped
data
CNetcollect data into buffers
Detector Detector Detector
collect
~50000 FEE chips
event dispatcher
switching networkBNetsort time stamped data
~1000 links a 1 GB/sec
HNethigh level selection
to high level computing
and archiving~1 GB/sec Output
processing
PNetprocess events
level 1&2 selection
subfarm subfarm subfarm ~100 subfarms
~100 nodes per subfarm
~10 dispatchers → subfarm
~1000 collectors
~1000 active buffers
TNettime distribution
W.F.J.Müller, 2004
10.3.08J.Adamczewski, H.G.Essel, N.Kurz, S.Linev
4
DABC
Data Acquisition Backbone Core http://wiki.gsi.de/DABC
Use case: DAQ m x n topology
Tri
gg
er
Rea
do
ut
A
DC
A
DC
A
DC
A
DC
Tri
gg
er
Rea
do
ut
A
DC
A
DC
A
DC
A
DC
Tri
gg
er
Rea
do
ut
A
DC
A
DC
A
DC
A
DC
Tri
gg
er
Rea
do
ut
A
DC
A
DC
A
DC
A
DC
Network
Eventbuilder Eventbuilder
Detector Detector Detector Detector
MBS Crates
MultiBranchSystemGSI Standard DAQ(~100 installations)
Triggerbus
DABC DABC DABC DABC
DABC Eventbuilder DABC Eventbuilder
non MBS FE
10.3.08J.Adamczewski, H.G.Essel, N.Kurz, S.Linev
5
DABC
Data Acquisition Backbone Core http://wiki.gsi.de/DABC
Motivation for DABC
Use cases:• Detector tests• FE equipment tests• Data transport tests• Time distribution tests• Switched event building• MBS event builder
Requirements:• build events over fast networks• triggered or self-triggered front-ends• time stamped data streams• data flow control (to front-ends)• connect (nearly) any front-ends• interface for application plug-in code• connect MBS readout or collector nodes• interface for several controls frameworks
=> DABC for CBM DAQ testing and as future „general purpose“ DAQ system
CBM
GSI
10.3.08J.Adamczewski, H.G.Essel, N.Kurz, S.Linev
6
DABC
Data Acquisition Backbone Core http://wiki.gsi.de/DABC
datainput
sortingtaggingfilteranalysis
datainput
sortingtaggingfilteranalysis
IB
PC
PC
GE
analysisarchive
archive
PC
GE: Gigabit EthernetIB: InfiniBand
frontendDataCombinerr
frontendother
frontendReadout scheduler
scheduler
DABC
DABC design: functional overview
DABC data flow
10.3.08J.Adamczewski, H.G.Essel, N.Kurz, S.Linev
7
DABC
Data Acquisition Backbone Core http://wiki.gsi.de/DABC
inputeventbuilder
input
eventbuilder
GE
GE: Gigabit Ethernet
MBS frontend
MBS frontendsender
sender
TCP
DABC structure
Example: Network event building for MBS
Eve
nt g
ener
ato
r
TCP
No common trigger for demo
LynxOS
Linux PCs
x86-7
x86g-4
lxi013
lxi014
lxi015
lxi016
controller
lxg0517GUI
DIM, Java
10.3.08J.Adamczewski, H.G.Essel, N.Kurz, S.Linev
8
DABC
Data Acquisition Backbone Core http://wiki.gsi.de/DABC
Device
Transport
DABC Module
portFormatter
File
Transport
Device
MBS
port
Example: DABC with MBS plugins
DABC Moduleport
Senderport
DABC Module
portReceiverport
DABC Module
portEventBuilderport
port
port
Second node
Second node
Local or over network
10.3.08J.Adamczewski, H.G.Essel, N.Kurz, S.Linev
9
DABC
Data Acquisition Backbone Core http://wiki.gsi.de/DABC
Data flow engine: Software objects and threads
DABC Module
port
port
DABC Module
port
port
process process
Device
Transport
Device
Transport
Network
DABC Manager
locally (by reference)
A module processes data of one or several data streams.Data streams propagate through ports, which are connected by transports and devices
Central data managerMemory pools BufferqueueBufferqueue
separate threads
10.3.08J.Adamczewski, H.G.Essel, N.Kurz, S.Linev
10
DABC
Data Acquisition Backbone Core http://wiki.gsi.de/DABC
Object organisation and Plug-in mechanism
DABC ManagerObject registryControls
interface
SocketDevice
Commands ParametersModulesDevices Plugins
Memory Pools
XDAQ controlsmonitor
xml-configurationset up
Event builder modules
user modules..
Bnet modules
MBSDevice
connect
createBNet-Plugin
configuration
Application Plugins
configuration
usercommands define
10.3.08J.Adamczewski, H.G.Essel, N.Kurz, S.Linev
11
DABC
Data Acquisition Backbone Core http://wiki.gsi.de/DABC
Controls interface: Generic finite state machine
DoConfigureDoEnable DoStart
DoStop
DoHaltDoHalt
DoHaltF X
H C E R
DoError
• State machine is defined by controls interface of DABC core
• ApplicationPlugins implement state transition actions („user code“)
• Nodes in B-net may set up state machine hierarchy:(e.g. 1 master node, n worker nodes)
10.3.08J.Adamczewski, H.G.Essel, N.Kurz, S.Linev
13
DABC
Data Acquisition Backbone Core http://wiki.gsi.de/DABC
Controls with XDAQ runtime environment
XDAQ Executive (process, addressspace)
Web server (SOAP)
SOAP client:Java GUI
Infospace*
XDAQ Application
Modules command queue
DABC Core
DIM server
State machine
Web browser
GRIDCC
* Infospace: remotely accessible parameters
DABC core is not depending on XDAQ environment!
framework for CMS, see http://xdaqwiki.cern.ch
DIM client:Java GUILabView GUIEPICS GUI
following screenshots of first implementation
10.3.08J.Adamczewski, H.G.Essel, N.Kurz, S.Linev
14
DABC
Data Acquisition Backbone Core http://wiki.gsi.de/DABC
Stop DABC
Start MBS
10.3.08J.Adamczewski, H.G.Essel, N.Kurz, S.Linev
15
DABC
Data Acquisition Backbone Core http://wiki.gsi.de/DABC
Full parameter table of DABC and MBSParameters can be set here, if not locked
10.3.08J.Adamczewski, H.G.Essel, N.Kurz, S.Linev
16
DABC
Data Acquisition Backbone Core http://wiki.gsi.de/DABC
Commands of DABC and MBS
Output of DABC and MBS
10.3.08J.Adamczewski, H.G.Essel, N.Kurz, S.Linev
17
DABC
Data Acquisition Backbone Core http://wiki.gsi.de/DABC
Summary and Outlook
Achieved
• Core infrastructure
• Data flow engine
• XDAQ runtime environment
• Generic Java GUI
• PCI(e) support
• MBS event building
• Programming Interface definitions
Todo
• Controls, GUI c't
• Data formats
• Combiner / time sort
• Programming Interface implementation c't
• Configuration DB
• Packaging and deployment
• Documentation
DABC is a new „general purpose“ DAQ system
Network performance tests: see next talk (S.Linev)