Storage Manager Overview L3 Review of SM Software, 28 Oct 2008 1 Storage Manager Functions Event data Filter Farm StorageManager DQM data Event data DQM.

Slides:



Advertisements
Similar presentations
Raptor Technical Details. Outline Workshop structured by Raptor workflow – Raptor Event model. – ICA log file parsing – ICA/MUA event storage – ICA event.
Advertisements

Executional Architecture
How to Detect a Memory Leak By Using System Performance Monitor in Windows 2000.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Understand Web Services
J4www/jea Week 3 Version Slide edits: nas1 Format of lecture: Assignment context: CRUD - “update details” JSP models.
Multi-criteria infrastructure for location-based applications Shortly known as: Localization Platform Ronen Abraham Ido Cohen Yuval Efrati Tomer Sole'
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Application architectures
OS Spring’03 Introduction Operating Systems Spring 2003.
OUTLINE WHAT ? HOW ? WHY ? BLUEPOST Poster and Message Content Specified by the User Displaying the Poster Content on a Monitor Sending Messages to.
Module 14: Scalability and High Availability. Overview Key high availability features available in Oracle and SQL Server Key scalability features available.
Application architectures
NovaBACKUP 10 xSP Technical Training By: Nathan Fouarge
Overview Print and Document Services Print Management console Printer properties Troubleshooting.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Linux Operations and Administration
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Chapter Oracle Server An Oracle Server consists of an Oracle database (stored data, control and log files.) The Server will support SQL to define.
D.S.I. Venezia L.N.L CMS Error Handling in RCMS An Overview Francesco Lelli
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Copyright, 1996 © Dale Carnegie & Associates, Inc. Presented by Hsiuling Hsieh Christine Liu.
Areas For Review L3 Review of SM Software, 28 Oct The Charge From Jim’s with instructions for the review: “The time limit for this review.
Client – Server Architecture. Client Server Architecture A network architecture in which each computer or process on the network is either a client or.
DAT 330 Building Web Services with SQL Server and SQLXML 3.0 Alexander Vaschillo Lead Program Manager WebData XML Group Microsoft Corporation.
Recent Software Issues L3 Review of SM Software, 28 Oct Recent Software Issues Occasional runs had large numbers of single-event files. INIT message.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Distributed Programming CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
7. CBM collaboration meetingXDAQ evaluation - J.Adamczewski1.
CMS pixel data quality monitoring Petra Merkel, Purdue University For the CMS Pixel DQM Group Vertex 2008, Sweden.
MIS 105 LECTURE 1 INTRODUCTION TO COMPUTER HARDWARE CHAPTER REFERENCE- CHP. 1.
Copyright © 2012 UNICOM Systems, Inc. Confidential Information z/Ware Product Overview illustro Systems International A Division of UNICOM Global.
Introduction CMS database workshop 23 rd to 25 th of February 2004 Frank Glege.
Overview of DAQ at CERN experiments E.Radicioni, INFN MICE Daq and Controls Workshop.
1 Java Servlets l Servlets : programs that run within the context of a server, analogous to applets that run within the context of a browser. l Used to.
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.
Source Controller software Ianos Schmidt The University of Iowa.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
Online Monitoring System at KLOE Alessandra Doria INFN - Napoli for the KLOE collaboration CHEP 2000 Padova, 7-11 February 2000 NAPOLI.
CSC 2720 Building Web Applications Basic Frameworks for Building Dynamic Web Sites / Web Applications.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
IBM Global Services © 2005 IBM Corporation SAP Legacy System Migration Workbench| March-2005 ALE (Application Link Enabling)
Client – Server Architecture A Basic Introduction 1.
A computer contains two major sets of tools, software and hardware. Software is generally divided into Systems software and Applications software. Systems.
Chapter – 8 Software Tools.
Role Activity Sub-role Functional Components Control Data Software.
Event Management. EMU Graham Heyes April Overview Background Requirements Solution Status.
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
FILES AND EXCEPTIONS Topics Introduction to File Input and Output Using Loops to Process Files Processing Records Exceptions.
ISC321 Database Systems I Chapter 2: Overview of Database Languages and Architectures Fall 2015 Dr. Abdullah Almutairi.
Module 4: Troubleshooting Web Servers. Overview Use IIS 7.0 troubleshooting features to gather troubleshooting information Use the Runtime Control and.
Format of Assembly language
WWW and HTTP King Fahd University of Petroleum & Minerals
CCNA Routing and Switching Routing and Switching Essentials v6.0
Controlling a large CPU farm using industrial tools
Software Design and Architecture
Introduction of microprocessor
Web Caching? Web Caching:.
Chapter 10: Device Discovery, Management, and Maintenance
CCNA Routing and Switching Routing and Switching Essentials v6.0
Software Architecture in Practice
Chapter 10: Device Discovery, Management, and Maintenance
CS703 - Advanced Operating Systems
Introduction to computers
Presentation transcript:

