Controls Group Archiving at Jefferson Lab (Presentation of work by Chris Larrieu)

Slides:



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

NGAS – The Next Generation Archive System Jens Knudstrup NGAS The Next Generation Archive System.
1 1999/Ph 514: Channel Access Concepts EPICS Channel Access Concepts Bob Dalesio LANL.
TagMaster Training 2013 GEN4 Software Applications
Remote Procedure Call (RPC)
Controls Group Archiver work at Jefferson Lab Chris Larrieu As told by Matt Bickley.
Jeffrey Hill.  LANSCE Requirements – a Review  EPICS Paradigm Shift – a Review  Status – What is Implemented  What is an Abstract Data Type?  Benefits.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
ManageEngine TM Applications Manager 8 Monitoring Custom Applications.
Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.
File System Implementation
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
Client/Server Software Architectures Yonglei Tao.
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
ODBC Open DataBase Connectivity a standard database access method developed by Microsoft to access data from any application regardless of which database.
2012 National BDPA Technology Conference Creating Rich Data Visualizations using the Google API Yolanda M. Davis Senior Software Engineer AdvancED August.
University of Bergen public domain software: SEISLOG Linux, data-acquisition system for standard PC and embedded lowcost, low-power solutions Terje Utheim.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter Oracle Server An Oracle Server consists of an Oracle database (stored data, control and log files.) The Server will support SQL to define.
History Server & API Christopher Larrieu Jefferson Laboratory.
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
111 EMC CONFIDENTIAL—INTERNAL USE ONLY NMC -- NW Administration NMC Team NetWorker 7.3 TOI July 28, 2005.
MySQL. Dept. of Computing Science, University of Aberdeen2 In this lecture you will learn The main subsystems in MySQL architecture The different storage.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Module 10: Monitoring ISA Server Overview Monitoring Overview Configuring Alerts Configuring Session Monitoring Configuring Logging Configuring.
Berliner Elektronenspeicherringgesellschaft für Synchrotronstrahlung mbH (BESSY) CA Proxy Gateway Status and Plans Ralph Lange, BESSY.
SUMA: A Scientific Metacomputer Cardinale, Yudith Figueira, Carlos Hernández, Emilio Baquero, Eduardo Berbín, Luis Bouza, Roberto Gamess, Eric García,
Update on a New EPICS Archiver Kay Kasemir and Leo R. Dalesio 09/27/99.
Chapter 7 File I/O 1. File, Record & Field 2 The file is just a chunk of disk space set aside for data and given a name. The computer has no idea what.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
3.14 Work List IOC Core Channel Access. Changes to IOC Core Online add/delete of record instances Tool to support online add/delete OS independent layer.
CLASS Information Management Presented at NOAATECH Conference 2006 Presented by Pat Schafer (CLASS-WV Development Lead)
Spring 2003 EPICS Collaboration Controls Group CZAR 2.0 (in development) Christopher A. Larrieu Chris Slominski.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last Class: Fault tolerance Reliable communication –One-one communication –One-many communication.
CE Operating Systems Lecture 17 File systems – interface and implementation.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition File System Implementation.
NetLogger Using NetLogger for Distributed Systems Performance Analysis of the BaBar Data Analysis System Data Intensive Distributed Computing Group Lawrence.
“Architecture” The outcome of top-level design, reflecting principal design decisions Can (and should) be modified and updated Analogous to architecture.
Online Monitoring System at KLOE Alessandra Doria INFN - Napoli for the KLOE collaboration CHEP 2000 Padova, 7-11 February 2000 NAPOLI.
1 Channel Access Concepts – IHEP EPICS Training – K.F – Aug EPICS Channel Access Concepts Kazuro Furukawa, KEK (Bob Dalesio, LANL)
EPICS and LabVIEW Tony Vento, National Instruments
The DCS Databases Peter Chochula. 31/05/2005Peter Chochula 2 Outline PVSS basics (boring topic but useful if one wants to understand the DCS data flow)
Channel Archiver Overview Jan Channel Archiver Channel Access client Stores samples in disk files Design target: handle values/sec Documentation,
UNICOS LHCLoggingDB Josef Hofer EN/ICE/SCD. Agenda The LHC Logging Database Purpose of the LHCLogging component Basic concepts Advanced concepts Logging.
Data Aging - Euthanasia Bob Dalesio. Data Management - Channel Data Allow recovery of unused data space Allow selective delete of channels Allow selective.
Control System Overview J. Frederick Bartlett Fermilab June 1,1999.
WebScan: Implementing QueryServer 2.0 Karl Geiger, Amgen Inc. BRS NA UG August 1999.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last Class: Fault tolerance Reliable communication –One-one communication –One-many communication.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
Module 4: Troubleshooting Web Servers. Overview Use IIS 7.0 troubleshooting features to gather troubleshooting information Use the Runtime Control and.
Chapter 11: File System Implementation
IS301 – Software Engineering Dept of Computer Information Systems
Data Flow Architecture
In-situ Visualization using VisIt
CSE-291 (Cloud Computing) Fall 2016
File System Implementation
Part 3 Design What does design mean in different fields?
Ch > 28.4.
Cover page.
Web Development Using ASP .NET
Server-Side Plugins Andrew Johnson, Ralph Lange
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Channel Access Concepts
EPICS: Experimental Physics and Industrial Control System
Channel Access Concepts
Presentation transcript:

