Online Monitoring software framework in the ATLAS experiment



Similar documents
An on-line Integrated Bookkeeping: electronic run log book and Meta-Data Repository for ATLAS

World-wide online monitoring interface of the ATLAS experiment

First-year experience with the ATLAS online monitoring framework

ATLAS TDAQ Monitoring Questionnaire

In: Proceedings of RECPAD th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal

Tools and strategies to monitor the ATLAS online computing farm

The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.

Run Control and Monitor System for the CMS Experiment

Web based monitoring in the CMS experiment at CERN

THE TESLA TEST FACILITY AS A PROTOTYPE FOR THE GLOBAL ACCELERATOR NETWORK

Online Data Monitoring Framework Based on Histogram Packaging in Network Distributed Data Acquisition Systems

Trigger & DAQ. Ryan Rivera 8/03/2015. Mu2e


Online Performance Monitoring of the Third ALICE Data Challenge (ADC III)

TDAQ Analytics Dashboard

Object Database Scalability for Scientific Workloads

Online CMS Web-Based Monitoring. Zongru Wan Kansas State University & Fermilab (On behalf of the CMS Collaboration)

LLRF. Digital RF Stabilization System

A J2EE based server for Muon Spectrometer Alignment monitoring in the ATLAS detector Journal of Physics: Conference Series

Performance Monitoring of the Software Frameworks for LHC Experiments

The Data Quality Monitoring Software for the CMS experiment at the LHC

"FRAMEWORKING": A COLLABORATIVE APPROACH TO CONTROL SYSTEMS DEVELOPMENT

Event Logging and Distribution for the BaBar Online System

New Design and Layout Tips For Processing Multiple Tasks

Design Document. Offline Charging Server (Offline CS ) Version i -

EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN ACCELERATORS AND TECHNOLOGY SECTOR A REMOTE TRACING FACILITY FOR DISTRIBUTED SYSTEMS

VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR

Component Based Rapid OPC Application Development Platform

DUKANE Intelligent Assembly Solutions

Open EMS Suite. O&M Agent. Functional Overview Version 1.2. Nokia Siemens Networks 1 (18)

A High-Performance Storage System for the LHCb Experiment Juan Manuel Caicedo Carvajal, Jean-Christophe Garnier, Niko Neufeld, and Rainer Schwemmer

Distributed Database Management Systems for Information Management and Access

A generic framework for game development

Event-based middleware services

VIRTUAL INSTRUMENTATION

Control 2004, University of Bath, UK, September 2004

STAR-LAUNCH AND NETWORK DISCOVERY

Bandwidth Aggregation, Teaming and Bonding

Encore. The Powerful, Affordable Answer for Contact Centers Like Yours. Product Description

Stock Trader System. Architecture Description

Web Based Monitoring in the CMS Experiment at CERN

Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications

New Methods for Performance Monitoring of J2EE Application Servers

System Software Integration: An Expansive View. Overview

MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Introduction to CORBA. 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture

Network Licensing. White Paper 0-15Apr014ks(WP02_Network) Network Licensing with the CRYPTO-BOX. White Paper

EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH THE INFORMATION SYSTEM FOR LHC PARAMETERS AND LAYOUTS

A Dataflow Meta-Computing Framework for Event Processing in the H1 experiment

PLANNING FOR PREDICTABLE NETWORK PERFORMANCE IN THE ATLAS TDAQ

A Process Oriented Tool for Mobile Devices for Monitoring OSCAR Clusters

Example of Standard API

Empress Embedded Database. for. Medical Systems

CMS data quality monitoring web service

Introduction to ROOT and data analysis

The new frontier of the DATA acquisition using 1 and 10 Gb/s Ethernet links. Filippo Costa on behalf of the ALICE DAQ group

GE Intelligent Platforms. PACSystems High Availability Solutions

Data Management in an International Data Grid Project. Timur Chabuk 04/09/2007

1 Introduction. 2 The need for Engineering Workflow. 3 Example engineering workflow -3- NLR-TP

The Efficiency Analysis of the Object Oriented Realization of the Client-Server Systems Based on the CORBA Standard 1

LHC MACHINE PROTECTION

