Share Email Print
cover

Proceedings Paper • new

Selecting a simple, natively implemented middleware solution for the SALT control system
Author(s): Deneys S. Maartens; Janus D. Brink
Format Member Price Non-Member Price
PDF $14.40 $18.00
cover GOOD NEWS! Your organization subscribes to the SPIE Digital Library. You may be able to download this paper for free. Check Access

Paper Abstract

The Southern African Large Telescope (SALT) telescope control system is realised as a distributed control system, implemented predominantly in National Instruments’ LabVIEW. The telescope subsystems communicate using cyclic, state-based messages. Previously, we explored Data Distribution Service (DDS)—a data-centric publish-subscribe model for distributed application communication and integration, with the aim of using it as our primary communications middleware; however, obstacles uncovered during the implementation and roll-out of DDS prompted us to take a fresh look at the problem. We identified ZeroMQ (ZMQ) and NATS as possible alternative solutions. While ZMQ and NATS are both high-performance asynchronous messaging systems similar to DDS, the main difference between them is that ZMQ, in resemblance to DDS, is brokerless, whereas NATS is brokered. In a brokered system, the message broker mediates communication between a sender and a receiver, minimising the mutual awareness that applications need to have of each other in order to be able to exchange messages. Furthermore, less complexity is required in both the sender and the receiver of a message, when making use of a broker. A drawback of a broker, however, is that it may introduce a possible single point of failure. As a result of the simplicity of the client, coupled with the succinct NATS wire protocol, we were able to incorporate the NATS sender and receiver logic natively in our LabVIEW software. Taking advantage of a native solution removes the maintenance and deployment burden introduced by the use of an external C-language library, which is required for the use of both DDS and ZMQ. During our investigation of ZMQ we uncovered the same obstacles as we did with DDS, which involved the complexities of gracefully shutting down the communications logic when not using an object-oriented programming methodology. Due to legacy software, we have to maintain backward compatibility with a version of LabVIEW which predates the availability of built-in object-orientation in the language. This, coupled with the advantages of a native solution, led to the adoption of NATS as our messaging system. In this paper, we explore ZMQ and NATS as alternatives to DDS, accompanied with results of a performance evaluation of DDS, ZMQ and NATS against our home-grown legacy HTTP-based messaging implementation. We conclude with a summary and describe future work.

Paper Details

Date Published: 10 July 2018
PDF: 13 pages
Proc. SPIE 10707, Software and Cyberinfrastructure for Astronomy V, 107070E (10 July 2018); doi: 10.1117/12.2313106
Show Author Affiliations
Deneys S. Maartens, South African Astronomical Observatory (South Africa)
Janus D. Brink, South African Astronomical Observatory (South Africa)


Published in SPIE Proceedings Vol. 10707:
Software and Cyberinfrastructure for Astronomy V
Juan C. Guzman; Jorge Ibsen, Editor(s)

© SPIE. Terms of Use
Back to Top