daq_control_MCaprini

Download Report

Transcript daq_control_MCaprini

DAQ Control and Monitoring A Software Component Model
M. Caprini
IFIN-HH Bucharest
DAQ system


Main tasks of the DAQ sysytem
•
Data flow (moving data from detector to storage)
•
Selection (discard non-interesting events)
•
Control, configuration and monitoring
Control, configuration, monitoring
•
DAQ needs a large number of parameters to describe its system topology,
hardware and software components and running modes. A configuration
databases could help to describe the DAQ and detector facilities.
•
An important control task is to marshal the DAQ through its start-up and
shutdown procedures so that they are performed in an orderly manner
(these procedures should take the minimum amount of time to execute)
•
During data taking, it is important to access and analyze the monitoring
information (statistics data, sampled data fragments, histograms) and the
errors and diagnostic messages sent by different applications
•
User interfaces shall be provided to give a view of the status and
performance of the DAQ system and allow the user to configure and control
its operation
PANDA DAQT/FEE Workshop, April 2012
2
Experiment Control System

LHC experiments control system experience
•
DAQ DCS interaction
ALICE
CMS
PANDA DAQT/FEE Workshop, April 2012
ATLAS
LHCb
3
A software component model



User requirements divided into groups related to activities
providing similar functionality
Groups further developed into components with well defined
purposes and boundaries
The components have interfaces with other components and
external systems, specific functionality and their own
architecture.

Several domains recur across all the components (data storage,
inter-process communication, graphical user interfaces, ...)

The component list should result after requirements gathering
What follows is just a possible example, based mainly on
ATLAS Online Software experience.
ALICE DATE, a similar component set


PANDA DAQT/FEE Workshop, April 2012
4
Control & monitoring components


Core components
•
Essential functionality
•
Priority in terms of time-scale for development in order to have a baseline sub-system
that can be used for integration with the data-flow / selection
•
Run Control
•
Configuration Database
•
Information sharing
•
Message reporting
•
Process management
•
Graphical user interface
DAQ/detector integration components
•
Integration with other online sub-systems and sub-detectors (test beams,
commissioning, ...)
•
Event monitoring
•
Resource management (partitioning)
•
DAQ – DCS interface
•
Online bookkeeping
•
Test manager
PANDA DAQT/FEE Workshop, April 2012
5
Run Control


Functionality
•
The Run Control component controls the data taking activities by
coordinating the operations of the other components, DAQ sub-systems,
external systems (FSM, hierarchical control, ...)
•
Software interfaces with the DAQ sub-systems and other software
components (to exchange commands, status and information)
•
Advanced capabilities - partitioning, error recovery (expert system), ...
Implementation
•
ATLAS – CORBA communication
•
CMS – Java, Web technologies (Web Services, SOAP, ...)
•

Web browser as user interface
•
LHCb – based on JCOP Framework (SCADA System PVSSII & SMI++)
•
ALICE – DATE Run Control
Auxiliary tools
•
Expert system
•
ATLAS – Shifter Assistant
•
LHCb - BigBrother
PANDA DAQT/FEE Workshop, April 2012
6
Configuration Database



Functionality
•
Used to describe a large number of parameters of the DAQ system
architecture, hardware and software components, running modes and
status
•
One of the major design issues is to be as flexible as possible,
parameterized by the contents of the configuration databases
Implementation
•
CMS – Oracle
•
ATLAS – OKS (Object Kernel support – in-house developed database)
•
ALICE – MySQL
Auxiliary tools
•
Configuration database editor
PANDA DAQT/FEE Workshop, April 2012
7
Information Sharing


Functionality
•
Provides an information exchange facility for software components
•
Information from many sources can be categorized and made available to
requesting applications asynchronously or on demand.
Implementation
•
•

LHCb, ALICE – DIM (Distributed Information Management)
•
First version developed for Delphi
•
Used also by JCOP Framework
ATLAS – IS (Information Service)
•
Tens of servers, thousands of information objects (including histograms)
•
Based on CORBA
Auxiliary tools
•
Web interfaces
•
ATLAS – WebIS, NetIS,
PANDA DAQT/FEE Workshop, April 2012
8
Message Reporting


Functionality
•
Provides a facility which allows all software components to report
messages to other components in the distributed environment
•
Performs transport, filtering and routing of messages.
Implementation
•
CMS – log4cplus (modeled after the Java log4j API)
•
•
•

Loggers, appenders, layouts
ATLAS – MRS (Messsage Reporting System)
•
Message stream, CORBA
•
Used with ERS (Error Reporting System) API
Message queuing systems (ActiveMQ, AMPQ – Qpid, ...)
Auxiliary tools
•
•
Message database
•
ATLAS – Oracle
•
ALICE - MySQL
Message monitors
•
ATLAS – MRSMonitor, Log Manager
PANDA DAQT/FEE Workshop, April 2012
9
Process management


Functionality
•
Performs basic job control of software components
•
Capable of starting, stopping and monitoring the status (e.g. running,
exited) of components independent of the underlying operating system
Implemenation
•
ATLAS – PMG (Process Manager)
•
A PMG agent on each machine
•
Uses a role based access management policy
PANDA DAQT/FEE Workshop, April 2012
10
User interfaces

Functionality
•

Allows the operator to control and monitor the status of the current data
taking run in terms of it’s main parameters, detector configuration, trigger
rate and state of the sub-systems
Implementation
ATLAS
PANDA DAQT/FEE Workshop, April 2012
11
Integration components

Event monitoring
•

Resource management (partitioning)
•


Allocates resources (hardware and software resources which can’t be freely
shared) and allows several groups (partitions) to work in parallel without
interference.
DAQ – DCS interface
•

Samples events from the data-flow to present them to the user or
monitoring applications in order to verify event integrity and structure
Allows exchange of commands, information and messages between DAQ
and DCS
Online bookkeeping
•
Archives information about the data recorded to permanent storage by the
DAQ system
•
Records information on a per-run basis and provides a number of interfaces
for retrieving and updating the information
Test manager (verification, diagnostics)
•
Organizes individual tests for hardware and software components
PANDA DAQT/FEE Workshop, April 2012
12
Next steps


User requirements
Tehnology evaluation
•



Databases, inter-process communication, ...
Architectural design
Implementation, testing
•
Platforms, languages
•
Scalability issues
IFIN-HH experience
•
Message reporting
•
Information sharing
•
Graphical user interface
PANDA DAQT/FEE Workshop, April 2012
13