Speaker
Description
The co-ordination of many processes/threads across many machines is a task intrinsic to plant, acquisition and machine control for all sufficiently complicated experimental devices. Although Inter-Process-Communication protocols have been developed for many applications, following decades of Tokamak operations at the Swiss Plasma Center, we decided to ask what specific messages, specifically state-changing messages, were helpful in synchronising and/or monitoring a heterogeneous set of collaborative computers that surround such experiments such as our TCV tokamak.
This contribution presents the design criteria of our CESIS server/client software that was inspired from the simplicity, yet high usefulness, of the MDSplus UDP event-packet broadcast approach. CESIS was implemented as a C-language shareable library client and server together with a Python calling class. Particular attention was taken to aim at thousands of events able circulate per second and to permit many such servers to co-exist, even on the same machine. A preliminary installation to monitor the plant and acquisition systems on the TCV tokamak is presented and simple extensions to integrate state-changes with local program stacks explained. Simplified to require minimise dependencies, the design, and example code run well on very minimal hardware employing state-less UDP packets with error checking and reporting.