Next generation EPICS Communications Protocols

Download Report

Transcript Next generation EPICS Communications Protocols

Next Generation EPICS
Communications Protocols
Jeffrey O. Hill
LANL
Motivation
EPICS protocols essentially unchanged
since 1993
expanding EPICS user community
new supporting role: dissimilar system
integration
substantial improvements are possible
Expanding EPICS
Community
over 100 sites in collaboration
since Jan 1st 1998
20 sites added to the collaboration
> 75 new users have received EPICS training
large new projects based on multilaboratory collaborations have complex
new requirements
Significant Improvements
Possible
comprehensive process entity paradigm
better support for data acquisition
wide area network transparency
protocol compression
controlled degradation under load
client side API upgrade
Comprehensive Process
Entity Paradigm
Extensible Attribute Set
application expands set of named attributes
units, limits, process-passive, mesons per sec, etc
application defined container types
message passing to “process entities”
command completion
Generalized Matrix Data
client discovers N dimensional bounds of data
client addresses any hyper cube within bounds
eliminate string and vector size limits
Better Support for Data
Acquisition
application defined event types
servers post RF arch down events
clients subscribe for RF arch down events
when POWER>10KW
clients subscribe for periodic updates
consistent sample rate compared with periodic
queries originating from client
clients adjust server’s event queue length
WAN Transparency
plug-compatible directory service interfaces
wildcard queries
resource location monitoring
detection of name space collisions during resource installation
simplified configuration
strengthened security
kerberos, SSH tunnel etc
replace IP broadcast with IP multicast
WAN Guaranteed Quality of
Service
from the EPICS server
from next generation Internet protocols
of particular interest to projects on large
geographic scale
complex and expensive WAN
desire to route feedback control and process control
messages on the same network
Protocol Compression
increase information density of protocol
level 1
simply reorganize the protocol
level 2
adaptive Huffman coding of resource identifiers
fidelity controls for analog data streams (lossy
compression)
• client side “plug-ins” for compressed analog data
– possible symbioses with EPICS archiving tools
Controlled Degradation
Under Load
clients specify quality of service
adjustment of network data stream’s qualityof-service in IP kernel
adjustment of dispatch priority in the server
embed time stamp in server state-ofhealth-beacon
Improved Client Side API
simplified C++ client side API is easier to
extend and use
client API exports full functionality
currently in the server API
support multiple threads without requiring
vxWorks “task variables”
Uneventful Upgrade
large installed base of EPICS users
Simultaneous upgrade to a new version
results in too much risk
Backward compatibility must be
maintained
initial minor version number exchange
between client and server
replaceable protocol dispatch table
Benefits
Conclusions
 proposed changes are crucial facilitators for certain
applications
they are not trivial optimizations
 EPICS is increasingly used to integrate dissimilar
systems
careful attention to process entity paradigm is warranted
 proposed changes can be accomplished without
impacting backward compatibility
 increasing size of the EPICS user community increases
the practicality of devoting resource to this effort