Storage Manager Overview L3 Review of SM Software, 28 Oct Storage Manager Functions Event data Filter Farm StorageManager DQM data Event data DQM data Event Consumers DQM Consumers DQM Data Tier-0 SMProxyServer I2O messages – push mode HTTP messages – pull mode

Storage Manager Overview L3 Review of SM Software, 28 Oct Data Handling in BUFU

Storage Manager Overview L3 Review of SM Software, 28 Oct Design for StorageManager HLT Processes Tier-0 Run Control SMProxyServer Config file

Storage Manager Overview L3 Review of SM Software, 28 Oct Design for SMProxyServer Run Control Config file

Storage Manager Overview L3 Review of SM Software, 28 Oct Data Formats Streamer Format In the HLT, the event data is managed by ROOT. The serialized format that is used to transfer events from the HLT to downstream processes is called the streamer format. In order for the data to be converted from streamer format back to ROOT format, information is needed about the structure of the data products are exist in the event. This information is packaged up by the HLT processes at begin run time and sent downstream as INIT messages. FED Raw Data Format To support the transfer of “error events” from the resource broker to the SM, Philipp defined a data format which we have tried to generically label the FED Raw Data format (in case it is ever useful for something other than error events). [Error events have the raw event contents that cause a filter unit hang or crash.] Existing message types: INIT, Event, DQMEvent, ErrorEvent

Storage Manager Overview L3 Review of SM Software, 28 Oct Input Sources & Output Modules CMSSW input sources and output modules are provided for reading in and writing out streamer data in various ways: Writing INIT, Event, and DQMEvent messages to shared memory from the filter unit Writing Event, DQMEvent, and ErrorEvent data to disk. Reading Event, DQMEvent, and ErrorEvent data over HTTP from the storage manager or the SM proxy server.

Storage Manager Overview L3 Review of SM Software, 28 Oct State Chart StorageManager and SMProxyServer State Chart Enable ~ Begin Run Stop ~ End Run

Storage Manager Overview L3 Review of SM Software, 28 Oct Code Introduction The usual place to find a snapshot of the code is CMSSW_2_1_10 is the most recent version of the software at this time Other versions are available as you can see when you visit the link However, I have also made Doxygen documentation available at This has more up-to-date code Doxygen generates some diagrams that might be useful If a tar file containing a recent snapshot of the code would be useful, that can be provided as well. The following slides describe some of the classes that are responsible for different parts of the SM functionality.

Storage Manager Overview L3 Review of SM Software, 28 Oct Code Introduction The primary class for the storage manager is stor::StorageManager in the EventFilter/StorageManager package. Things you will find in StorageManager.cc… Methods to process I2O fragments when they are received. INIT, Event, DQMEvent, and ErrorEvent messages are transmitted from the filter units to the SM as I2O fragments. Methods to handle transitions between states [configuring(), enabling(), stopping(), and halting()] Methods to generate monitoring web pages available through XDAQ. Creation of the threads and worker classes used by the SM. The primary class for the proxy server is stor::SMProxyServer in the EventFilter/SMProxyServer package. Things you will find in SMProxyServer.cc… Methods to handle transitions between states [configuring(), enabling(), stopping(), and halting()] Methods to generate monitoring web pages available through XDAQ.

