C.Combaret, L.Mirabito Lab & beamtest DAQ with XDAQ tools.

Slides:



Advertisements
Similar presentations
Welcome to Middleware Joseph Amrithraj
Advertisements

Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
CHEP 2012 – New York City 1.  LHC Delivers bunch crossing at 40MHz  LHCb reduces the rate with a two level trigger system: ◦ First Level (L0) – Hardware.
Remote Method Invocation
Distributed components
CompuNet Grid Computing Milena Natanov Keren Kotlovsky Project Supervisor: Zvika Berkovich Lab Chief Engineer: Dr. Ilana David Spring, /
VC Sept 2005Jean-Sébastien Graulich Report on DAQ Workshop Jean-Sebastien Graulich, Univ. Genève o Introduction o Monitoring and Control o Detector DAQ.
March 2003 CHEP Online Monitoring Software Framework in the ATLAS Experiment Serguei Kolos CERN/PNPI On behalf of the ATLAS Trigger/DAQ Online Software.
Control and monitoring of on-line trigger algorithms using a SCADA system Eric van Herwijnen Wednesday 15 th February 2006.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Screen Snapshot Service Kurt Biery SiTracker Monitoring Meeting, 23-Jan-2007.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
CMS Michele Gulmini, Cern, DAQ Weekly 07/05/ RCMS – Plan of work Michele Gulmini DAQ Weekly 7th May 2002.
Boosting Event Building Performance Using Infiniband FDR for CMS Upgrade Andrew Forrest – CERN (PH/CMD) Technology and Instrumentation in Particle Physics.
Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Storage Manager Overview L3 Review of SM Software, 28 Oct Storage Manager Functions Event data Filter Farm StorageManager DQM data Event data DQM.
1 Alice DAQ Configuration DB
CMS Luigi Zangrando, Cern, 05/03/ RCMS for XDaq based small DAQ Systems M. Gulmini, M. Gaetano, N. Toniolo, S. Ventura, L. Zangrando INFN – Laboratori.
C. CombaretCalice week at UT Arlington, march 2010 SDHCAL status in lyon - Power pulsing, DAQ and m3 C. Combaret, for the IPNL team.
C. Combaret 14 jan 2010 SDHCAL DAQ status in lyon C. Combaret, for the IPNL team.
Present state and (possible) evolution DAQ ECAL tests.
ATCA based LLRF system design review DESY Control servers for ATCA based LLRF system Piotr Pucyk - DESY, Warsaw University of Technology Jaroslaw.
Towards a Homogeneous Software Environment for DAQ Applications Luciano Orsini Johannes Gutleber CERN EP/CMD.
Summary of CSC Track-Finder Trigger Control Software Darin Acosta University of Florida.
Control in ATLAS TDAQ Dietrich Liko on behalf of the ATLAS TDAQ Group.
Recent Software Issues L3 Review of SM Software, 28 Oct Recent Software Issues Occasional runs had large numbers of single-event files. INIT message.
ALICE, ATLAS, CMS & LHCb joint workshop on
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
7. CBM collaboration meetingXDAQ evaluation - J.Adamczewski1.
Introduction CMS database workshop 23 rd to 25 th of February 2004 Frank Glege.
Online Software 8-July-98 Commissioning Working Group DØ Workshop S. Fuess Objective: Define for you, the customers of the Online system, the products.
Overview of DAQ at CERN experiments E.Radicioni, INFN MICE Daq and Controls Workshop.
IT/EE Palaver FAIR DAQ - J.Adamczewski, S.Linev1.
DABCDABC D ata A cquisition B ackbone C ore J.Adamczewski, H.G.Essel, N.Kurz, S.Linev 1 Work supported by EU RP6 project.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
DAQ Andrea Petrucci 6 May 2008 – CMS-UCSD meeting OUTLINE Introduction SCX Setup Run Control Current Status of the Tests Summary.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
CMS Luigi Zangrando, Cern, 16/4/ Run Control Prototype Status M. Gulmini, M. Gaetano, N. Toniolo, S. Ventura, L. Zangrando INFN – Laboratori Nazionali.
Source Controller software Ianos Schmidt The University of Iowa.
INFSO-RI Enabling Grids for E-sciencE ARDA Experiment Dashboard Ricardo Rocha (ARDA – CERN) on behalf of the Dashboard Team.
Status & development of the software for CALICE-DAQ Tao Wu On behalf of UK Collaboration.
TDAQ Experience in the BNL Liquid Argon Calorimeter Test Facility Denis Oliveira Damazio (BNL), George Redlinger (BNL).
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
NJIT 1 Apache Tomcat (Version 6.0) THETOPPERSWAY.COM.
October Test Beam DAQ. Framework sketch Only DAQs subprograms works during spills Each subprogram produces an output each spill Each dependant subprogram.
EGEE is a project funded by the European Union under contract IST Installation and configuration of gLite services Robert Harakaly, CERN,
1 DAQ.IHEP Beijing, CAS.CHINA mail to: The Readout In BESIII DAQ Framework The BESIII DAQ system consists of the readout subsystem, the.
CMS Luigi Zangrando, Cern, 16/4/ Run Control Prototype Status M. Gulmini, M. Gaetano, N. Toniolo, S. Ventura, L. Zangrando INFN – Laboratori Nazionali.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
M. Caprini IFIN-HH Bucharest DAQ Control and Monitoring - A Software Component Model.
Online Software November 10, 2009 Infrastructure Overview Luciano Orsini, Roland Moser Invited Talk at SuperB ETD-Online Status Review.
MONITORING CMS TRACKER CONSTRUCTION AND DATA QUALITY USING A GRID/WEB SERVICE BASED ON A VISUALIZATION TOOL G. ZITO, M.S. MENNEA, A. REGANO Dipartimento.
The Control and Hardware Monitoring System of the CMS Level-1 Trigger Ildefons Magrans, Computing and Software for Experiments I IEEE Nuclear Science Symposium,
Scalable Readout System Data Acquisition using LabVIEW Riccardo de Asmundis INFN Napoli [Certified LabVIEW Developer]
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
Software and Communication Driver, for Multimedia analyzing tools on the CEVA-X Platform. June 2007 Arik Caspi Eyal Gabay.
Progress Apama Fundamentals
J. Gutleber, L. Orsini, 2005 March 15
Calicoes Calice OnlinE System Frédéric Magniette
Web Programming Developing Web Applications including Servlets, and Web Services using NetBeans 6.5 with GlassFish.V3.
Sabri Kızanlık Ural Emekçi
Remote Method Invocation
Controlling a large CPU farm using industrial tools
M. Gulmini, G, Maron, N. Toniolo, L. Zangrando
The LHCb High Level Trigger Software Framework
The Performance and Scalability of the back-end DAQ sub-system
Presentation transcript:

