Optimizing ROOT IO For Analysis
Brian Bockelman, Zhe Zhang, Jim Pivarski

TL;DR
This paper enhances the ROOT I/O system used in high-energy physics by optimizing data decompression and API efficiency to improve analysis performance, balancing space and speed for large-scale experiment data.
Contribution
It introduces new bulk data reading APIs and evaluates the impact of LZ4 compression on decompression times, improving analysis workflows.
Findings
LZ4 reduces decompression times significantly
Bulk APIs lower per-event overhead
Performance improvements complement parallelism efforts
Abstract
The ROOT I/O (RIO) subsystem is foundational to most HEP experiments - it provides a file format, a set of APIs/semantics, and a reference implementation in C++. It is often found at the base of an experiment's framework and is used to serialize the experiment's data; in the case of an LHC experiment, this may be hundreds of petabytes of files! Individual physicists will further use RIO to perform their end-stage analysis, reading from intermediate files they generate from experiment data. RIO is thus incredibly flexible: it must serve as a file format for archival (optimized for space) and for working data (optimized for read speed). To date, most of the technical work has focused on improving the former use case. We present work designed to help improve RIO for analysis. We analyze the real-world impact of LZ4 to decrease decompression times (and the corresponding cost in disk…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
