# Multi-threaded Output in CMS using ROOT

**Authors:** Daniel Riley, Christopher Jones

arXiv: 1905.02113 · 2019-10-02

## TL;DR

This paper discusses enhancements to CMS's ROOT output module enabling efficient multi-threaded data output, significantly improving scalability on multi-core architectures by leveraging new ROOT features.

## Contribution

Introduces a new parallel output module for CMS ROOT data processing using TBufferMerger and Implicit Multi-Threading to improve scalability beyond 8 cores.

## Key findings

- Achieved improved multi-core scaling for CMS output tasks.
- Demonstrated compatibility of new output module with CMS framework.
- Showed performance gains with the new multi-threaded output system.

## 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.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1905.02113/full.md

## Figures

8 figures with captions in the complete paper: https://tomesphere.com/paper/1905.02113/full.md

## References

4 references — full list in the complete paper: https://tomesphere.com/paper/1905.02113/full.md

---
Source: https://tomesphere.com/paper/1905.02113