A Comparison of Distributed Systems: ChorusOS and Amoeba

DOCUMENTS AND PARAMETERS PROCESS AND CONTROL

Availability Digest. Raima s High-Availability Embedded Database December 2011

PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE

Chapter 3 Operating-System Structures

WebSphere Business Monitor

Short Manual Intellect v SP2 module Unipos Contents:

Using ModelSim, Matlab/Simulink and NS for Simulation of Distributed Systems

Rotorcraft Health Management System (RHMS)

Shoal: IaaS Cloud Cache Publisher

Software Requirements Specification

WINDOWS PROCESSES AND SERVICES

Distributed Network Management Using SNMP, Java, WWW and CORBA

Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging

Software Test Plan (STP) Template

Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications

Chapter 2 System Structures

System types. Distributed systems

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

Exercises November Online Software. Training. Version 4.0

An Easier Way for Cross-Platform Data Acquisition Application Development

Technical Specification. Solutions created by knowledge and needs

TestManager Administration Guide

New Features for Remote Monitoring & Analysis using the StreamScope (RM-40)

Beyond High Performance Computing: What Matters to CERN

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

Frequently Asked Questions. Secure Log Manager. Last Update: 6/25/ Barfield Road Atlanta, GA Tel: Fax:

Persistent, Reliable JMS Messaging Integrated Into Voyager s Distributed Application Platform

A JDF-enabled Workflow Simulation Tool

What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications.

Middleware Lou Somers

Glance Project: a database retrieval mechanism for the ATLAS detector

What is a life cycle model?

Realization of Inventory Databases and Object-Relational Mapping for the Common Information Model

Data Quality Monitoring. workshop

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

What Is the Java TM 2 Platform, Enterprise Edition?

FIPA agent based network distributed control system

Transcription:

Online software framework in the ATLAS experiment M.Barczyk, D.Burckhart-Chromek 1, M.Caprini 2, J.Da Silva Conceicao, M.Dobson, J.Flammer, R.Jones, A.Kazarov 3, S.Kolos 3,4, D.Liko, L.Lucio, L.Mapelli, I.Soloviev 3 CERN, Geneva, Switzerland R.Hart NIKHEF, Amsterdam, Nederland A.Amorim, D.Klose, J.Lima, L.Pedro FCUL, Lisbon, Portugal H.Wolters UCP, Figueira da Foz, Portugal E.Badescu NIPNE, Bucharest, Romania I.Alexandrov, V.Kotov, M.Mineev JINR, Dubna, Russia Yu.Ryabov PNPI, Gatchina, St. Petersburg, Russia 1 presenter at the conference 2 on leave from NIPNE, Bucharest, Romania 3 on leave from PNPI, St. Petersburg, Russia 4 paper editor A fast, efficient and comprehensive monitoring system is a vital part of any HEP experiment. This paper describes the software framework that will be used during ATLAS data taking to monitor the state of the data acquisition and the quality of physics data in the experiment. The framework has been implemented by the Online Software group of the ATLAS Trigger&Data Acquisition (TDAQ) project and has already been used for several years in the ATLAS test beams at CERN. The inter-process communication in the framework is implemented via CORBA, which provides portability between different operating systems and programming languages. This paper will describe the design and the most important aspects of the online monitoring framework implementation. It will also show some test results, which indicate the performance and scalability of the current implementation. 1. INTRODUCTION ATLAS [1] is one of the four experiments in the Large Hadron Collider (LHC) [2] accelerator at CERN. The ATLAS detector consists of several sub-detectors, which in turn are subdivided into a number of partitions, which can be operated in parallel and fully independently one from another. The data rate from the whole detector after Level 1 Trigger rejection is about 150 Gbyte per second. These data are spread amongst 1600 read-out links, with each of them running at a possible maximum rate of 160 Mbyte per second. The ATLAS Trigger and Data Acquisition (TDAQ) [3] system consists of the High Level Trigger (HLT), which performs event selection reducing data by a factor of 300, and the Data Acquisition system (DAQ), which transports event data from the detector readout to the HLT system and selected events to mass storage. In order to provide the required functionality and to handle the physics data rate, the TDAQ system will use several thousand processors connected altogether over a high-speed network with each of them running several TDAQ software applications. of such a large and complicated system is a vital task during the data taking periods as well as during the commissioning of the detector. 2. THE ONLINE SOFTWARE The Online Software [4] is a sub-system of the TDAQ, which encompasses the software to configure, control and monitor the TDAQ and detectors. It is a customizable framework, which provides essentially the glue that holds the various sub-systems together. It does not contain any elements that are detector specific as it is used by all the various configurations of the TDAQ and detector instrumentation. The Online Software consists of three main parts responsible for a clearly defined functional aspect of the whole system: Control framework - supports TDAQ system initialization and shutdown, provides control command distribution and synchronization, error handling and system verification. Databases framework responsible for configuration of the TDAQ system and detectors. framework - provides software for the TDAQ system and detector monitoring. 3. MONITORING FRAMEWORK There are many essential parameters in the TDAQ system, which must be continuously monitored during data taking: physics data quality and integrity, consistency of the trigger information, correlation between sub-detectors, status of the 1

