work supported by eu rp6 project jra1 futuredaq rii3-ct-2004-506078

Post on 05-Jan-2016

16 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

TRANSCRIPT

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)

top related