Evolution of the ROOT Tree I/O

The ROOT TTree data format encodes hundreds of petabytes of High Energy and Nuclear Physics events. Its columnar layout drives rapid analyses, as only those parts (“branches”) that are really used in a given analysis need to be read from storage. Its unique feature is the seamless C++ integration, w...

Full description

Bibliographic Details
Main Authors: Blomer Jakob, Canal Philippe, Naumann Axel, Piparo Danilo
Format: Article
Language:English
Published: EDP Sciences 2020-01-01
Series:EPJ Web of Conferences
Online Access:https://www.epj-conferences.org/articles/epjconf/pdf/2020/21/epjconf_chep2020_02030.pdf
_version_ 1818891205311725568
author Blomer Jakob
Canal Philippe
Naumann Axel
Piparo Danilo
author_facet Blomer Jakob
Canal Philippe
Naumann Axel
Piparo Danilo
author_sort Blomer Jakob
collection DOAJ
description The ROOT TTree data format encodes hundreds of petabytes of High Energy and Nuclear Physics events. Its columnar layout drives rapid analyses, as only those parts (“branches”) that are really used in a given analysis need to be read from storage. Its unique feature is the seamless C++ integration, which allows users to directly store their event classes without explicitly defining data schemas. In this contribution, we present the status and plans of the future ROOT 7 event I/O. Along with the ROOT 7 interface modernization, we aim for robust, where possible compile-time safe C++ interfaces to read and write event data. On the performance side, we show first benchmarks using ROOT’s new experimental I/O subsystem that combines the best of TTrees with recent advances in columnar data formats. A core ingredient is a strong separation of the high-level logical data layout (C++ classes) from the low-level physical data layout (storage backed nested vectors of simple types). We show how the new, optimized physical data layout speeds up serialization and deserialization and facilitates parallel, vectorized and bulk operations. This lets ROOT I/O run optimally on the upcoming ultra-fast NVRAM storage devices, as well as file-less storage systems such as object stores.
first_indexed 2024-12-19T17:37:06Z
format Article
id doaj.art-fe3ffdf8a5154600abedf34d52124d18
institution Directory Open Access Journal
issn 2100-014X
language English
last_indexed 2024-12-19T17:37:06Z
publishDate 2020-01-01
publisher EDP Sciences
record_format Article
series EPJ Web of Conferences
spelling doaj.art-fe3ffdf8a5154600abedf34d52124d182022-12-21T20:12:19ZengEDP SciencesEPJ Web of Conferences2100-014X2020-01-012450203010.1051/epjconf/202024502030epjconf_chep2020_02030Evolution of the ROOT Tree I/OBlomer Jakob0Canal Philippe1Naumann Axel2Piparo Danilo3CERNFermilabCERNCERNThe ROOT TTree data format encodes hundreds of petabytes of High Energy and Nuclear Physics events. Its columnar layout drives rapid analyses, as only those parts (“branches”) that are really used in a given analysis need to be read from storage. Its unique feature is the seamless C++ integration, which allows users to directly store their event classes without explicitly defining data schemas. In this contribution, we present the status and plans of the future ROOT 7 event I/O. Along with the ROOT 7 interface modernization, we aim for robust, where possible compile-time safe C++ interfaces to read and write event data. On the performance side, we show first benchmarks using ROOT’s new experimental I/O subsystem that combines the best of TTrees with recent advances in columnar data formats. A core ingredient is a strong separation of the high-level logical data layout (C++ classes) from the low-level physical data layout (storage backed nested vectors of simple types). We show how the new, optimized physical data layout speeds up serialization and deserialization and facilitates parallel, vectorized and bulk operations. This lets ROOT I/O run optimally on the upcoming ultra-fast NVRAM storage devices, as well as file-less storage systems such as object stores.https://www.epj-conferences.org/articles/epjconf/pdf/2020/21/epjconf_chep2020_02030.pdf
spellingShingle Blomer Jakob
Canal Philippe
Naumann Axel
Piparo Danilo
Evolution of the ROOT Tree I/O
EPJ Web of Conferences
title Evolution of the ROOT Tree I/O
title_full Evolution of the ROOT Tree I/O
title_fullStr Evolution of the ROOT Tree I/O
title_full_unstemmed Evolution of the ROOT Tree I/O
title_short Evolution of the ROOT Tree I/O
title_sort evolution of the root tree i o
url https://www.epj-conferences.org/articles/epjconf/pdf/2020/21/epjconf_chep2020_02030.pdf
work_keys_str_mv AT blomerjakob evolutionoftheroottreeio
AT canalphilippe evolutionoftheroottreeio
AT naumannaxel evolutionoftheroottreeio
AT piparodanilo evolutionoftheroottreeio