Proposals 4 parts Virtual Accelerator Open CBCM Data Base Cycle Server Quick Fix.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
MICHAEL MARINO CSC 101 Whats New in Office Office Live Workspace 3 new things about Office Live Workspace are: Anywhere Access Store Microsoft.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
Computer Organization and Architecture
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
Peter Chochula, January 31, 2006  Motivation for this meeting: Get together experts from different fields See what do we know See what is missing See.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Operating Systems.
CPU Describe the purpose of the CPU
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
W. Sliwinski – eLTC – 7March08 1 LSA & Safety – Integration of RBAC and MCS in the LHC control system.
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
Timing upgrades after LS1 Jean-Claude BAU BE-CO-HT1.
(Business) Process Centric Exchanges
WWWWhat timing services UUUUsage summary HHHHow to access the timing services ›I›I›I›Interface ›N›N›N›Non-functional requirements EEEExamples.
© 2004 Mercury Computer Systems, Inc. FPGAs & Software Components Graham Bardouleau & Jim Kulp Mercury Computer Systems, Inc. High Performance Embedded.
Lecture 11 Page 1 CS 111 Online Memory Management: Paging and Virtual Memory CS 111 On-Line MS Program Operating Systems Peter Reiher.
The CERN LHC central timing A vertical slice Pablo Alvarez Jean-Claude Bau Stephane Deghaye Ioan Kozsar Julian Lewis Javier Serrano.
The CERN LHC central timing A vertical slice
DDM Monitoring David Cameron Pedro Salgado Ricardo Rocha.
LHC BLM Software revue June BLM Software components Handled by BI Software section –Expert GUIs  Not discussed today –Real-Time software  Topic.
Session 1 Introduction  What is RADE  Technology  Palette  Tools  Template  Combined Example  How to get RADE  Questions? RADE Applications EN-ICE-MTA.
SPS Timing. Outline Timing table Modes of operation Mode switch mechanism External events Creating a timing table Timing event cleaning.
FGC Upgrades in the SPS V. Kain, S. Cettour Cave, S. Page, J.C. Bau, OP/SPS April
Sept-2003Jean-Claude BAU1 SEQUENCING AT THE PS Let’s take a quick tour.
1 LTC Timing AB/CO/HT Central timing hardware layout Telegrams and events Postmortem, XPOC LHC Central Timing API Fill the LHC Use Case Julian Lewis.
The CERN LHC central timing A vertical slice Pablo Alvarez Jean-Claude Bau Stephane Deghaye Ioan Kozsar Julian Lewis Javier Serrano.
Nov, F. Di Maio, M.Vanden Eynden1 CO Proposal concerning AB Front-End Software Responsibilities First detailed proposal based on the global Front-end.
FESA FRONT-END SOFTWARE ARCHITECTURE [FESA] Michel Arruat, Leandro Fernandez, Stephen Jackson, Frank Locci, Jean-Luc Nougaret, Maciej Peryt, Anastasiya.
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.
Memory Management. Why memory management? n Processes need to be loaded in memory to execute n Multiprogramming n The task of subdividing the user area.
1 LHC Timing Requirements and implementation J.Lewis for AB/CO/HT 21 st /Sep/06 TC presentation.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
CERN Timing Overview CERN timing overview and our future plans with White Rabbit Jean-Claude BAU – CERN – 22 March
1 Events for the SPS Legacy & Common Implications.
Systems, their relations & information. Concepts and Status of the new central service for tracking relations between CERN accelerator systems TE/MPE TM.
CO Timing Review: The OP Requirements R. Steerenberg on behalf of AB/OP Prepared with the help of: M. Albert, R. Alemany-Fernandez, T. Eriksson, G. Metral,
LHC machine protection close-out 1 Close-out. LHC machine protection close-out 2 Introduction The problem is obvious: –Magnetic field increase only a.
Industrial Control Engineering Session 1 Introduction  What is RADE  Technology  Palette  Tools  Template  Combined Example  How to get RADE 
LHC RT feedback(s) CO Viewpoint Kris Kostro, AB/CO/FC.
Software tools for digital LLRF system integration at CERN 04/11/2015 LLRF15, Software tools2 Andy Butterworth Tom Levens, Andrey Pashnin, Anthony Rey.
Two New UML Diagram Types Component Diagram Deployment Diagram.
Modularization of Geant4 Dynamic loading of modules Configurable build using CMake Pere Mato Witek Pokorski
Calliope-Louisa Sotiropoulou FTK: E RROR D ETECTION AND M ONITORING Aristotle University of Thessaloniki FTK WORKSHOP, ALEXANDROUPOLI: 10/03/2014.
1 Synchronization and Sequencing for high level applications Julian Lewis AB/CO/HT.
H2LC The Hitchhiker's guide to LSA Core Rule #1 Don’t panic.
FESA Overview Leandro Fernandez On behalf of the FESA Team 6/22/2010FESA Overview1.
Timing Review Evolution of the central and distributed timing How we got where we are and why What are its strengths and weaknesses.
Event Sources and Realtime Actions
V4.
Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir. A.C. Verschueren Eindhoven University of Technology Section of Digital.
LHC General Machine Timing (GMT)
Chapter 14: System Protection
Timing Review FESA Requirements with respect to the current Timing implementation FESA Team FE section TimingReview FESA Requirements.
Database involvement in Timing
Use of Multiple Devices
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
SAP R/3 Installation on WIN NT-ORACLE
Chapter 2: Operating-System Structures
LHC BLM Software audit June 2008.
Chapter 2: Operating-System Structures
OPERATING SYSTEMS MEMORY MANAGEMENT BY DR.V.R.ELANGOVAN.
Presentation transcript:

