Multi-threaded Output in CMS using ROOT

05/06/2019
by   Daniel Riley, et al.
0

CMS has worked aggressively to make use of multi-core architectures, routinely running 4- to 8-core production jobs in 2017. The primary impediment to efficiently scaling beyond 8 cores has been our ROOT-based output module, which has been necessarily single threaded. In this paper we explore the changes made to the CMS framework and our ROOT output module to overcome the previous scaling limits, using two new ROOT features: the TBufferMerger asynchronous file merger, and Implicit Multi-Threading. We examine the architecture of the new parallel output module, the specific accommodations and modifications that were made to ensure compatibility with the CMS framework scheduler, and the performance characteristics of the new output module.

READ FULL TEXT

page 2

page 5

research
12/10/2018

Optimizing Frameworks Performance Using C++ Modules Aware ROOT

ROOT is a core HEP framework which is used broadly in and outside HEP. A...
research
04/10/2018

Increasing Parallelism in the ROOT I/O Subsystem

When processing large amounts of data, the rate at which reading and wri...
research
04/11/2020

C++ Modules in ROOT and Beyond

C++ Modules come in C++20 to fix the long-standing build scalability pro...
research
09/03/2020

ScalAna: Automating Scaling Loss Detection with Graph Analysis

Scaling a parallel program to modern supercomputers is challenging due t...
research
09/07/2023

CXLMemUring: A Hardware Software Co-design Paradigm for Asynchronous and Flexible Parallel CXL Memory Pool Access

CXL has been the emerging technology for expanding memory for both the h...
research
01/11/2022

Asymptotic Behaviour of the Modified Likelihood Root

We examine the normal approximation of the modified likelihood root, an ...

Please sign up or login with your details

Forgot password? Click here to reset