C.Combaret, L.Mirabito Lab & beamtest DAQ with XDAQ tools

XDAQ Core & Powerpack: Already used for – Application – Transport – Web access – Final State Machine Worksuite: Not yet but … – Event Builder – Job control – Hardware access – Error managment

XDAQ basics Executives – Main XDAQ process Support http: Start a web server on a given port, configuration via XML – Lyoac22> xdaq.exe –p 5000 –c mydaq.xml  accessible on » Additionnal transport (tcp,atcp) for binary exchange Dynamic loading of shared libraries (application) Applications – Load dynamically as a shared library (XML tag in the executive configuration) – Each application acts as a web service Embedded web page definition or Web 2 acces – GUI for hardware access is visible on the web – Curl configuration Accept or emit SOAP messages – Remote control of command – It can be declared on the tcp transport and exchange binary message with other applications Inside the executive: zero-copy On the same PC: unix sockets On the network: tcp sockets

The Final State Machine Binding SOAP – Simple manager can be either external or include in one of the application Use of CMS run control for larger configuration Halted Configured Enabled Configure Enable Stop Halt

An example: TSCSupervisor application Configuration TSCSupervisor::TSCSupervisor(xdaq::application* stub): public WebApplication(stub) … deviceNumber=0; getApplicationInfoSpace()->fireItemAvailable("device",&deviceNumber_); … // Define FSM fsm_.addState ('H', "Halted"); fsm_.addState ('R', "Ready"); fsm_.addState ('E', "Enabled"); fsm_.addStateTransition ('H','R', "Configure", this, &TSCSupervisor::ConfigureAction); fsm_.addStateTransition ('R','E', "Enable", this, &TSCSupervisor::EnableAction); fsm_.addStateTransition ('E','H', "Halt", this, &TSCSupervisor::HaltAction); fsm_.addStateTransition ('R','H', "Halt", this, &TSCSupervisor::HaltAction); fsm_.setFailedStateTransitionAction( this, &TSCSupervisor::failedTransition ); fsm_.setInitialState('H'); fsm_.reset(); // Bind SOAP callbacks for control messages xoap::bind (this, &TSCSupervisor::fireEvent, "Configure", XDAQ_NS_URI); xoap::bind (this, &TSCSupervisor::fireEvent, "Enable", XDAQ_NS_URI); xoap::bind (this, &TSCSupervisor::fireEvent, "Halt", XDAQ_NS_URI); … // Bind CGI callbacks xgi::bind(this, &TSCSupervisor::latencyGet, "latencyGet"); Web access Parameters Configurable in XML or via SOAP FSM binded to Application methods FSM binded to SOAP commands Web callback definition