Proposals 4 parts Virtual Accelerator Open CBCM Data Base Cycle Server Quick Fix

About these proposals I am trying to present things in a logical order, not chronologically or in order of importance. This means I need to deal with ambiguities and definitions first. I am looking for simplifications

About Event payloads and telegrams Each event sent over the timing cable is able to piggyback a 16 bit payload. This payload can be used to pilot multiplexing in RT tasks and timing receiver hardware modules.  It can also be used for other things, beam energy for example. Today in the PS the payload is not used, it always contains zero. Today in the SPS the payload contains the USER and drives multiplexing.

More about payloads and telegrams A telegram is a way of distributing information about the current and next machine cycles. The telegram contains parameters such as User, Destination, Particle-Type etc. Each accelerator has its own custom built telegram that contains parameters relevant to that machine. The telegram is valid 1ms before the start of the cycle until 1ms before the end of the cycle.

Even more about... Telegrams suffer from an interpretation problem when an RT task is connected to a timing event close to the start of the cycle. If the event is a forewarning, the RT task must use the NEXT cycle description. If the event occurs after the start cycle the PRESENT must be used. Great care must be taken when moving events around. Payloads do not suffer from this problem because the multiplex parameter is carried in the event itself.

Finally on payloads and telegrams The payload in the CPS complex timing is always zero, multiplexing is done by using the USER parameter from the telegram. Using other parameters in the telegram to drive multiplexing can break the archives  Double and Triple PPM multiplexes on other parameters without breaking the archives by storing extra data with the user. Conclusion  Payloads are a better way of driving multiplexing

Virtual Accelerator and the Telegram in front ends Because a USER is a collection of VAs, and because we multiplex on USER, the RT tasks in the front ends, and timing receiver modules, need telegrams at run time in order to choose which VA to instantiate from the USER settings.  So... if multiplexing was on VA rather than USER, then RT tasks and timing receiver modules would not need telegrams. All telegram libraries, double and triple PPM, REGA could be suppressed. A lot of RT task and hardware logic that decides on which VA to instantiate would no longer be needed. The central timing logic that calculates telegrams could be suppressed.

VA subclasses USER U1U2U3 D1D2D3 USERDestination Telegram VA Selects Inherits The VA just addresses directly Telegram addresses in two stages (Double PPM!!)‏ The amount of memory used is the same All can be archived by USER Etc

What is the CBCM ? CERN Central Beam and Cycle Manager  It manufactures the timing for the LHC Injector Chain, and the ADE.  It builds the telegrams needed by the front end computers to produce settings from USER/s.  External conditions logic determines which cycles/beams to execute.  Other logic tunes the telegrams. It sends corresponding timing events FIDO is used to encode all this behaviour  FIDO is user hostile, flexible, and not open and transparent. Expert only

Open CBCM a proposal Principles  It must be transparent, open and simple  Use one approach to LHC and LIC timing Build an enhanced version of the MTT card (PCI bus running under Linux).  It should be easy and simple to maintain  Operations must have full control over its behaviour.  It should be able to respond rapidly to external triggers, Dump, Fast Economy Mode Switch

Open CBCM  All FIDO logic is suppressed.  SIS controls cycle requests and hence which cycles/beams execute.  Cycle variations (Virtual Accelerators) are represented as event tables running on the MTT.  Event tables are stored in Oracle/LSA archives in VA archives. No on the fly cycle modifications.  Input channel available allows using it to transmit real time data such as Beam Energy, Safe Beam Flags, Post Mortem Switch...  Sending telegrams is still optional

External conditions Data Base Cycle/VA Server VA Event tables and SIS conditions Permissions Va 3 Va 2 Va 1 Start Time BP Clock FILTERFILTER All machine timing events High Performance Link LegacyLegacy New Edit BCD Tree BCD Apps Conditions Central timing tree UTC MTT Matrix SIS acquisitions Event Table Builder

