The ALMA Common Software (ACS) is a software framework that provides the infrastructure for the Atacama
Large Millimeter Array and other projects. ACS, based on CORBA, offers basic services and common design
patterns for distributed software.
Every properly built system needs to be able to log status and error information. Logging in a single computer
scenario can be as easy as using fprintf statements. However, in a distributed system, it must provide a way to
centralize all logging data in a single place without overloading the network nor complicating the applications.
ACS provides a complete logging service infrastructure in which every log has an associated priority and
timestamp, allowing filtering at different levels of the system (application, service and clients). Currently the
ACS logging service uses an implementation of the CORBA Telecom Log Service in a customized way, using
only a minimal subset of the features provided by the standard.
The most relevant feature used by ACS is the ability to treat the logs as event data that gets distributed
over the network in a publisher-subscriber paradigm. For this purpose the CORBA Notification Service, which
is resource intensive, is used. On the other hand, the Data Distribution Service (DDS) provides an alternative
standard for publisher-subscriber communication for real-time systems, offering better performance and featuring
decentralized message processing.
The current document describes how the new high performance logging service of ACS has been modeled and
developed using DDS, replacing the Telecom Log Service. Benefits and drawbacks are analyzed. A benchmark
is presented comparing the differences between the implementations.