GSI, Oct 2005Hans G. Essel DAQ Control1 H.G.Essel, J.Adamczewski, B.Kolb, M.Stockmeier.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Threads, SMP, and Microkernels
Distributed Processing, Client/Server and Clusters
Control Systems for Future GSI, May , 2003 Control System Requirements for the CBM detector Burkhard Kolb GSI HADES.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Computer Systems/Operating Systems - Class 8
Technical Architectures
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
MIT iCampus iLabs Software Architecture Workshop June , 2006.
Application architectures
Figure 1.1 Interaction between applications and the operating system.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
1 I/O Management in Representative Operating Systems.
SIMULATING ERRORS IN WEB SERVICES International Journal of Simulation: Systems, Sciences and Technology 2004 Nik Looker, Malcolm Munro and Jie Xu.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Architectural Software Support for Processing Clusters Johannes Gutleber, Luciano Orsini European Organization for Nuclear Research Div. EP/CMD, The CMS.
Computer System Architectures Computer System Software
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
SensIT PI Meeting, January 15-17, Self-Organizing Sensor Networks: Efficient Distributed Mechanisms Alvin S. Lim Computer Science and Software Engineering.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
Fault Tolerance Issues in the BTeV Trigger J.N. Butler Fermilab July 13, 2001.
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
The RTES Project – BTeV, and Beyond Michael J. Haney 1 Shikha Ahuja 2, Ted Bapty 2, Harry Cheung 3, Zbigniew Kalbarczyk 4, Akhilesh Khanna 4, Jim Kowalkowski.
The Pipeline Processing Framework LSST Applications Meeting IPAC Feb. 19, 2008 Raymond Plante National Center for Supercomputing Applications.
A TCP/IP transport layer for the DAQ of the CMS Experiment Miklos Kozlovszky for the CMS TriDAS collaboration CERN European Organization for Nuclear Research.
Fault Tolerance and Adaptation in Large Scale, Heterogeneous, Soft Real-Time Systems RTES Collaboration (NSF ITR grant ACI ) Paul Sheldon Vanderbilt.
IMPROUVEMENT OF COMPUTER NETWORKS SECURITY BY USING FAULT TOLERANT CLUSTERS Prof. S ERB AUREL Ph. D. Prof. PATRICIU VICTOR-VALERIU Ph. D. Military Technical.
Boosting Event Building Performance Using Infiniband FDR for CMS Upgrade Andrew Forrest – CERN (PH/CMD) Technology and Instrumentation in Particle Physics.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems CSCI-6140 – Computer Operating Systems David Goldschmidt, Ph.D.
April 2000Dr Milan Simic1 Network Operating Systems Windows NT.
Z. Kalbarczyk K. Whisnant, Q. Liu, R.K. Iyer Center for Reliable and High-Performance Computing Coordinated Science Laboratory University of Illinois at.
Control in ATLAS TDAQ Dietrich Liko on behalf of the ATLAS TDAQ Group.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
DAQ Control GSI, Aug 2005Hans G. Essel CBM - DAQ Control1 MBS monitor (FOPI) (J.Adamczewski, M.Stockmeier)
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
7. CBM collaboration meetingXDAQ evaluation - J.Adamczewski1.
Processes Introduction to Operating Systems: Module 3.
Data Acquisition Backbone Core J. Adamczewski-Musch, N. Kurz, S. Linev GSI, Experiment Electronics, Data processing group.
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
GSI, Oct 2005Hans G. Essel DAQ Control1 H.G.Essel, J.Adamczewski, B.Kolb, M.Stockmeier FAIR Controls.
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
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.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
DemoSystem2004 RTES Collaboration (NSF ITR grant ACI ) Real-Time and Embedded Technology & Applications Symposium (IEEE) FALSE II Workshop San Francisco,
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Connecting LabVIEW to EPICS network
1 Channel Access Concepts – IHEP EPICS Training – K.F – Aug EPICS Channel Access Concepts Kazuro Furukawa, KEK (Bob Dalesio, LANL)
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Control System Overview J. Frederick Bartlett Fermilab June 1,1999.
LonWorks Introduction Hwayoung Chae.
Online Software November 10, 2009 Infrastructure Overview Luciano Orsini, Roland Moser Invited Talk at SuperB ETD-Online Status Review.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Two New UML Diagram Types Component Diagram Deployment Diagram.
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
Introduction to Operating Systems Concepts
Self Healing and Dynamic Construction Framework:
Protocols and the TCP/IP Suite
ARMOR-based Hierarchical Fault/Error Management
Software Engineering with Reusable Components
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Protocols and the TCP/IP Suite
EPICS: Experimental Physics and Industrial Control System
Presentation transcript:

