Evolution of the EPICS Channel Access Protocol
M.R.Kraimer (ANL) L.R.Dalesio (BNL) K.Zagar*, M.Sekoranja (Cosylab)
Experimental Physics and Industrial Control System (EPICS) is one of the most widely deployed control system infrastructures in large experimental physics community. At EPICS' foundation are 1) the real-time process database, which allows integrators to build the control system from reusable building blocks (e.g., device drivers) into a coherent whole without much coding or other kind of development, and 2) the Channel Access protocol, which allows the database to be distributed across several computers in a scalable way. In this contribution, we describe the objectives of the next major EPICS release (v4). In particular, we focus on the improvements of the Channel Access protocol that will allow it to support additional functionality, such as structured process variable data (pvData) and client-specified filters. We also describe how this functionality is implemented while simultaneously further improving the Channel Access' performance (no-copy get, flow control improvements, beacon traffic reduction, zero-length queues, etc.). We also discuss potential for future improvements, such as use of IP multicast and a layer for implementing remote-procedure call style of communication.