Storage Manager Overview L3 Review of SM Software, 28 Oct Event Flow – HLT to SM Events are written to shared memory in the filter unit using the edm::StreamerOutputModule class in the IOPool/Streamer package and the edm::FUShmOutputModule class in the EventFilter/Modules package. The CMSSW output module that is specified in filter unit configurations is ShmStreamConsumer, and this output module is a typedef of edm::StreamerOutputModule edm::StreamerOutputModuleBase::write()  edm::StreamerOutputModule::doOutputEvent()  edm::FUShmOutputModule::doOutputEvent()  evf::FUShmBuffer::writeRecoEventData() From the shared memory pool, the resource broker breaks the events into I2O fragments and sends them to the storage manager.

Storage Manager Overview L3 Review of SM Software, 28 Oct Event Flow – SM to Disk The event fragments are received by stor::StorageManager::receiveDataMessage() (EventFilter/StorageManager). The fragments are placed on the fragment queue. The stor::FragmentCollector class (EventFilter/StorageManager) assembles the fragments (see processFragments() and processEvent()). stor::FragmentCollector::processEvent()  edm::ServiceManager::manageEventMessage()  edm::EventStreamService::nextEvent()  edm::EventOutputService::writeEvent()  edm::StreamerFileWriter::doOutputEvent()  StreamerOutputFile::write()

Storage Manager Overview L3 Review of SM Software, 28 Oct Event Flow – SM to Disk stor::FragmentCollector processEvent(stor::FragEntry) edm::ServiceManager manageEventMessage(EventMsgView) edm::StreamService nextEvent(uint8 *) edm::FRDStreamServiceedm::EventStreamService edm::OutputService writeEvent(uint8 *) edm::EventOutputServiceedm::FRDOutputService edm::StreamerFileWriter doOutputEvent(EventMsgView) StreamerFileWriter write(EventMsgView) 1 * * 1 1 The FRD* classes are used for writing out Error Events in a FED Raw Data format.

Storage Manager Overview L3 Review of SM Software, 28 Oct Event Flow – SM to Consumers Events travel from the filter units to the SM fragment queue as listed on the previous pages. In the SM, they are stored on queues for serving to consumers with the following calls: stor::FragmentCollector::processEvent()  stor::EventServer::processEvent()  stor::ConsumerPipe::putEvent() Asynchronous calls to the SM from consumers are processed in the following way: stor::StorageManager::eventdataWebPage()  stor::EventServer::getEvent()  stor::ConsumerPipe::getEvent() The Proxy Server (SMPS) acts like a consumer to the SM. Inside the SMPS, events are fetched by the DataProcessManager: stor::DataProcessManager::processCommands()  stor::DataProcessManager::getEventFromAllSM()  stor::DataProcessManager::getOneEventFromSM()  stor::EventServer::processEvent()  stor::ConsumerPipe::putEvent() Asynchronous calls to the SMPS from consumers are processed in the following way: stor::SMProxyServer::eventDataWebPage()  stor::EventServer::getEvent()  stor::ConsumerPipe::getEvent() Event Consumers fetch events using the EventStreamHttpReader input source: edm::EventStreamHttpReader::getOneEvent()

Storage Manager Overview L3 Review of SM Software, 28 Oct Event Flow – SM to Consumers stor::StorageManager receiveDataMessage(Reference *) eventDataWebPage(…) stor::EventServer processEvent(EventMsgView) getEvent(uint32 consumerId) stor::ConsumerPipe putEvent(vector ) getEvent() 1 * stor::FragmentCollector processEvent(stor::FragEntry) 1 stor::JobController 11

