Tao Wu CALICE Collaboration Meeting Prague, 11-13/Sep/2007

Slides:



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

System Area Network Abhiram Shandilya 12/06/01. Overview Introduction to System Area Networks SAN Design and Examples SAN Applications.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
1 Overview of DAQ system DAQ PC LDA ODR Detector Unit DIF CCC Detector Unit DIF Detector Unit DIF Detector Unit DIF Storage Control PC (DOOCS) DAQ PC ODR.
DOOCS framework for CALICE DAQ software Valeria Bartsch, Tao Wu UCLRHUL.
Figure 1.1 Interaction between applications and the operating system.
1 I/O Management in Representative Operating Systems.
GSI Operating Software – Migration OpenVMS to Linux Ralf Huhmann PCaPAC 2008 October 20, 2008.
Agenda Adaptation of existing open-source control systems from compact accelerators to large scale facilities.
DOOCS DAQ software for the EUDET prototype Valeria Bartsch (UCL) Andrzej Misiejuk (RHUL) Tao Wu (RHUL)
Minutes DAQ software discussion - 16/10/08. Priorities - to be ready before testbench is ready- LDA - ODR - DIF device server disentanglement (Tao, Barry,
Development of the DAQ software for the technical prototype: Status & Outlook Valeria Bartsch UCL.
1 Threads, SMP, and Microkernels Chapter 4. 2 Focus and Subtopics Focus: More advanced concepts related to process management : Resource ownership vs.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Bart Hommels Univeristy of Cambridge EUDET Annual Meeting, Ecole Polytechnique, Paris JRA3: DAQ Overview Objectives System Overview Status of.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Online Software 8-July-98 Commissioning Working Group DØ Workshop S. Fuess Objective: Define for you, the customers of the Online system, the products.
Bart Hommels (for Matthew Wing) EUDET ext. steering board JRA3 DAQ System DAQ System Availability updates: – DIF: Detector Interface – LDA:
1 1999/Ph 514: Flow of Control EPICS Flow of Control Marty Kraimer APS.
Update on the project - selected topics - Valeria Bartsch, Martin Postranecky, Matthew Warren, Matthew Wing University College London CALICE a calorimeter.
Status & development of the software for CALICE-DAQ Tao Wu On behalf of UK Collaboration.
11 th February 2008Brian Martlew EPICS for MICE Status of the MICE slow control system Brian Martlew STFC, Daresbury Laboratory.
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
1 EPICS Flow of Control: EPICS Workshop at IHEP, Beijing, August 2001 EPICS Flow of Control Marty Kraimer APS.
ECFA Workshop, Warsaw, June G. Eckerlin Data Acquisition for the ILD G. Eckerlin ILD Meeting ILC ECFA Workshop, Warsaw, June 11 th 2008 DAQ Concept.
January 2010 – GEO-ISC KickOff meeting Christian Gräf, AEI 10 m Prototype Team State-of-the-art digital control: Introducing LIGO CDS.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
Introduction to Operating Systems Concepts
Operating System Overview
Module 12: I/O Systems I/O hardware Application I/O Interface
Current Generation Hypervisor Type 1 Type 2.
Credits: 3 CIE: 50 Marks SEE:100 Marks Lab: Embedded and IOT Lab
CS 6560: Operating Systems Design
Online Control Program: a summary of recent discussions
Design and realization of Payload Operation and Application system of China’s Space Station Wang HongFei 首页.
Controlling a large CPU farm using industrial tools
CIMConnect Tools to enable equipment suppliers to efficiently develop powerful SECS/GEM interfaces.
Introduction to Operating System (OS)
Valeria Bartsch UCL David Decotigny LLR Tao Wu RHUL
CALICE/EUDET Electronics in 2007
Real-time Software Design
#01 Client/Server Computing
by Prasad Mane (05IT6012) School of Information Technology
Ch 15 –part 3 -design evaluation
Threads, SMP, and Microkernels
Objective Understand the concepts of modern operating systems by investigating the most popular operating system in the current and future market Provide.
Chapter 3: Operating-System Structures
Operating System Concepts
CS703 - Advanced Operating Systems
Chapter 1 Introduction to Operating System Part 5
Software models - Software Architecture Design Patterns
Process Description and Control
Lecture 4- Threads, SMP, and Microkernels
Chapter 2: Operating-System Structures
Operating Systems Lecture 1.
Operating Systems : Overview
Windows Server Administration Fundamentals
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Operating Systems : Overview
Channel Access Concepts
EPICS: Experimental Physics and Industrial Control System
Tools for the Automation of large distributed control systems
Chapter 2: Operating-System Structures
Objective Understand the concepts of modern operating systems by investigating the most popular operating system in the current and future market Provide.
Chapter 13: I/O Systems.
Channel Access Concepts
Sending data to EUROSTAT using STATEL and STADIUM web client
Module 12: I/O Systems I/O hardwared Application I/O Interface
#01 Client/Server Computing
Presentation transcript:

Tao Wu CALICE Collaboration Meeting Prague, 11-13/Sep/2007 CALICE-DAQ software Tao Wu CALICE Collaboration Meeting Prague, 11-13/Sep/2007

Detector & DAQ Hardware Layout ASICs ASICs ASICs … magnet DIF DIF DIF FE ECAL LDA HCAL VFE FE Data-link CCC-link PC/s ODR Store 2018/9/21 CALICE Collaboration Meeting

CALICE Collaboration Meeting DAQ Overview Detector Interface (DIF) – Sub-detector specific, in conjunction with detector groups DIF to LDA – Generic, Copper links (25Mbit) Link/Data Aggregator (LDA) – Data format – Clock/Commands fan-out LDA to ODR opto-links Off-Detector Receiver (ODR) ODR to disk – PCI-Express driver software Local Software DAQ Full blown Software DAQ ECAL Slab DIF LDA Opto PC ODR Opto Driver 2018/9/21 CALICE Collaboration Meeting

CALICE Collaboration Meeting DAQ software tasks Aim to develop a generic system Maximise use of off-the-shelf commercial components, cheap, scalable and maintainable Provide well defined interfaces between DAQ components to allow for simple upgrading or replacement in future without major re-design or cost Software control to integrate the rest of sub-systems of detectors Software to build event from bunch train data and disparate sources into single event data Manage Network and data storage 2018/9/21 CALICE Collaboration Meeting

DAQ software for Eudet: State Analysis State = Dead suceed failed Transition = PowerUp Transition = PowerDown State = Ready Transition = StartRun Transition = EndRun State = Running Transition = StartConfiguration Transition = EndConfiguration State = Configured Transition = BunchTrainStart Transition = BunchTrainEnd State = InBunchTrain 2018/9/21 CALICE Collaboration Meeting

DAQ software for EUDET: Transition: StartRun read system status DAQ PC DAQ PC DAQ PC file file file send run number & type RC FC Conf DB file Files to be written for book keeping: system status by DAQ PC run info by RC PC system status by FC file get number of configurations 2018/9/21 CALICE Collaboration Meeting

DAQ software for EUDET: Data Storage Scenario I Scenario II Scenario III DAQ PC DAQ PC RAID array DAQ PC file in memory local store central store central store central store which scenario to choose depending on the bandwidth with which the data gets produced: (I) up to 200Mbit/sec, (II) up to ~1600Mbit/sec, (III) from there on desirable to have files because transfer is easier and in case of timing problems error handling is easier, but keep system flexible for now 2018/9/21 CALICE Collaboration Meeting

What DAQ software should be used? An effort and exploration is focused on EPICS; An alternative candidate is ACE; I am looking into ACE framework. 2018/9/21 CALICE Collaboration Meeting

DAQ software candidate: EPICS What’s EPICS: Experimental Physics & Industrial Control System A World-wide Collaboration A Control System Architecture Network-based “client/server” model with Channel Access Protocol for passing data A distributed real-time database of machine values A Software Toolkit: A collection of software tools, comprehensive and scalable control system Successful cases: STAR/D0 … 2018/9/21 CALICE Collaboration Meeting

CALICE Collaboration Meeting So What Does it Do? EPICS tools are available to accomplish almost any typical Distributed Control System (DCS) functionality, such as: Remote Control & Monitoring of Technical Equipment Data Conversion/Filtering Closed Loop Control Access Security Equipment Operation Constraints Alarm Detection/Reporting/Logging Data Trending/Archiving/Retrieval/Plotting Automatic Sequencing Mode & Facility Configuration Control (save/restore) Modeling/Simulation Data Acquisition Data Analysis 2018/9/21 CALICE Collaboration Meeting

Canonical Form of an EPICS Control System Client Software MEDM OAG Apps ALH TCL/TK StripTool Perl Scripts Many, many others IOC CAS IOC Channel Access IOC Software EPICS Database Commercial Instruments Custom Chassis/Panels Sequence Programs Custom Programs Real-time Control Technical Equipment I/O Channel CA Server Application Process Variables Taken from the introduction course into EPICS 2018/9/21 CALICE Collaboration Meeting

IOC Software in One Slide EPICS IOC Software in One Slide Network (Channel Access) [IOC Software] EPICS “iocCore” services and routines [EPICS-supplied] Application Specific Database [of Records] Record Record Application Specific Programs [e.g. State Notation Language] Record Record Record Record Record Record Record Record Record Record Record Record Record Record Record Record Record Record Device/Driver Support [EPICS-supplied/user-extensible] New Device Support “Supported” Instruments “New” Equipment “Supported” Instruments “Supported” Instruments “Supported” Instruments Shared/Provided Required Optional Taken from the introduction course into EPICS 2018/9/21 CALICE Collaboration Meeting

Main features linked to CALICE-DAQ Network-based “client/server” model with Channel Access Protocol Rich Client Software & Channel Access Server Application and I/O Channel software Toolkits: Commercial Instruments, Custom Chassis/Panels and Technical Equipment Common uses Provide automated start-up sequences Provide fault recovery or transition to a safe state Provide automatic calibration of equipment Benefit from Run Control and record management 2018/9/21 CALICE Collaboration Meeting

ACE: alternative DAQ software candidate ADAPTIVE Communication Environment ACE is a free OO C++ toolkit, including reusable wrappers, classes and network programming frameworks, middlewares, which is portable & supportable in many Operation Systems. An off-the-shelf commercial components: Supported commercially by www.riverace.com 2018/9/21 CALICE Collaboration Meeting

CALICE Collaboration Meeting ACE Architecture The frameworks and patterns layer The C++ wrapper facade layer Operating system (OS) adaptation layer 2018/9/21 CALICE Collaboration Meeting

Main Functionalities of ACE ACE basics: Installation, Logging Facility, Containers Interprocess Communication: Sockets, Reactor, Proactor, Other IPC Types Process and Thread Management: Process, Signals, Thread, Thread Safety and Synchronization, Tasks and Active Object Pattern, Thread Pools Advanced ACE: Memory, Streams, Service Configurator, Acceptor & Connector, Naming Service, Message Queues Many topics uncovered ... 2018/9/21 CALICE Collaboration Meeting

ACE functionality vs CALICE DAQ DAQ software for EUDET ACE Transition state Service configurator, message queues Clock, control Process, signal, timers Book-keeping Logging Facility Data storage Memory, stream Network switch Acceptor, connector A/synchronous I/O capabilities Reactor, proactor Sub-detector talks Unicast, broadcast & multi-cast 2018/9/21 CALICE Collaboration Meeting

CALICE Collaboration Meeting Summary DAQ software tasks are reviewed. Use cases of DAQ software for EUDET are discussed in some conceptions. An effort of DAQ software candidates is made: EPICS and ACE Some comparisons are made between ACE functionalities and DAQ software needs. Trigger open discussions of DAQ software framework? Optional: EPICS or ACE? 2018/9/21 CALICE Collaboration Meeting

CALICE Collaboration Meeting A C E Thanks to: David Bailey (Manchester), Paul D. (IC), Matthew Wing, Matt Wing, Valeria Bartsch (UCL) 2018/9/21 CALICE Collaboration Meeting

CALICE Collaboration Meeting ACE reference ACE main site: http://www.cs.wustl.edu/˜schmidt/ACE.html Obtaining ACE: http://download.dre.vanderbilt.edu/ Linux Platform settings: #! /usr/bin/tcsh -f setenv ACE_ROOT /scratch0/wutao/ACE5.5/ACE_wrappers setenv LD_LIBRARY_PATH ${ACE_ROOT}/ace:${ACE_ROOT}/lib:\ ${LD_LIBRARY_PATH} setenv PATH "${PATH}:${ACE_ROOT}/bin“ Then ``make” to compile 2018/9/21 CALICE Collaboration Meeting

CALICE Collaboration Meeting Backup 2018/9/21 CALICE Collaboration Meeting

CALICE Collaboration Meeting ACE Functionality (I) Logging Facility: good logging mechanism: Use basic logging and tracing techniques Enable and disable display of various logging message severities Customize the logging mechanics … Interprocess Communication Service access point wrappers: sockets, FIFO, stream pipe Reactor & proactor: (a)synchronous I/O capabilities Other IPC: unicast, broadcast & multi-cast, files, pipes, FIFOs, share-memory stream 2018/9/21 CALICE Collaboration Meeting

ACE Functionality (II) Process & thread: Start and terminate, (a) synchronize processes & signals Thread management: creation, suspension, cancellation and deletion, locks, guards and conditions, sending, destroying, waiting, cooperation. Priorities and scheduling classes in pools Safety, synchronization and specific storage, and multi-thread programs Active object and tasks managements 2018/9/21 CALICE Collaboration Meeting

ACE Functionality (III) Rich array of memory management classes: manage dynamic memory (memory allocated from the heap): more flexible, can be changed at runtime. manage shared memory between processes: perform better, configured at compile time. Map Interface: LIFO/FIFO, ACE MMAP Memory Pool, ACE Shared Memory Pool, ACE Local Memory Pool Memory Protection Interface & Synchronic Interface 2018/9/21 CALICE Collaboration Meeting

ACE Functionality (IV) The streams A one-way stream to record and process messages. A Bidirectional Stream to implement a command stream ACE Stream Class: open(), close(), wait(); push(), pop(), top(), insert(), replace(), remove(); get(), put(); 2018/9/21 CALICE Collaboration Meeting

CALICE Collaboration Meeting ACE Functionality (V) ACE Acceptor: Passive Connection Establishment Handling of the connection after establishment ACE Connector: Active Connection Establishment Uses TCP to establish the connection Uses UNIX domain sockets to establish the connection 2018/9/21 CALICE Collaboration Meeting

ACE Functionality (VI) Naming Services: Type of name space A Single-Process Naming Context Sharing a Naming Context on One Node Sharing a Naming Context across the Network 2018/9/21 CALICE Collaboration Meeting

CALICE Collaboration Meeting Timing Consideration 1 run = several bunch trains 1 bunch train = many bunch crossings 1 bunch crossing = 1000 events LCIO: event-by-event Now no event is defined. 2018/9/21 CALICE Collaboration Meeting

DAQ system general R&D work Make possibilities as to what can be done in the VFE/FE, Assume reading out higher data rate and can definitely do anything lower. Using commercial, off-the-shelf products, cheap, scalable and maintainable. Backplaneless readout Identify bottlenecks in this concept, effects on the calorimeter system. Perform data reformating, calibration, linearisation & digital filtering Should be applicable to the HCAL - other non-calorimeter components Test-bench work and demonstration of workability of concept. Be able to provide DAQ for prototype calorimeters being developed. 2018/9/21 CALICE Collaboration Meeting