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

Similar documents
EPICS KEK. Introduction Part I. Takashi Nakamoto June 25th, Based on presentation by Ned Arnold, APS.

Update on the. development in the UK. Valeria Bartsch, on behalf of CALICE-UK Collaboration

UNIT I Linux Utilities

EPICS: Experimental Physics and Industrial Control System. Control Architecture Reading Group

CL020 - Advanced Linux and UNIX Programming

Process Description and Control

CSI3131 Final Exam Review

Process Concepts. CSC400 - Operating Systems. 3. Process Concepts. J. Sumey

Lecture 15: I/O Devices & Drivers

Linux Driver and Embedded Developer

COPYRIGHTED MATERIAL. Table of Contents. Foreword... xv. About This Book... xvii. About The Authors... xxiii. Guide To The Reader...

Instrument Software Framework (ISF) A Small Scale Component Framework for Space

CIS 21 Final Study Guide. Final covers ch. 1-20, except for 17. Need to know:

Agenda Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2

3.1 Introduction. Computers perform operations concurrently

AIDA Advanced European Infrastructures for Detectors at Accelerators. Conference Contribution

Sistemas Operacionais I. Valeria Menezes Bastos

Test Beam Task List - ECAL

ni.com Integrating EPICS and LabVIEW

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto

Motivation: the Distributed Software Crisis Symptoms Hardware gets smaller, cheaper faster, Software gets larger, slower, more expensive Culprits Acci

CSE 451 Midterm 1. Name:

ELEC 377 Operating Systems. Week 1 Class 2

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT I

Threads Implementation. Jo, Heeseung

by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS

Lecture 5: Process Description and Control Multithreading Basics in Interprocess communication Introduction to multiprocessors

Department of Computer Science and Technology

Questions answered in this lecture: CS 537 Lecture 19 Threads and Cooperation. What s in a process? Organizing a Process

Produced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar

Chapter 5.6 Network and Multiplayer

Agenda. Threads. Single and Multi-threaded Processes. What is Thread. CSCI 444/544 Operating Systems Fall 2008

CHAPTER 3 - PROCESS CONCEPT

IO-Lite: A Unified I/O Buffering and Caching System

Operating System Architecture. CS3026 Operating Systems Lecture 03

Operating System Review

PATTERN-ORIENTED SOFTWARE ARCHITECTURE

CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University

AIDA-2020 Advanced European Infrastructures for Detectors at Accelerators. Presentation. A generic data acquisition software framework, EUDAQ2

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester

Collaboration of Tasks

CS370 Operating Systems

Process and Its Image An operating system executes a variety of programs: A program that browses the Web A program that serves Web requests

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus Instruction Division

Process Description and Control

UNIT I Linux Utilities and Working with Bash

CSCI 4717 Computer Architecture

Predictable Interrupt Management and Scheduling in the Composite Component-based System

I/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic)

CSC 4320 Test 1 Spring 2017

Processor : Intel Pentium D3.0 GigaHtz

Taming Dava Threads. Apress ALLEN HOLUB. HLuHB Darmstadt

Motivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4

Department of Computer applications. [Part I: Medium Answer Type Questions]

Reform: A Domain Specific Language

Chapter 4: Multi-Threaded Programming

Process. Program Vs. process. During execution, the process may be in one of the following states

CS350: Final Exam Review

CS5460: Operating Systems

Operating System Design

OS lpr. www. nfsd gcc emacs ls 1/27/09. Process Management. CS 537 Lecture 3: Processes. Example OS in operation. Why Processes? Simplicity + Speed

Mon Sep 17, 2007 Lecture 3: Process Management

Exam Guide COMPSCI 386

Lecture 4: Memory Management & The Programming Interface

Accelerator Control System

Electronics on the detector Mechanical constraints: Fixing the module on the PM base.

LINUX INTERNALS & NETWORKING Weekend Workshop

Yi Shi Fall 2017 Xi an Jiaotong University

Main Points of the Computer Organization and System Software Module

Software Development & Education Center

An Introduction to Software Architecture. David Garlan & Mary Shaw 94

OPERATING SYSTEMS. Systems with Multi-programming. CS 3502 Spring Chapter 4

