9-13 July 2018
Sofia, Bulgaria
Europe/Sofia timezone

Implementing Concurrent Non-Event Transitions in CMS

10 Jul 2018, 11:45
Hall 3 (National Palace of Culture)

Hall 3

National Palace of Culture

presentation Track 5 – Software development T5 - Software development


Christopher Jones (Fermi National Accelerator Lab. (US))


Since the beginning of the LHC Run 2 in 2016 the CMS data processing framework, CMSSW, has been running with multiple threads during production of data and simulation via the use of Intel's Thread Building Blocks (TBB) library. The TBB library utilizes tasks as concurrent units of work. CMS used these tasks to allow both concurrent processing of events as well as concurrent running of modules processing the same event. This design has served CMS well and has allowed jobs to utilize less memory per core as well as reduce the number of jobs that must be tracked by CMS's worflow management system. As CMS has begun to utilize greater number of threads in a job, the effect of serialization points in the framework has decreased job's CPU efficiency. One major serialization point occurs when the framework processes a non-Event transition. These transitions occur when a new Run or LuminosityBlock is to be processed. In this talk we will discuss how the different transitions define the processing model for CMSSW and how we were able to successfully allow concurrent processing of those transitions using TBB via task queues. We will also show CPU efficiency comparisons between the same work being done with and without the additional concurrency.

Primary author

Christopher Jones (Fermi National Accelerator Lab. (US))

Presentation Materials