PSB VA CPS VA 1 CPS VA 2 CPS VA 3 Beam tree Spare Normal Instance of VA in BCD Start period, duration machine StcFwEtcPw Start = BP + Offset - FwMTT Event table for a VA Rende's law: The forewarning of any cycle should be less than the length of the cycle itself Therefore: Anyone VA can never execute more than twice at the same time Therefore: We need two virtual processors per accelerator

Open CBCM conclusion SIS determines which VAs can be played  Standard open operational tool  The central timing plays what it can ! Cycle Variations are VAs loaded as event tables  They are just archives  Each VA has a set of hardware conditions used by SIS to form the request Result  Completely open standard system  Very simple principles  No special FIDO logic  One approach for all accelerators  Telegrams/VA are still optional for the rest of controls Keep them in the event table

Applications and telegrams Why do applications need to be sent telegrams ?  Because they need to know what's going on ! Today telegrams are calculated on the fly by the CBCM so that the front ends can instantiate a VA from the USER data. the telegram. They already have them in the archives, all they need to know is which VA is playing by subscribing to an XTIM... If multiplexing was on VA, then application would not need to be SENT the telegram. They already have them in the archives, all they need to know is which VA is playing by subscribing to an XTIM...

Applications and VA An application can subscribe to a timing event for synchronization (XTIM). When the event arrives it carries the VA ID in its payload. It uses this payload to obtain whatever data from the VA archive it needs. It can do this by accessing the cache of a data base cycle/VA server  Its time to have a way to subscribe to data in Oracle via JAPC/FESA

Virtual Accelerator summing up The VA accesses cycle descriptions in the data base cached and maintained at the application level across JAPC. We no longer need to send telegrams, but we can if we want. The VA is in the event payload. It drives all front-end multiplexing, and application access to run time cycle description for applications. All telegram libraries, Java packages and telegram subscriptions are not needed. We can survive with XTIM subscriptions only. Many simplifications can be made in the front ends, the central timing and in applications. Only standard kit is needed, middleware DB

Data Base Cycle Server Replaces most of the Java telegram application package. Standard device/property JAPC interface. Access to cached cycle descriptions is available at run time. Access to Cycles(tgm), Beams and BCDs is available. Access could be by User, but VA is better. XML file could be produced automatically and accessed in front ends to get some cycle data. (Not the XML file Michel was talking about)‏

TGM Cache Oracle Tgm Server Tgm Server Oracle dataSerialized objects Beams Cycles BCDs Beams Cycles BCDs DTMXTIM Telegram or Event Updates Cache BeforeAfter XML Front ends Data Base Cycle Server Java applications Java applications JAPC RMI

Data Base Cycle Server summing up The TGM Java Package functionality is replaced by a server under DM/OP responsibility. This server has a cache which is updated when a new Central timing configuration is available. (by an event if VA, or by telegram). This server could be extended to cover the VA needs should we decide to go that way. Only telegram event handling is left in TGM, and it would go away completely should we decide on VA. Nothing is wasted here, no matter what we decide

Quick Fix a stepping stone Quick Fix  Looks at what we have today and fixes users immediate complaints.  This makes use of controls standards and suppresses DTM  It does not make any fundamental changes, and keeps a lot of old code running in Java and in the front ends.  We would throw away some of this work if we choose VA. (E.g. FESA subscriptions to the telegrams).

DTM GMT Get-Tgm Events SHMEMSHMEM Tgm SEMSEM Sync C/C++ Generic Client TGM Ap Java C/C++ Generic Client C/C++ Generic Client Socket To Windows and Office computers TgmLib RMI server

FESA/Middleware GMT Get-Tgm Events SHMEMSHMEM Tgm SEMSEM Sync C/C++ Generic Client TGM Ap Java C/C++ Generic Client C/C++ Generic Client To Windows and Office computers TgmLib FESA DTM has gone Clients use middle ware to get telegrams Need to implement FESA Tgm Server JAPC Power user DB server

Quick Fix Is the middleware subscription mechanism adequate and can it handle the large load ?  Yes Java clients subscribe in standard way to a FESA telegram server.  So we need to implement a telegram server Legacy clients can still use the Tgm package  We add a new back end to the Tgm Java package to call the FESA server. C and C++ still supported  We add a new back end to get_tgm daemon No more DTM.. Yeah !! Easy to do, but orthogonal to VA

Questions Should we multiplex on payloads in the PS ? Should we launch a study on the consequences of VA ?  Should we replace USER by VA ? Yes  Should we stop sending telegrams ?  Should we go for Quick Fix or Big bang ?  Should we go for Open CBCM ? No  We must implement Quick Fix  We must keep telegrams  Can we still use VA for Open CBCM ? No How to maintain the existing system ? How to improve it and open it up ?