GSI, Oct 2005Hans G. Essel DAQ Control1 H.G.Essel, J.Adamczewski, B.Kolb, M.Stockmeier

GSI, Oct 2005Hans G. Essel DAQ Control2 Example CMS: event building and filtering 40 MHz Collision rate 100 kHz output from trigger ports switching fabric 5-10 TeraOps processing sub-cluster 1 Terabit/sec channels ~800 Gb/sec full connectivity 100 Mbytes/sec output to Petabyte archive and output to world- wide data grid Detectors 500 Readout Units Buffer incoming data and Serve it upon request 500 Builder Units combine the data from the RUs DAQ Cluster

GSI, Oct 2005Hans G. Essel DAQ Control3 CMS: blueprint for clustered DAQ

GSI, Oct 2005Hans G. Essel DAQ Control4 CMS DAQ: requirements Communication and Interoperability –Transmission and reception within and across subsystem boundaries without regard of the used protocols –Addition of protocols without a need for modifications in the applications Device Access –Access to custom devices for configuration and readout –Access to local and remote devices (bus adapters) without the need for modifications in applications Configuration, control and monitoring –Make parameters of built-in or user defined types visible and allow their modification –Allow the coordination of application components (define their states and modes) –Allow the inspection of states and modes –Provide services for recording structured information Logging, error reporting Interface to persistent data stores (preferrably without the need to adapt the applications) Publish all information to interested subscribers –Device allocation, sharing and concurrent access support Maintainability and Portability –Allow portability across operating system and hardware platforms –Support access for data across multiple bus systems –Allow addition of new electronics without changes in user software –Provide memory management functionality to Improve robustness Give room for efficiency improvements –Application code shall be invariant with respect to the physical location and the network –Possibility to factorise out re-usable building blocks Scalability –Overhead introduced by the software environment must be constant for each transmission operation and small with respect to the underlying communication hardware in order not to introduce unpredictable behaviour –Allow applications to take advantage of additional resource availability Flexibility –Allow the applications to use multiple communication channels concurrently –Addition of components must not decrease the system’s capacity

GSI, Oct 2005Hans G. Essel DAQ Control5 CMS XDAQ XDAQ is a framework targeted at data processing clusters –Can be used for general purpose applications –Has its origins in the I 2 O (Intelligent IO) specification The programming environment is designed as an executive –A program that runs on every host –User applications are C++ programmed plug-ins –Plug-ins are dynamically downloaded into the executives –The executive provides functionality for Memory management Systems programming queues, tasks, semaphores, timers Communication Asynchronous peer-to-peer communication model Incoming events (data, signals, …) are demultiplexed to callback functions of application components Services for configuration, control and monitoring Direct hardware access and manipulation services Persistency services

GSI, Oct 2005Hans G. Essel DAQ Control6 XDAQ Availability Platform OSCPUDescription Linux (RH)x86Baseline implementation Mac OS XPPC G3, G4no HAL, no raw Ethernet PT SolarisSparcno HAL, ro raw Ethernet PT VxWorksPPC 603, Intel x86no GM Current version:1.1 Next releases:V 1.2 in October 2002 (Daqlets) V 1.3 in February 2003 (HAL inspector) Change control:Via sourceforge: Version control:CVS at CERN License:BSD style