Storage Manager Overview L3 Review of SM Software, 28 Oct DQM Event Flow – SM to SMPS to Disk For simplicity, the following notes assume that the SM passes DQMEvents directly to the SM proxy server instead of summing updates and sending the result. DQMEvents travel from the filter units to the SM fragment queue in a similar fashion to physics events. In the SM, they are are stored on a queue for retrieval by the proxy server: stor::FragmentCollector::processDQMEvent()  stor::DQMServiceManager::manageDQMEventMsg()  stor::DQMEventServer::processDQMEvent()  stor::DQMConsumerPipe::putDQMEvent() Asynchronous calls to the SM from proxy server are processed in the following way: stor::StorageManager::DQMeventdataWebPage()  stor::DQMEventServer::getDQMEvent()  stor::DQMConsumerPipe::getDQMEvent() Inside the SMPS, events are fetched by the DataProcessManager: stor::DataProcessManager::processCommands()  stor::DataProcessManager::getDQMEventFromAllSM()  stor::DataProcessManager::getOneDQMEventFromSM()  stor::DQMServiceManager::manageDQMEventMsg()  stor::DQMInstance::updateObject()  DQMServiceManager::writeAndPurgeDQMInstances()  stor::DQMInstance::writeFile()

Storage Manager Overview L3 Review of SM Software, 28 Oct Web Pages for Monitoring Variables of StorageManager and SMProxyServer accessible through XDAQ Infospace or XDAQ application web pages In the SM, we have the following web monitoring pages: stor::StorageManager::defaultWebPage(xgi::Input, xgi::Output) stor::StorageManager::rbsenderWebPage(xgi::Input, xgi::Output) stor::StorageManager::streamerOutputWebPage(xgi::Input, xgi::Output) stor::StorageManager::eventServerWebPage(xgi::Input, xgi::Output) stor::StorageManager::consumerListWebPage(xgi::Input, xgi::Output) In the Proxy Server (SMPS) we have: stor::SMProxyServer::defaultWebPage(xgi::Input, xgi::Output) stor::SMProxyServer::smsenderWebPage(xgi::Input, xgi::Output) stor::SMProxyServer::eventServerWebPage(xgi::Input, xgi::Output) stor::SMProxyServer::consumerListWebPage(xgi::Input, xgi::Output)

Storage Manager Overview L3 Review of SM Software, 28 Oct Message Definition Classes Classes for constructing and parsing streamer messages (all of these are in the IOPool/Streamer package): INIT messages: InitMsgBuilder InitMsgView Event messages: EventMsgBuilder EventMsgView DQMEvent messages DQMEventMsgBuilder DQMEventMsgView ErrorEvent messages: FRDEventMsgView

Storage Manager Overview L3 Review of SM Software, 28 Oct Backup Slides

Storage Manager Overview L3 Review of SM Software, 28 Oct Output & Input Modules Output modules, Input modules, and Output service all use standard CMS EDM framework base classes, supported by the CMS EDM Framework Group Major components are the serialize and deserialize utilities, and format Streamer output module writes to shared memory handled by Resource Broker, (supported by DQM group). Network transfer via I2O (XDAQ) Other data network transfer uses http (cURL and XDAQ http server) Serialization and deserialization using Root The Root class descriptions are used to convert event-by-event the object data into a serial byte stream Various “messages” are formed and either written to file or sent over the network

Storage Manager Overview L3 Review of SM Software, 28 Oct Architecture Two XDAQ applications: StorageManager & SMProxyServer

Storage Manager Overview L3 Review of SM Software, 28 Oct DQM Function Manager Illustration of Function Manager hierarchy

Storage Manager Overview L3 Review of SM Software, 28 Oct Serialized data messages

Storage Manager Overview L3 Review of SM Software, 28 Oct Serialized event data files Streamer event data file format and index file format. (Index files to aid Tier-0 processing) Consists of concatenated serialized event data messages (i.e. same code/format for network and files) A file format for temporary files used within Tier-0

Storage Manager Overview L3 Review of SM Software, 28 Oct Serialized DQM messages Serialized DQM data messages only used for network transfer of data (not for files)