Multi-threaded Object Streaming. Issue 4 (December 2015) - Guida, Salvatore Di; Govi, Giacomo; Ojeda, Miguel; Pfeiffer, Andreas; Sipos, Roland
Abstract: The CMS experiment at the Large Hadron Collider (LHC) at CERN, Geneva, Switzerland, is made of many detectors which in total sum up to more than 75 million channels. The detector monitoring information of all channels (temperatures, voltages, etc.), detector quality, beam conditions, and other data crucial for the reconstruction and analysis of the experiment's recorded collision events is stored in an online database. A subset of that information, the "conditions data", is copied out to another database from where it is used in the offline reconstruction and analysis processing, together with alignment data for the various detectors. Conditions data sets are accessed by a tag and an interval of validity through the offline reconstruction program CMSSW, written in C++. About 400 different types of calibration and alignment exist for the various CMS sub-detectors. With the CMS software framework moving to a multi-threaded execution model, and profiting from the experience gained during the data taking in Run-1, a major re-design of the CMS conditions software was done. During this work, a study was done to look into possible gains by using multi-threaded handling of the conditions. In this paper, we present the results of that study.