Speakers
Description
Summary
The data acquisition system (DAQ) of the COMPASS experiment is based on the DATE software originally developed for the ALICE experiment. From the hardware point of view the system can be divided into following layers: front-end electronics perform readout, data from multiple channels are assembled into subevents by concentrator modules and send to readout buffer servers, finally, the full events are reconstructed on event building servers. DATE software provides functionality for event building, run control, data quality monitoring, event sampling, information reporting, data filtering, load balancing, and interactive configuration. As the system does not scale well with increasing data and trigger rates, research and development of the new DAQ architecture has started. The new system replaces readout buffers and event builders with a custom made hardware based on the field programmable gate array (FPGA) technology. These cards would serve as multiplexers and data concentrators. Consequently, the software for this new architecture would implement the run control and monitoring facilities. The system is to be deployed on approximately thirty nodes. Because of the compatibility with the detector control system of the experiment, the communication between nodes should be based on the Distributed Information Management (DIM) library. Additionally, the new DAQ architecture must use the same data format as defined in the DATE package in order to guarantee compatibility with software for physical analysis. We have used these restrictions to define the proposal of the software architecture. According to the proposal several different processes should participate in the system. The Master process acts as the central node. It receives commands from users and forwards them to the slave processes that should be deployed on FPGA cards, standard x86 or x64 server machines, or data concentrator modules. The slave processes receive these commands and return information about health of underlying hardware and itself. The Master collects all information about health and publishes summarized report. Each process can also send information and debug messages to the logger process; these messages can be browsed in the message browser application. We have decided to use the Qt framework for the implementation of master, GUI, message browser, and message logger processes. As the slave processes should be deployed on various architectures including embedded Linux powered by softcore processor on the FPGA card, the C++ language has been used to develop slave functionality. The proposed architecture has been implemented and extensively tested at CERN, the system fulfills the performance requirements. In the nearest future the system will be tested on real hardware under the real conditions. It is expected to have the fully functional version of the system prepared for further tests under real conditions in 2013. If the these tests succeed the system will replace the current DAQ in 2014.