hardware and software system elements, etc. This information can be taken from different places in the data flow chain between detectors and the mass storage. Another important aspect of the monitoring is error reporting. Any malfunctioning part of the experiment must be identified and signaled as soon as possible so that it can be cured. 3.1. framework model In the large highly distributed system it must be possible to transport the monitoring information from the places where it is produced to the places where it can be processed. The framework, provided by the Online Software, performs this task as it is shown in Figure 1. In this figure the application which produce the monitoring information are called the s, and the s are the applications, which can process this information. data Framework data command command Figure 1: framework model. In addition to the transportation of the monitoring data, the framework provides a possibility to transport the monitoring data requests (commands) from the s to s. 3.2. data types There are different types of information, which can be used to understand the state and correct functioning of the TDAQ system and detector. This can be events or event fragments sampled from well-defined points in the data flow chain, various status and statistics information, which reflect the operation of the hardware elements and software processes in the system, and errors which can be detected at different levels of the system. These types are significantly different in terms of data size, update frequency, type of access, number of s and s, etc. Table 1: data types Type Format Production Access Samples of Vector of On request On request physics events 4-byte integers Errors ID + Severity + In case of faults Via subscription Histograms Other information Text Standard histogram formats Userdefined Periodically or whenever it is changed Periodically or whenever it is changed On request and via subscription On request and via subscription Table 1 shows the main monitoring data types along with their most important characteristics. 3.3. Architecture In order to optimize the performance of the monitoring in a large and highly distributed TDAQ system a separate service for each major class of the monitoring information is provided. Each service offers the most appropriate and efficient functionality for given information type and provides specific interfaces for both s and s. Figure 2 shows the architecture of the framework. Message Reporting Inter Process Communication (IPC) CORBA broker Figure 2: framework architecture Histogramming Information The Inter Process Communication (IPC) [5] is a basic communication service, which is common for all the Online Software services. It defines a high-level API for the distributed object implementation and for remote object location. The IPC provides a common basic set of remote methods for all the remote objects in the Online Software. In addition the IPC implements partitioning, which allows to run several instances of the Online Software services in different detector partitions concurrently and fully independently. The IPC itself is built on top of the Common Object Request Broker Architecture (CORBA) [6] broker, which provides the actual inter-object communication. CORBA is a vendor-independent industry standard defined by the Object Management Group (OMG) [7] for an architecture and infrastructure that computer applications use to work together over networks. The most important features of CORBA are: object oriented communication, interoperability between different programming languages and different operating systems, object location transparency. 3.4. s 3.4.1. The (EMS) is responsible for transportation of physics events or event fragments sampled from well-defined points in the data flow chain to the software applications, which can analyze them in order to monitor the state of the data acquisition and the quality of physics data of the experiment. An event is transported as a sequence of bytes, so the EMS is neutral to the event format. Figure 3 shows the main interfaces provided by the EMS. 2

