EPICS Release 3.15 Bob Dalesio May 19, 2000. Features for 3.15 Support for large arrays - done for rsrv in 3.14 Channel access priorities - planned to.

Slides:



Advertisements
Similar presentations
1 1999/Ph 514: Channel Access Concepts EPICS Channel Access Concepts Bob Dalesio LANL.
Advertisements

EPICS Base R and beyond Andrew Johnson Computer Scientist, AES Controls Group.
Channel Access Enhancements J. Hill. R3.14 Enhancements Large array support in the portable server –nearly complete –a priority for SNS Port syntax for.
EPICS Architecture Version 3 Channel Access Client (CAC) Connection Data Transfers WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS)
Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009 Real-Time Data Transfer using the Timing System (Original slides and driver code by Babak Kalantari)
Inter Process Communication:  It is an essential aspect of process management. By allowing processes to communicate with each other: 1.We can synchronize.
CS533 - Concepts of Operating Systems
V4 – Executive Summary 1.Provide online add/delete of I/O to support continuous operation. 2.Provide redundant control of remote I/O to support improved.
Integrating Acquired Subsystems Bob Dalesio 09/21/99.
SLAC asyn class, Day 1, August 26, 2010 Example asyn driver Modbus Mark Rivers, Marty Kraimer, Eric Norum University of Chicago Advanced Photon Source.
Computer Measurement Group, India Reliable and Scalable Data Streaming in Multi-Hop Architecture Sudhir Sangra, BMC Software Lalit.
Computers & Employment By Andrew Attard and Stephen Calleja.
ISO Layer Model Lecture 9 October 16, The Need for Protocols Multiple hardware platforms need to have the ability to communicate. Writing communications.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
M. Menelaou CCNA2 DYNAMIC ROUTING. M. Menelaou DYNAMIC ROUTING Dynamic routing protocols can help simplify the life of a network administrator Routing.
UNIX SVR4 COSC513 Zhaohui Chen Jiefei Huang. UNIX SVR4 UNIX system V release 4 is a major new release of the UNIX operating system, developed by AT&T.
An Introduction to Software Architecture
LWIP TCP/IP Stack 김백규.
NETWORK TOPOLOGIES HNC COMPUTING - Network Concepts 1 Network Concepts Topologies.
Imperial College Tracker Slow Control & Monitoring.
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
J. Hill. Overview  Introduction  LANSCE Requirements  EPICS Event Queue  Event Queue Upgrade  Milestones.
Tunis International Centre for Environmental Technologies Small Seminar on Networking Technology Information Centers UNFCCC secretariat offices Bonn, Germany.
EPICS Direction to Support Large Projects and Incorporate New Technology Leo R. Dalesio 09/21/99.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Introduction to Concurrency.
1 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Channel Access Concepts Kazuro Furukawa, KEK, ( ) (Bob Dalesio, LANL,
1 Concurrency Architecture Types Tasks Synchronization –Semaphores –Monitors –Message Passing Concurrency in Ada Java Threads.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
1 File Management Chapter File Management n File management system consists of system utility programs that run as privileged applications n Concerned.
VTP VLAN Trunking Protocol Create once and send to the other switches.
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.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
EPICS EPICS Limitations Bob Dalesio Marty Kraimer.
Reliability/ Secure IOC / Outlook M. Clausen / DESY 1 CA-Put Logging BurtSave Warm Reboot Matthias Clausen DESY/ MKS.
Jini Architecture Introduction System Overview An Example.
1 1999/Ph 514: Flow of Control EPICS Flow of Control Marty Kraimer APS.
GLOBAL EDGE SOFTWERE LTD1 R EMOTE F ILE S HARING - Ardhanareesh Aradhyamath.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
EPICS Release 3.15 Bob Dalesio May 19, Features for 3.15 Support for large arrays Channel access priorities Portable server replacement of rsrv.
B. Dalesio, N. Arnold, M. Kraimer, E. Norum, A. Johnson EPICS Collaboration Meeting December 8-10, 2004 Roadmap for IOC.
Controls Zheqiao Geng Oct. 12, Autosave Additions/Upgrades and Experiences at SLAC Zheqiao Geng Controls Department SLAC National Accelerator Laboratory.
1 Channel Access Concepts – IHEP EPICS Training – K.F – Aug EPICS Channel Access Concepts Kazuro Furukawa, KEK (Bob Dalesio, LANL)
1 EPICS Flow of Control: EPICS Workshop at IHEP, Beijing, August 2001 EPICS Flow of Control Marty Kraimer APS.
Control System Overview J. Frederick Bartlett Fermilab June 1,1999.
Berliner Elektronenspeicherringgesellschaft für Synchrotronstrahlung mbH (BESSY) CA Gateway Update Ralph Lange, BESSY Ken Evans Jr., APS Jeff Hill, LANL.
LonWorks Introduction Hwayoung Chae.
VTP VLAN Trunking Protocol Create once and send to the other switches. VTP is a messaging protocol that uses Layer 2 trunk frames to manage the addition,
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Coupling and Cohesion Schach, S, R. Object-Oriented and Classical Software Engineering. McGraw-Hill, 2002.
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
System Components Operating System Services System Calls.
SQL Database Management
Credits: 3 CIE: 50 Marks SEE:100 Marks Lab: Embedded and IOT Lab
LWIP TCP/IP Stack 김백규.
Integration of Blu-Ice into
File Transfer and access
Software Design Lecture : 9.
Training Module Introduction to the TB9100/P25 CG/P25 TAG Customer Service Software (CSS) Describes Release 3.95 for Trunked TB9100 and P25 TAG Release.
An Introduction to Software Architecture
Chapter 2: Operating-System Structures
Introduction to Operating Systems
Channel Access Concepts
EPICS: Experimental Physics and Industrial Control System
Chapter 2: Operating-System Structures
Message Passing Systems Version 2
Channel Access Concepts
Message Passing Systems
Presentation transcript:

EPICS Release 3.15 Bob Dalesio May 19, 2000

Features for 3.15 Support for large arrays - done for rsrv in 3.14 Channel access priorities - planned to be done for 3.14 Portable server replacement of rsrv – multi thread locks, Remove gdd and use new abstract base class Put confirmation Variable length characters strings Unlimited PV name length - possible in 3.14 with small changes Periodic Monitors Replace database link support Beyond – extend the channel access protocol to support archive data, multidimensional arrays, and statistical data

Support for Large Arrays The current limitation on the ability to send large arrays is in channel access. The limitation is that any value (array) is expected to be sent in 1 packet People have created an image record as a work around for passing large arrays This is the item that has been on out list of things to do in channel access the longest

Variable Length Character Strings, Unlimited Name Length Currently database fields are limited to 40 characters. This was a limitation of channel access that has been fixed The database is now in need of changing string handling to support this Variable length strings would support the ability to archive operator comments as the channel archiver already supports any type available in channel access. Channel name lengths are currently limited to 36 character. (I hope that no channel access clients have placed this number into the code)

Portable server replacement of RSRV, replace GDD with a new data object Currently there are two channel access servers to maintain: rsrv which serves the EPICS database and the portable server which serves all other data stores. This creates a problem for maintenance. The portable server requires GDD and until recently GDD has not been reliable. Now that GDD is reliable, it is still not lightweight. In the most common case, EPICS sends data along with a time stamp and alarm condition. For this case, GDD is about 2x bigger that the current approach. The new data object could improve the situation for composite data, by providing a mechanism for sending composite parameters only when they change. This would be made transparent for current channel access clients.

Synchronized Put w/ Confirmation / Rate Limited Monitors When an application requires puts to be made to all IOCs, there are several factors that make the time of the puts uncertain –for many puts, the buffer may be flushed from the client side in the middle –the delay to place the value into the database is dependent on the time it takes to scan all records and therefore different from IOC to IOC A new mechanism will be provided to place the put request into the IOC and state that it will be executed later. Execution is either at a certain time or when an execute command is received. Notification of a missed schedule would be important. Currently the database only supports monitor at the frequency of the record processing. New values are sent to clients when either a deadband is exceeded or the alarm condition changes. This causes a problem for a large channel access client like the archiver. If a channel is being archived, the rate to place the values on the disk may be set to control disk usage. When this rate is slower than the monitor rate, network and CPU bandwidth are wasted on the client computer. Rate limited monitors in the IOC would prevent this. Currently, the archiver has a threshold to determine if it should use monitor or caGet.

Database and Channel Access Priorities Interwoven Currently, the database supports three priorities for each scan mechanism. These are set in the process database with a database configuration tool. The priorities given to the scan tasks are only relative to the given scan mechanism. Highest priority is given to record processing and then the channel access client interface. This limits control over the degradation of the system by allowing the scanning of some less important records to inhibit an important client message (like synchronized put or close loop control between IOCs. The modification would use the priority field in the records to determine if the database scan task is to run above high priority channel access, above medium priority channel access, or above the current priority channel access.

Replace Link Support The connection between device support and the database now consists of two fields: DTYP and INP. We are looking to combine this into one description which would allow multiple I/O addresses to different drivers per record type. To verify addresses at configuration time, a supported address type has to be specified. Adding these types is currently a difficult task. We have worked around this using the to pass non-parsed ascii to the device support layer. The new link support will make it simple to add parse routines for these addresses. The current interface between the database and the device support layer does not support the ability to change address fields during operation. The device support layer that would support this ability now, must always check to see if the address has changed and take some action. The new support will add entry points to device support for before_address_is_changed and after_address_is_changed so that the device support can clean up old connections and make new ones.

Some Observations Regarding Release We have been taking between months between releases. Our releases have become more and more robust. Occasionally, a bug is introduced in a new release, however. You should proceed with caution. All releases are made in beta until they are fully installed on a major project (read APS), and have been running successfully in production. Beta releases are intended for use by members of the collaboration that are willing to help test the new code (or those that are working with test stands or absolutely must have the new features to meet requirements). The ability to improve this schedule is limited by several factors that are not uncommon in the world of software development: trained manpower limitations, the need to support people on the existing software tends to fall on the person that is most familiar with the code, to install a new set of functionality properly requires the programmer to fully understand the existing implementation. There is hope to fix this situation with the addition of some new talent. We have several excellent programmers (that have joined this meeting) that we hope to have actively working on IOC core.

Conclusions EPICS has been divided into IOC Core and extensions to allow the collaboration to make frequent and independent modifications to channel access client programs, new record support and new device/driver support. This has allowed frequent modification of these tools. Modifications to EPICS are always based on the input of experts in accelerator physics. It is only through their valuable experience that we learn how to make useful tools. We are grateful for each kind criticism that they are willing to share with the community. Their knowledge has been gained by years of experience and the sharing of this knowledge helps to teach us all how to make successful control systems at our home institutions. In the first training session, when we first talked about what EPICS is, there were many slides to describe the collaboration. That is because we are building a tool-set that is based on our combined knowledge and experience. Each new release reflects the introduction of new ideas from the people in our community.