ICS – Software Engineering Group 1 GeneralTime Proposal Status at SNS and Ideas for EPICS base David Thompson Sheng Peng Kay-Uwe Kasemir.

Slides:



Advertisements
Similar presentations
Categories of I/O Devices
Advertisements

Make This work with EPICS! 2006
Control System Studio (CSS) Data Access Layer (DAL) Kay Kasemir, Xihui Chen July 2009.
The eCos real-time operating system an open source tool to create embedded kernels and applications.
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
Jeffrey Hill.  LANSCE Requirements – a Review  EPICS Paradigm Shift – a Review  Status – What is Implemented  What is an Abstract Data Type?  Benefits.
Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009 Real-Time Data Transfer using the Timing System (Original slides and driver code by Babak Kalantari)
LOGO Chapter 1 Interrupt handling. hardware interrupt Under x86, hardware interrupts are called IRQ's. When the CPU receives an interrupt, it stops whatever.
OS Spring’03 Introduction Operating Systems Spring 2003.
Advanced OS Chapter 3p2 Sections 3.4 / 3.5. Interrupts These enable software to respond to signals from hardware. The set of instructions to be executed.
Target Online Software J. Leaver 01/12/ /06/2015Imperial College 2 Target Controller Software Software for Stage 1 upgrade nearing completion –Hardware.
1 Interrupts INPUT/OUTPUT ORGANIZATION: Interrupts CS 147 JOKO SUTOMO.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
I/O Systems CSCI 444/544 Operating Systems Fall 2008.
RTOS Design & Implementation Swetanka Kumar Mishra & Kirti Chawla.
1 Physical Clocks need for time in distributed systems physical clocks and their problems synchronizing physical clocks u coordinated universal time (UTC)
SNS Integrated Control System EPICS IOCs – Relational DB Connectivity Bridge A. Liyu, A. Zhukov.
© 2007 IBM Corporation IBM Global Engineering Solutions IBM Blue Gene/P Blue Gene/P Navigator.
Interrupts. What Are Interrupts? Interrupts alter a program’s flow of control  Behavior is similar to a procedure call »Some significant differences.
ICS – Software Engineering Group 1 The SNS General Time Timestamp Driver Sheng Peng & David Thompson.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Real-time Systems Lab, Computer Science and Engineering, ASU Linux Input Systems (ESP – Fall 2014) Computer Science & Engineering Department Arizona State.
DAT2343 Accessing Services Through Interrupts © Alan T. Pinck / Algonquin College; 2003.
Imperial College Tracker Slow Control & Monitoring.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
Ralph Lange: OPC Gateway (Device Support) OPC Gateway (Device Support) Ralph Lange – EPICS Collaboration Meeting March SSRF.
Redundancy. 2. Redundancy 2 the need for redundancy EPICS is a great software, but lacks redundancy support which is essential for some highly critical.
EPICS OPC Gateway Nov May 2002 CA Client->OPC: Andrei Makhnachev,DESY OPC-> CA Server: Kay-Uwe Kasemir, LANL OPC Experience: Matthias Clausen,
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
The Functions of Operating Systems Interrupts. Learning Objectives Explain how interrupts are used to obtain processor time. Explain how processing of.
Tami Meredith, Ph.D. CSCI  Devices need CPU access  E.g., NIC has a full buffer it needs to empty  These device needs are often asynchronous.
PVSSProxy The first piece of the MACS procedure framework (ProShell) Angela Brett.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
General Time Update David Thompson Epics Collaboration Meeting June 14, 2006.
SNS Integrated Control System Timing Clients at SNS DH Thompson Epics Spring 2003.
Time Management.  Time management is concerned with OS facilities and services which measure real time, and is essential to the operation of timesharing.
Basic Input/Output System
Online Software 8-July-98 Commissioning Working Group DØ Workshop S. Fuess Objective: Define for you, the customers of the Online system, the products.
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
1 CSE451 Architectural Supports for Operating Systems Autumn 2002 Gary Kimura Lecture #2 October 2, 2002.
1: Operating Systems Overview 1 Jerry Breecher Fall, 2004 CLARK UNIVERSITY CS215 OPERATING SYSTEMS OVERVIEW.
EPICS EPICS Collaboration Meeting Argonne National Laboratory drvTS improvements for soft timing EPICS Collaboration Meeting Argonne National Laboratory.
Fast Fault Finder A Machine Protection Component.
UNIX Unit 1- Architecture of Unix - By Pratima.
1 Timo Korhonen & Babak Kalantari PSI, Villigen, Switzerland 1. drvTS revisited 2. Wishlist 3. Current status 4. Proposal Updating IOC Time Capabilities.
New IP Drivers using drvIpac Module Driver:CANopen Carrier Driver:GPFC drvIpac ?? CANopen Tip810 CAN Tip810 mv162GPFCatc40vipc310vipc616 Module driver.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
1 1999/Ph 514: Channel Access Configuration EPICS Channel Access Configuration Andrew Johnson APS.
Controls Zheqiao Geng Oct. 12, Autosave Additions/Upgrades and Experiences at SLAC Zheqiao Geng Controls Department SLAC National Accelerator Laboratory.
Copyright © 2007 by Curt Hill Interrupts How the system responds.
Recen progress R93088 李清新. Recent status – about hardware design Finishing the EPXA10 JPEG2000 project. Due to the DPRAM problem can’t be solved by me,
1 Channel Access Concepts – IHEP EPICS Training – K.F – Aug EPICS Channel Access Concepts Kazuro Furukawa, KEK (Bob Dalesio, LANL)
Time Management.  Time management is concerned with OS facilities and services which measure real time.  These services include:  Keeping track of.
Hardware/Software Co-Verification with RTOS Application Code Michael Bradley, Mentor Graphics Kainian Xie, Hyperchip Inc.
SOC Consortium Course Material SoC Design Laboratory Lab 8 Real-time OS - 1 Speaker: Yung-Chih Chen Advisor: Prof. Chun-Yao Wang November 17, 2003 Department.
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
Cisco Routers Routers collectively provide the main feature of the network layer—the capability to forward packets end-to-end through a network. routers.
Microprocessor Systems Design I
Interrupt and Time Management in µC/OS-III
Processor Fundamentals
Accessing Services Through Interrupts
Server-Side Plugins Andrew Johnson, Ralph Lange
CSE 451: Operating Systems Autumn 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 596 Allen Center 1.
CSE 451: Operating Systems Autumn 2001 Lecture 2 Architectural Support for Operating Systems Brian Bershad 310 Sieg Hall 1.
CSE 451: Operating Systems Winter 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 412 Sieg Hall 1.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment. Phone:
Chapter 13: I/O Systems.
A very basic introduction
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