Sampler add_event start_sampling stop_sampling Accumulator Distributor Iterator Figure 3: interfaces select next_event The which is able to sample events from a certain point of the data flow has to implement the Sampler interface. When the requests samples of events from that point via the select method of the Distributor interface, the EMS system asks this to start a sampling process by sending it the start_sampling message via the Sampler interface. The samples events and provides them to the EMS via the Accumulator interface. The can get these events via the Iterator interface. When there are no more s interested in event samples from a particular point of the data flow chain, the EMS sends the stop_sampling message to the appropriate via the Sampler interface to stop the sampling process. The monitoring framework provides also a graphical user interface application, which is an example of the. The application is written in Java and is called Dump. It uses the Distributor and the Iterator interfaces to get an event from the place specified by the user and displays the event content. error handling. The MRSStream interface can be used by any application, which wants to report an error as it is shown in Figure 5. In order to receive the error messages an Error has to subscribe via the MRSReceiver interface for the messages it wants to receive. The MRS will forward the appropriate messages to the interested subscribers via the MRSCallback interface. send_error MRSStream Message Reporting MRSReceiver notify Error Figure 5: Message Reporting interfaces subscribe MRSCallback Error An example of the Error is shown in Figure 6. This is the main user control interface application of the TDAQ system, which contains the message display at the bottom. Figure 6: Main TDAQ user interface Figure 4: Du mp application Figure 4 shows the main window of the Dump (the bigger one), which displays the event data, and the selection window (the smaller one) in which the user can define the detector, crate, and module from which the event is to be taken and also can specify some keyword values, which will be used to select the interesting events. 3.4.2. Message Reporting The Message Reporting (MRS) transports the error messages from the software applications, which detect the errors to the applications, which are responsible for the This message display shows the error messages coming from the TDAQ applications and detectors. A user can specify the appropriate parameters for the subscribe method of the MRSReceiver interface via the MRS panel in the right part of the user control window to define the messages to be shown. 3.4.3. Information The Information (IS) allows TDAQ applications to exchange user-defined information during a run. A user can define the structure of his specific information in XML. Then, he can produce C++ or Java classes using the generator application provided by the IS. The instances of these classes can be shared by the applications. The information structure description is also available at run time. 3

Figure 7 shows the main interfaces provided by the IS. Any Information can make his own information publicly available by using the insert method of the InfoDictionary interface and notify the IS about changes of the published information via the update method. The remove method of the InfoDictionary interface can be used to delete the information from the IS. Info insert update remove Information InfoDictionary igure 7: Information interfaces InfoReceiver notify subscribe InfoCallback get_value Info The IS supports two types of information access. It is possible to get the information value directly on request via the get_value method of the InfoDictionary interface. On the other hand, any Information can subscribe for a particular information or set of information via the InfoReceiver interface, in which case it will be informed about changes of the information for which it subscribed. There is a graphical user interface which allows to browse the content of the IS. Figure 8 shows the main window of this application (smaller one), which displays all the instances of the IS for a specific detector partition. The partition can be chosen from the list of active partitions in the drop down control at the top-right corner of this window. F 3.4.4. Histogramming The Histogramming (HS) allows applications to exchange histograms. From the implementation point of view it is a specialization of the Information. The HS defines several information types which are used to transport histograms via the IS. The HS has an extendable API in terms of the formats of the histograms, which may be used. The HS defines two abstract interfaces: Histo and HistoReceiver. In order to support a particular histogram format one has to provide an appropriate implementation of those interfaces. Histogram RootHisto Histo RawHisto Histogramming RootHistoReceiver Figure 9: Histogramming interfaces IS HistoReceiver RawHistoReceiver Histogram Currently the HS supports two types of histograms as it is shown in Figure 9: ROOT histograms histograms in the format proposed by the ROOT framework [9]. Raw histograms - histograms represented by arrays of a fundamental data type, i.e. integer, float, double, etc. Figure 10 shows the Histogram Display application implemented on top of the ROOT Object Browser. This application is an example of the Histogram, which uses the RootHistoReceiver interface to get histograms from the HS. Figure 8: IS Monitor application Another window in Figure 8 (bigger one) shows the list of information items available at the selected instance of the Information. For any item in this list one can see the current value of the information as well as the description of the information item. The content of this window is synchronized with the selected IS instance and is updated automatically whenever the information is changed in the IS. Figure 10: Histogram display In the left part of the main window (at the background) one can see a list of histogram providers for each detector partition. The right panel shows the list of available histograms for selected provider. Each histogram can be viewed in a separate window, which is an instance of the 4