GSI, Oct 2005Hans G. Essel DAQ Control7 XDAQ: References J. Gutleber, L. Orsini, « Software Architecture for Processing Clusters based on I 2 O », Cluster Computing, the Journal of Networks, Software and Applications, Baltzer Science Publishers, 5(1):55-64, 2002 (goto for a draft version or contact me) The CMS collaboration, “CMS, The Trigger/DAQ Project”, Chapter 9 - “Online software infrastructure”, CMS TDR-6.2, in print (contact me for a draft), also available at G. Antchev et al., “The CMS Event Builder Demonstrator and Results with Myrinet”, Computer Physics Communications 2189, Elsevier Science North- Holland, 2001 (contact E. Barsotti, A. Booch, M. Bowden, “Effects of various event building techniques on data acquisition architectures”, Fermilab note, FERMILAB- CONF-90/61, USA, 1990.

GSI, Oct 2005Hans G. Essel DAQ Control8 XDAQ event driven communication Dynamically loaded application modules (from URL, from file) Inbound/Outbound queue (pass frame pointers, zero-copy) Homogeneous frame format Readout component Generates a DMA completion event Application component Implements callback function foo( ) Peer transport Receives messages from network Executive framework Demultiplexes incoming events to listener application component Computer

GSI, Oct 2005Hans G. Essel DAQ Control9 XDAQ: I 2 O peer operation for clusters Application component device Processing node IOP Controller node host Homogeneous communication –frameSend for local, remote, host –single addressing scheme (Tid) Application framework Executive Messaging Layer Peer Transport Agent Messaging Layer Executive Peer Transport Agent   ‚  „     Peer Transport Application I 2 O Message Frames

GSI, Oct 2005Hans G. Essel DAQ Control10 XDAQ: available peer transports TransportDescriptionMulticast TCP/IPReliable binary messages over various physical networksemulated UDPUnreliabe binary message over various physical networksnative FIFOLocal communication among components within the same executiveemulated GMReliable binary messages over Myrinetemulated MAZEReliable barrel shifter binary messages over Myrinetno EthernetUnreliable binary messages using raw Ethernet frames (only on VxWorks OS) emulated UNICUnreliable binary messages using raw Ethernet frames (only on Linux OS, planned in V1.3) emulated SOAP/HTTPReliable delivery of XML documents over various physical networksNo (emulated planned) SOAP/MailReliable delivery of XML documents over SMTP (planned for V1.3) no

GSI, Oct 2005Hans G. Essel DAQ Control11 XDAQWin client Daqlet window Daqlets are Java applets that can be used to customize the configuration, control and monitoring of all components in the configuration tree Configuration tree XML based configuration of a XDAQ cluster

GSI, Oct 2005Hans G. Essel DAQ Control12 XDAQ: component commands Configuration tree Predefined commands can be performed on selected XDAQ components (multiple selection allowed) Commands can be issued to groups of components: executives, applications, peer-transports; this enables true cluster operation.

GSI, Oct 2005Hans G. Essel DAQ Control13 XDAQ: component properties Component Properties Allows the inspection and modification of components’ exported parameters.

GSI, Oct 2005Hans G. Essel DAQ Control14 XDAQ: interface export User Commands Allows the execution of any exported command, including the command to reflect the interface Interface Query Returns all exported commands. Transition to WSDL planned Cluster commands Results from multiple components can be displayed.

GSI, Oct 2005Hans G. Essel DAQ Control15 BTeV: a 20 THz real-time system Input: 800 GB/s (2.5 MHz) Level 1 –Lvl1 processing: 190  s rate of 396 ns –528 “8 GHz” G5 CPUs (factor of 50 event reduction) –high performance interconnects Level 2/3: –Lvl 2 processing: 5 ms (factor of 10 event reduction) –Lvl 3 processing: 135 ms (factor of 2 event reduction) –1536 “12 GHz” CPUs commodity networking Output: 200 MB/s (4 kHz) = 1-2 Petabytes/year

GSI, Oct 2005Hans G. Essel DAQ Control16 BTeV: The problem Monitoring, Fault Tolerance and Fault Mitigation are crucial –In a cluster of this size, processes and daemons are constantly hanging/failing without warning or notice Software reliability depends on –Physics detector-machine performance –Program testing procedures, implementation, and design quality –Behavior of the electronics (front-end and within the trigger) Hardware failures will occur! –one to a few per week Given the very complex nature of this system where thousands of events are simultaneously and asynchronously cooking, issues of data integrity, robustness, and monitoring are critically important and have the capacity to cripple a design if not dealt with at the outset… BTeV [needs to] supply the necessary level of “self-awareness” in the trigger system. Real Time Embedded System

GSI, Oct 2005Hans G. Essel DAQ Control17 BTeV: RTES goals High availability –Fault handling infrastructure capable of Accurately identifying problems (where, what, and why) Compensating for problems (shift the load, changing thresholds) Automated recovery procedures (restart / reconfiguration) Accurate accounting Extensibility (capturing new detection/recovery procedures) Policy driven monitoring and control Dynamic reconfiguration –adjust to potentially changing resources Faults must be detected/corrected ASAP –semi-autonomously with as little human intervention as possible –distributed & hierarchical monitoring and control Life-cycle maintainability and evolvability –to deal with new algorithms, new hardware and new versions of the OS

GSI, Oct 2005Hans G. Essel DAQ Control18 RTES deliverables A hierarchical fault management system and toolkit: –Model Integrated Computing GME (Generic Modeling Environment) system modeling tools –and application specific “graphic languages” for modeling system configuration, messaging, fault behaviors, user interface, etc. –ARMORs (Adaptive, Reconfigurable, and Mobile Objects for Reliability) Robust framework for detection and reaction to faults in processes –VLAs (Very Lightweight Agents for limited resource environments) To monitor/mitigate at every level –DSP, Supervisory nodes, Linux farm, etc.

GSI, Oct 2005Hans G. Essel DAQ Control19 RTES Development The Real Time Embedded System Group –A collaboration of five institutions, University of Illinois University of Pittsburgh University of Syracuse Vanderbilt University (PI) Fermilab NSF ITR grant ACI Physicists and Computer Scientists/Electrical Engineers at BTeV institutions

GSI, Oct 2005Hans G. Essel DAQ Control20 RTES structure Analysis Runtime Design and Analysis Algorithms Fault Behavior Resource Synthesis Performance Diagnosability Reliability Experiment Control Interface Synthesis Feedback Modeling Reconfigure Logical Data Net Region Operations Mgr L2,3/CISC/RISCL1/DSP Region Fault Mgr Logical Data Net Logical Control Network Global Fault Manager Global Operations Manager Soft Real Time Hard

GSI, Oct 2005Hans G. Essel DAQ Control21 GME: simple meta model example

GSI, Oct 2005Hans G. Essel DAQ Control22 GME: simple model made from this meta model

GSI, Oct 2005Hans G. Essel DAQ Control23 GME: data type modeling Modeling of Data Types and Structures Configure marshalling- demarshalling interfaces for communication

GSI, Oct 2005Hans G. Essel DAQ Control24 RTES: GME modeling environment  Fault handling  Process dataflow  Hardware Configuration

GSI, Oct 2005Hans G. Essel DAQ Control25 RTES: system architecture RunControl Manager Router Information How many regions ? How many worker nodes inside the region? Node Identification information

GSI, Oct 2005Hans G. Essel DAQ Control26 Configuration of ARMOR Infrastructure (A) Modeling of Fault Mitigation Strategies (B) Specification of Communication Flow (C) A B C RTES: GME fault mitigation modeling language (1)

GSI, Oct 2005Hans G. Essel DAQ Control27 RTES: GME fault mitigation modeling language (2) Model translator generates fault-tolerant strategies and communication flow strategy from FMML models Strategies are plugged into ARMOR infrastructure as ARMOR elements ARMOR infrastructure uses these custom elements to provide customized fault-tolerant protection to the application ARMOR ARMOR Microkernel Fault Tolerant Custom Element FMML Model – Behavior Aspect Communication Custom Element Switch(cur_state) case NOMINAL: I f (time<100) { next_state = FAULT; } Break; case FAULT if () { next_state = NOMINAL; } break; class armorcallback0:public Callback { public:ack0(ControlsCection *cc, void *p) : CallbackFaultInjectTererbose>(cc, p) { } void invoke(FaultInjecerbose* msg) { printf("Callback. Recievede dtml_rcver_LocalArmor_ct *Lo; mc_message_ct *pmc = new m_ct; mc_bundle_ct *bundlepmc->ple(); pmc->assign_name(); bundle=pmc->push_bundle();mc); } }; Translator

GSI, Oct 2005Hans G. Essel DAQ Control28 RTES: user interface modeling language Enables reconfiguration of user interfaces Structural and data flow codes generated from models User Interface produced by running the generated code Example User Interface Model

GSI, Oct 2005Hans G. Essel DAQ Control29 RTES: user interface generation Generato r

GSI, Oct 2005Hans G. Essel DAQ Control30 ARMOR Adaptive Reconfigurable Mobile Objects of Reliability: –Multithreaded processes composed of replaceable building blocks –Provide error detection and recovery services to user applications Hierarchy of ARMOR processes form runtime environment: –System management, error detection, and error recovery services distributed across ARMOR processes. –ARMOR Runtime environment is itself self checking. 3-tiered ARMOR support of user application –Completely transparent and external support –Enhancement of standard libraries –Instrumentation with ARMOR API ARMOR processes designed to be reconfigurable: –Internal architecture structured around event-driven modules called elements. –Elements provide functionality of the runtime environment, error-detection capabilities, and recovery policies. –Deployed ARMOR processes contain only elements necessary for required error detection and recovery services. ARMOR processes resilient to errors by leveraging multiple detection and recovery mechanisms: –Internal self-checking mechanisms to prevent failures from occurring and to limit error propagation. –State protected through checkpointing. –Detection and recovery of errors. ARMOR runtime environment fault-tolerant and scalable: –1-node, 2-node, and N-node configurations.

GSI, Oct 2005Hans G. Essel DAQ Control31 ARMOR system: basic configuration Heartbeat ARMOR Detects and recovers FTM failures Fault Tolerant Manager Highest ranking manager in the system Daemons Detect ARMOR crash and hang failures ARMOR processes Provide a hierarchy of error detection and recovery. ARMORS are protected through checkpointing and internal self-checking. Execution ARMOR Oversees application process (e.g. the various Trigger Supervisor/Monitors) Daemon Fault Tolerant Manager (FTM) Daemon Heartbeat ARMOR Daemon Exec ARMOR App Process network

GSI, Oct 2005Hans G. Essel DAQ Control32 EPICS overview EPICS is a set of software components and tools to develop control systems. The basic components are: OPI (clients) –Operator Interface. This is a UNIX or Windows based workstation which can run various EPICS tools (MEDM, ALH, OracleArchiver). IOC (server) –Input Output Controller. This can be VME/VXI based chassis containing a Motorola 68xxx processor, various I/O modules, and VME modules that provide access to other I/O buses such as GPIB, CANbus. LAN (communication) –Local area network. This is the communication network which allows the IOCs and OPIs to communicate. EPICS provides a software component, Channel Access, which provides network transparent communication between a Channel Access client and an arbitrary number of Channel Access servers.

GSI, Oct 2005Hans G. Essel DAQ Control33 Basic attributes of EPICS Tool Based: –EPICS provides a number of tools for creating a control system. This minimizes the need for custom coding and helps ensure uniform operator interfaces. Distributed: –An arbitrary number of IOCs and OPIs can be supported. As long as the network is not saturated, no single bottle neck is present. A distributed system scales nicely. If a single IOC becomes saturated, it's functions can be spread over several IOCs. Rather than running all applications on a single host, the applications can be spread over many OPIs. Event Driven: –The EPICS software components are all designed to be event driven to the maximum extent possible. For example rather than having to poll IOCs for changes, a channel access client can request that it be notified only when changes occur. This design leads to efficient use of resources as well as to quick response times. High Performance: –A SPARC based workstation can handle several thousand screen updates a second with each update resulting from a channel access event. A IOC can process more than 6,000 records per second including generation of any channel access events.

GSI, Oct 2005Hans G. Essel DAQ Control34 IOC software components DATABASE: –The memory resident database plus associated data structures. Database Access: –Database access routines. With the exception of record and device support, all access to the database is via the database access routines. Scanners: –The mechanism for deciding when records should be processed. Record Support: –Each record type has an associated set of record support routines. Device Support: –Each record type has one or more sets of device support routines. Device Drivers: –Device drivers access external devices. A driver may have an associated driver interrupt routine. Channel Access: –The interface between the external world and the IOC. It provides a network independent interface to database access. Monitors: –Database monitors are invoked when database field values change. Sequencer –A finite state machine.

GSI, Oct 2005Hans G. Essel DAQ Control35 Hierarchy in a flat system tasks IOC Client IOCs –One IOC per standard CPU (Linux, Lynx, VxWorks) clients –on Linux, (Windows) Agents –Segment IOCs beeing also clients Name space architecture!

GSI, Oct 2005Hans G. Essel DAQ Control36 Local communication (node) status segment IOC Task intertask commands messages memory Task command thread working thread message thread Commands handled by threads Execution maybe in working thread Message thread maybe not needed Node

GSI, Oct 2005Hans G. Essel DAQ Control37 MBS node and monitor IOC External control asynchronous IOC status segment Dispatcher Task commands (text) messages (text) Task Messageserver Statusserver asynchronous on request

GSI, Oct 2005Hans G. Essel DAQ Control38 Screen shot FOPI

GSI, Oct 2005Hans G. Essel DAQ Control39 Kind of conclusion RTES: Very big and powerful. Not simply available! –Big collaboration –Fully modelled and simulated using GME –ARMORs for maximum fault tolerance and control XDAQ: Much smaller. Installed at GSI. –Dynamic configurations (XML) –Fault tolerance? EPICS: From accelerator controls community. Installed at GSI –Maybe best known –No fault tolerance –Not very dynamic