Speaker
Description
The adoption of asyn/portDriver as a standard interface for EPICS (Experimental Physics and Industrial Control System) records has been integral to various control system projects at SLAC. Renowned for its stability, well-documented behavior, and reduced incidence of bugs, asyn/portDriver offers a straightforward and efficient means of developing EPICS drivers without necessitating extensive programming for device support. However, our endeavors revealed the necessity of crafting custom device support for specialized cases, such as the processing of records for Beam Synchronous Acquisition (BSA) and its associated services which requires EPICS IOC (Input/Output Controller) to manage and update a large volume of records with rapid rates. Consequently, we encountered heightened CPU load and performance degradation when operating numerous EPICS IOCs on a single server.
Our investigation into the elevated CPU load, memory footprint, and other performance metrics pertaining to BSA Process Variables (PVs) and their associated services involved a comparative analysis between asyn/portDriver and customized device support. Our findings demonstrated that custom device support yielded superior performance, with reduced CPU load and a smaller memory footprint. As a result, we transitioned to utilizing custom device support specifically for BSA and its related services, while retaining asyn/portDriver for most other generic records due to its myriad benefits.
In this presentation, we share detailed insights gleaned from our test results and performance enhancements achieved through the adoption of custom device support. Additionally, we recount our successful experiences with asyn/portDriver, underscoring its continued relevance and efficacy in EPICS control systems.