standard ROOT histogram viewer. This viewer gives access to the complete histogram viewing functionality provided by ROOT. 4. PROTOTYPE IMPLEMENTATION Prototype implementations exist for all the services. These prototypes are aiming to verify the feasibility of the chosen design and the choice of implementation technology for the final TDAQ system, and are used in the ATLAS test beam operations. Each service is implemented as a separate software package with both C++ and Java interfaces. All the services are partitionable in the sense that it is possible to have several instances of each service running concurrently and fully independently in different detector partitions. As it has been mentioned already the services implementation is based on the CORBA. Currently the open source implementation of CORBA provided by Xerox Comp any is used. It is called Inter Language Unification (ILU) [9]. Several other CORBA implementations are currently being evaluated. They are namely: TAO [10], MICO [11], omniorb [12] and ORBacus [13]. They provide interesting features, which are missing in ILU, i.e. advanced thread management in multy-threaded applications, advanced connection management, CORBA objects persistence, etc. Another CORBA broker can replace ILU without affecting the implementation of the services. 4.1. Performance and scalability of the current implementation Among the services, the most extensive tests have been performed for the Information. The other services are implemented on the same technology and offer the same level of performance and scalability as the IS. The test bed for the IS tests consisted of 216 dual-pentium PCs with processor frequency from 600 to 1000 MHz. A single instance of the IS was set up on one dedicated machine. The other 200 machines were used to run from one to five Information s on each of them simultaneously. Each Information published one information object in the IS at start up and then updated it once per second. The last 15 machines were used to run 1, 5, 10 or 15 Information s which subscribe for all the information in the IS. Whenever an Information updated his information, this new information was distributed to all the Information s. Figure 11 shows the average time for transporting information from one Information to all the subscribed Information s as a function of the number of Information s working concurrently. time (ms) 8 7 6 5 4 3 2 1 0 200 400 600 800 1000 Figure 11: IS test results Number of Information s 1 5 s 10 s 15 s The results of the tests show that a single instance of the Information is able to handle one thousand Information s and about 15 Information s at the same time. In larger configurations the design of the IS allows to distribute the total load among a number of the IS instances, which can run fully independently. Thus, it will be necessary to run only a few (less then 10) IS instances in order to provide the required performance for the final ATLAS TDAQ. 5. SUMMARY in the ATLAS experiment is a complex and demanding task. The Online Software of the ATLAS TDAQ system implements a software framework, which can be used for information exchange between the monitoring data providers and consumers. The monitoring framework consists of four services, implemented on top of CORBA. Each service provides the most appropriate and efficient solution for a specific type of the monitoring information. Prototype implementations exist for all the monitoring services and have been successfully used for several years in the ATLAS test beams [4]. The tests, which have been recently performed, show that the services satisfy the requirements of the ATLAS experiment. References [1] ATLAS Technical Proposal, CERN/LHCC/94-43 ISBN 92-9083-067-0. [2] Status of the LHC / R.Schmidt, CERN-LHC-Project- Report-569, 02 Jul 2002. [3] ATLAS High-Level Triggers, DAQ and DCS: Technical Proposal - ATLAS Collaboration. CERN-LHCC- 2000-017. [4] Online Software for the ATLAS Test Beam Data Acquisition System, 2003 IEEE Real Time Conference [5] Use of CORBA in the ATLAS prototype DAQ, A.Amorim et al., IEEE transactions on Nuclear Science, Vol. 45, No. 4, August 1998 [6] CORBA home page, http://www.omg.org/corba/ [7] OMG home page, http://www.omg.org/ [8] ROOT home page, http://root.cern.org/ 5

[9] ILU home page, ftp://ftp.parc.xerox.com/pub/ilu/ilu.html [10] TAO home page, http://www.cs.wustl.edu/~schmidt/tao.html [11] MICO home page, http://www.mico.org/ [12] omniorb home page, http://omniorb.sourceforge.net/ [13] ORBacus home page, http://www.iona.com/products/orbacus_home.htm 6