Embedded System Curriculum

REAL TIME OPERATING SYSTEM PROGRAMMING-I: VxWorks

Remote Health Monitoring for an Embedded System

CHAPTER NO - 1 : Introduction:

Processes and Threads

POSIX Threads: a first step toward parallel programming. George Bosilca

IT 540 Operating Systems ECE519 Advanced Operating Systems

Australian Nuclear Science & Technology Organisation. Upgrade of the ANTARES Computer Control System and our experience of EPICS.

Scintillator Data Acquisition System

Operating Systems Overview. Chapter 2

INFN Padova INFN & University Milano

Kernel Internals. Course Duration: 5 days. Pre-Requisites : Course Objective: Course Outline

New WingLDA design. Julien Caudron

NI-DAQmx Basic Course NITS John Shannon

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Slide 6-1. Processes. Operating Systems: A Modern Perspective, Chapter 6. Copyright 2004 Pearson Education, Inc.

Lecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter

Outline. Threads. Single and Multithreaded Processes. Benefits of Threads. Eike Ritter 1. Modified: October 16, 2012

Module 12: I/O Systems

Process. Operating Systems (Fall/Winter 2018) Yajin Zhou ( Zhejiang University

CSE544 Database Architecture

Multithreading and Interactive Programs

Architectural Blueprint

HPS DAQ Operations Manual v2.4.2

Here to take you beyond. ECEP Course syllabus. Emertxe Information Technologies ECEP course syllabus

Industrial Embedded Systems - Design for Harsh Environment -

Transcription:

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

Detector & DAQ Hardware Layout ASIC Cs ASIC Cs ASIC Cs magnet ECAL HCAL FE DIF DIF DIF LDA VFE FE CCC-link Da ata-link ODR PC/s Store 2007-9-13 CALICE Collaboration Meeting 2

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 Opto ODR PC Driver 2007-9-13 CALICE Collaboration Meeting 3

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 systems of detectors Software to build event from bunch train data and disparate sources into single event data Manage Network and data storage 2007-9-13 CALICE Collaboration Meeting 4

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

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

Scenario I DAQ PC DAQ software for EUDET: Data Storage local store Scenario II DAQ PC RAID array Scenario III DAQ PC file in memory central central central store store 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 2007-9-13 CALICE Collaboration Meeting 7

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

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 2007-9-13 CALICE Collaboration Meeting 9

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 2007-9-13 CALICE Collaboration Meeting 10

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

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

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 2007-9-13 CALICE Collaboration Meeting 13

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

ACE Architecture The frameworks and patterns layer The C++ wrapper facade layer Operating system (OS) adaptation layer 2007-9-13 CALICE Collaboration Meeting 15

Main Functionalities of ACE ACE basics: Installation, ti 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... 2007-9-13 CALICE Collaboration Meeting 16

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

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? 2007-9-13 CALICE Collaboration Meeting 18

A C E Thanks to: David Bailey (Manchester), Paul D. (IC), Matthew Wing, Matt Wing, Valeria Bartsch (UCL) 2007-9-13 CALICE Collaboration Meeting 19

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 2007-9-13 CALICE Collaboration Meeting 20

Backup 2007-9-13 CALICE Collaboration Meeting 21

ACE Functionality (I) Logging Facility: good logging mechanism: Use basic logging and tracing techniques Enable and disable display of various logging message severities Customize t i 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 2007-9-13 CALICE Collaboration Meeting 22

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 multithread programs Active object and tasks managements 2007-9-13 CALICE Collaboration Meeting 23

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 2007-9-13 CALICE Collaboration Meeting 24

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(); 2007-9-13 CALICE Collaboration Meeting 25

ACE Functionality (V) ACE Acceptor: Passive Connection Establishment Handling of the connection after establishment ACE Connector: Active Connection Establishment Handling of the connection after establishment Uses TCP to establish the connection Uses U UNIX domain sockets to establish the connection 2007-9-13 CALICE Collaboration Meeting 26

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 2007-9-13 CALICE Collaboration Meeting 27

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

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 filteringi 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 t calorimeters being developed. 2007-9-13 CALICE Collaboration Meeting 29