Example(2):Defining an HTML form void TSCSupervisor::displayHaltedPage(xgi::Input * in, xgi::Output * out) { xgi::Utils::getPageHeader(*out, "Configure"); std::string url = "/"; url += getApplicationDescriptor()->getURN(); url += "/supervisorConfigure »; *out << cgicc::form().set("method","post").set("action", url).set("enctype","multipart/form-data").set("style","font-size: 10pt; font-family: arial;") << std::endl; *out << cgicc::fieldset().set("style","font-size: 10pt; font-family: arial;") << cgicc::p() << std::endl; *out << cgicc::legend("Streamer configuration") << std::endl; *out << cgicc::label("Configuration XML url ") << std::endl; *out << cgicc::input().set("type","text").set("name","urlXmlConfig").set("size","60").set("value",urlXmlConfig_) << cgicc::p() << std::endl; *out << cgicc::fieldset() << std::endl; *out << cgicc::input().set("type", "submit").set("name", "submit").set("value", "Configure"); *out << cgicc::p() << std::endl; *out << cgicc::form() << std::endl; xgi::Utils::getPageFooter(*out); }

Example(3): handling the form void TSCSupervisor::supervisorConfigure(xgi::Input * in, xgi::Output * out) throw (xgi::exception::Exception) { try { // Create a new Cgicc object containing all the CGI data cgicc::Cgicc cgi(in); urlXmlConfig_ = cgi["urlXmlConfig"]->getValue(); } catch(const std::exception& e) { XCEPT_RAISE(xgi::exception::Exception, e.what()); } try { toolbox::Event::Reference e(new toolbox::Event("Configure",this)); fsm_.fireEvent(e); } catch (toolbox::fsm::exception::Exception & e) { XCEPT_RETHROW(xgi::exception::Exception, "invalid command", e); } this->Default(in,out); }

DIFSupervisor example

The Event Builder Components Readout Unit (RU): it collects data from any source with predefined message format and buffered it in a FIFO, it will feed 1 Builder Unit on trigger request Builder Unit (BU): it collects data from all RU’s of a given partition for a given trigger. It assembles data fragment, buffers the event and feed Filter Units registered to it (tokens) Filter Unit (FU): it processes build event. It has some processing slots and provides tokens to its associated BU according to free slots. Event Manager (EVM): it controls the whole system. It receives trigger from an external source (Trigger Accepter) and triggers the transfer of RU buffers to BU. Once event built it receives a token from the BU it forwards to the TA to allow further triggers Trigger Accepter (TA): Trigger control with predefined messages with the EVM in order to receive tokens and send triggers

The Event Builder (2) Tokens Data Source RU BU FU Data Source RU BU FU Data Source RU BU FU EVM TA implementation XDAQ Event Builder TriggersTriggers Trigger to BU's Analyze Storage Trigger & tokens

A detailed example SHM RUCollector RU BU FU DIF SHM RUCollector RU BU FU DIF RUCollector RU DimSupervisor DIM EVM LocalManager XDAQ Event Builder Triggers TokensTokens Trigger to BU's RootAnalyzer Storage Must run on the same PC Toolbox developped by IPNL Provided by XDAQ DHCAL specific application Executives

Additional applications RUCollector: It collects data via share memories and format the message to the RU. A Share memory class is provided to be used in the DIF/LDA readout. LocalManager: It’s the minimal implementation of the TA. It only periodically send trigger messages to the EVM if enough tokens are received from it. It crosschecks the number of event collected by each RUCollector. DimSupervisor: Simple interface between a DIM data source and the RUCollector. DIM is supported in LabView, PVSS… RootAnalyzer: DHCAL online monitoring and ROOT based data storage. Not distributed, it collects data from all FU’s

Beam test DAQ Trigger based read out It requires a real trigger board interfaced to the LocalManager: Send N triggers to the DIF’s on LocalManager request Back pressure on DIF/LDA vetos IO board, Trigger Sequencer Card developped at IPNL (CMS,ALICE) can be used. CCC ? Analysis has to be developped for multi-planes monitoring LDA supervisor application needed

To go further Current DAQ are smalls Few PC’s and processes can be described in small XML files. Executives can be started manually Larger system DB storage of applications configuration Jobcontrol services on PC’s to start the executives Configuration and FSM handling via Run Control, TOMCAT + java servlets interfaced to XDAQ Distributed analysis in FU Integrate the control Calibration runs LocalManager Loop: Block Trigger->Change parameter->Acquire N trigger…. Error handling Several error handling framework available in XDAQ

Maintenance & deployment XDAQ is the CMS data acquisition framework and will be supported in the coming years. Code is free. Binaries are provided as RPM’s on Scientific Linux CERN releases (yum installation). Re compilation is needed for other Linux platform. IPNL add-ons can be provided as source or RPM’s if needed

Summary XDAQ was already used at IPNL to configure and read DIF’s Web access, private event building and storage The CMS Si-tracker acquisition software was simplified to allow the use of the Event Builder with the DIF applications Other data source board can be easily added Scalability of the architecture is demonstrated with CMS tracker local daq 500 boards,40 PC’s, 1000’s of processes Additional applications (DIM interface, Analysis) were also developped to ease laboratory tests Usage in beamtests of such DAQ is straightforward Trigger card needed Port of other Data Source boards software to XDAQ