English

Multi-threaded Output in CMS using ROOT

Distributed, Parallel, and Cluster Computing 2019-10-02 v1

Abstract

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 \texttt{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.

Keywords

Cite

@article{arxiv.1905.02113,
  title  = {Multi-threaded Output in CMS using ROOT},
  author = {Daniel Riley and Christopher Jones},
  journal= {arXiv preprint arXiv:1905.02113},
  year   = {2019}
}

Comments

Submitted to CHEP 2018 - 23rd International Conference on Computing in High Energy and Nuclear Physics; 6 pages, 4 figures, uses webofc class