Controls Group Archiving at Jefferson Lab (Presentation of work by Chris Larrieu)

Controls Group Development Efforts Archiving Engine History Data Access Interface Data Transforms

Controls Group JLAB Archiving Engine Standard C++: HP-UX aCC, Linux g++ Plug-in data acquisition modules Trigger Monitor Specialized pre/post event ring buffers Easy to add new ones Integrated relational database Configuration info Run log Data cross reference, grouping CORBA interface Efficient

Controls Group History Data Access Interface: Client Overview 1. Obtain archive reference 2. Initialize range (channel name, begin, end) 3. Manipulate (remote?) data 4. Pull to client side(?) 5. Use data locally.

Controls Group Accessing Local History Data Client Application CADataStore Class Data Manipulation Interface CADataStore Subclass CADataStore Subclass CADataStore Subclass Xarr formatCZAR format Frequency archiver format

Controls Group Adapting CADataStore To specialize CADataStore: Directory object  10 virtual functions Archive object  2 virtual functions Range object  4 virtual functions range_iterator object  1 virtual function

Controls Group Why Remote Access? Clients don’t require disk access (no disk mounts) For low-power data clients Put processing close to the data Future: cacheing common data requests

Controls Group Accessing Remote History Data Client Application CADataStore Class Data Manipulation Interface CADataStore Subclass CADataStore Subclass CADataStore Subclass Xarr formatCZAR format Frequency archiver format History Data Server

Controls Group Using CORBA Designed to support manipulation of distributed objects: ideal for history API. Open source implementation for UNIX / Windows (MICO 2.3.5) API uses but does not expose CORBA CORBA weaknesses not relevant for history API.

Controls Group When? Adaptor library by July Data manipulation API by September History server by December

Controls Group Producer / Consumer Model Producer pushes history records into FIFO Consumer pulls them out Transform consumes and produces First In, First Out ProducerConsumer records

Controls Group History records Collection of fields Name  Human-friendly label (e.g. “timestamp”) Standing  Computer-friendly label (primary, collating, auxiliary, …) Value  Interprets referenced data (run-time typing)  Inlined type-code switching  no virtual functions  Vector / scalar: real, integer, time, opaque

Controls Group Example: volatile CA history record “timestamp”CollatingScalar time “value”Primary “status”AuxiliaryScalar integer “severity”AuxiliaryScalar integer

Controls Group FIFO Packed field data Info record Provides static information about contained data (e.g. CA control info) Input record Conduit for writing sequential data (“write head”) push() advances field references Output record Conduit for retrieving sequential data (“read head”) pull() advances field references

Controls Group FIFO Schematic Input record Output record Field stat Field val Field ts Field stat Field val Field ts Memory block Next memory block

Controls Group Run-time Discovery Flexibility exacts performance penalty Extra level of indirection accessing data Dynamic typing implies dynamic memory management Mitigating factors Avoid rote OO approach of indiscriminate subclassing: better to inline switch statement than incur virtual function overhead. Primarily deal with large blocks of homogeneous data.

Controls Group Producer Create & describe info, data records dynamic_record info, data; info.add_field (…); data.add_field(…); …; Create fifo, specifying layout fifo * output = new fifo (info, data); Until done, assign to record then push. data[i] = x; data[j] = y; output->push();

Controls Group Consumer Reference input record, fields basic_record & irec = fifo.data(); basic_record::field & x = irec.collating(); basic_record::field & y = irec.primary(); Read and use data while ( fifo.pull() )  plot (x,y);

Controls Group Transform Consumer and producer Verify input record supplies compatible data Describe output fifo Consume input, generating output Single pass filters can work in parallel with others