ICS – Software Engineering Group 1 GeneralTime Proposal Status at SNS and Ideas for EPICS base David Thompson Sheng Peng Kay-Uwe Kasemir

ICS – Software Engineering Group 2 Times used in EPICS l epicsTimeGetCurrent() “Now”, used to schedule tasks, delays, timeouts, … l epicsTimeGetEvent(event number) Used to time-stamp records. Event number might select … »“Now” (typically event # 0) »Time of last beam pulse »Time of last XYZ event »… l Different implementations for RTEMS, Posix, Win32, … almost all of which ignore the event number and simply pick the ‘system’ time from the OS i.e. GetCurrent() == GetEvent().

ICS – Software Engineering Group 3 iocClock l … implements epicsTimeGetCurrent()/GetEvent() for vxWorks as func. ptr. table. l Installs default handlers which call vxWorks’ NTP client routines. »We found some possible errors in the ‘ticksToSkip’ code. l iocClockRegister((*getCurrent)(), (*getEvent)()) allows users to install routines that access site- specific timing hardware »Only one user can register. »This will hide iocClock’s NTP implementation.

ICS – Software Engineering Group 4 drvTS l Installs its GetCurrent()/GetEvent() routines via iocClockRegister(). l Supports »NTP from boot host (different code from iocClock) »Custom soft time master & soft time slave protocol »Hooks for hardware timing system l Problem: No fall-back »For example, hardware timing system plug-in can’t tell drvTS to temporarily use NTP, or fall back further to system clock when NTP host is also inaccessible. »Complexity

ICS – Software Engineering Group 5 New: generalTime as currently used at SNS l Installs its GetCurrent()/GetEvent() routines via iocClockRegister(). l Supports various time source plug-ins, currently: »SNS hardware (utility board), vxWorks clock, NTP, CMOS clock. l Prioritizes the time sources »Always selects the “best available” time source, depending on whether an event time or the current time is requested. »When timing source reports error (no carrier, no connection to NTP host, …), the next available source is used. »One can add a custom timing source and still benefit from the existing timing sources as a fall-back.

ICS – Software Engineering Group 6 API (extending iocClockRegister) l General time calls: iocClockRegister(). l A time driver calls: generalTimeTpRegister(). Arguments: »Tcp_priority: Priority of current time function. »getCurrent: Pointer to current time function in your driver. »syncTime: A pointer to a function that general time calls to synchronize the time in the driver if needed. »Tep_priority: Priority of event time function. »getEvent: The event time function in your driver.

ICS – Software Engineering Group 7 API (Continued) l When an EPICS API function requests a current time or an event time, general time calls registered time functions in order of priority. l When a time driver returns OK the search for the time is stopped and that time is returned to the Epics system caller. l If the time function returns ERROR then the next lower priority driver is called. l The lowest priority time is the system time which should always be available, even if it is wrong.

ICS – Software Engineering Group 8 General time features: l General time is an Epics driver with device support. l The drvGeneralTime report function reports status and a list of time providers. l Device support provides string and ai record support for status of current time providers for both event time and current time lists.

ICS – Software Engineering Group 9 Idea behind generalTime generalTime: Implements epicsTimeGetCurrent & epicsTimeGetEvent Using a prioritized list of time sources drvSystemTime devSystemTime drvHWTimingSystem drvTimeNTP devTimeNTP drvTimeCMOS devTimeCMOS GeneralTime returns the highest priority time source available This is completely transparent to epics time and record processing functions. Each of the time sources also supports dbior and AI records, returning seconds since 1/1/1990 and stat/sevr for diagnostics displays.

ICS – Software Engineering Group 10 Proposal for EPICS base l Instead of iocClock (single Current/Event routine, user replaceable), use generalTime (prioritized list of routines, user configurable). l Don’t limit it to vxWorks. Make generalTime the common code. Timing sources are OS specific, with a “System clock” timing source provided for all OS as the default. l Maybe provide soft time slave timing source for all OS? Then drvTS can be simplified to be soft time master.