The CMS experiment performs its online event selection using two trigger levels: the level-one trigger, implemented in custom electronics, which selects approximately 100 kHz of events; and the high-level trigger (HLT), running on a farm of commercial computer nodes. The HLT processes fully assembled events, applying algorithms similar to those used in offline reconstruction, and selects a few kHz of events for storage on disk.

The Storage Manager and Transfer System is the last step in the CMS data acquisition system. It collects the events selected by the HLT algorithms and writes them to a distributed file system that acts as a buffer between the online DAQ system and the offline world where the data is processed. The data is sent to the EOS storage facility at CERN for long-term storage and processing by Tier-0 by the transfers service, designed and implemented by our team. The two main functions of this system are to allow data taking to continue even if the connectivity to Tier-0 at CERN is temporarily lost or degraded, and to be able to temporarily write data at rates larger than the available bandwidth to Tier-0.

One of the major software tasks and development work is related to the managing of a very large number of files, and merging them to a single file per luminosity section and stream. Fully merged files, residing in the cluster file system, are handled and transferred to their offline destination by the transfer service. In terms of storage medium, the chosen implementation is to run a lustre global file system, installed on hardware provided by a commercial company. The available space on the global file system for Run 3 is around 1.3 PB.

Our MIT team has designed all the software related to the file merger and transfer systems. We have also dealt with defining the characteristics and choosing the hardware that corresponds to the needs of the experiment. We operate and maintain that software and the storage hardware, and we provide 24 x 7 support for these services. The Lustre file system has been operational since 2015 throughout Run 2 and was fully replaced in 2021 with the Run 3 dedicated system. Our main work has been understanding, optimizing, maintaining, and continuously evaluating it.