Speaker
Description
In their measurement of the neutrino oscillation parameters (PRL 118, 231801
(2017)), NOvA uses a sample of approximately 27 million reconstructed spills to
search for electron-neutrino appearance events. These events are stored in an
n-tuple format, in 180 thousand ROOT files. File sizes range from a few hundred KiB to a
few MiB; the full dataset is approximately 3 TiB. These millions of events are
reduced to a few tens of events by the application of strict event selection
criteria, and then summarized by a handful of numbers each, which are used in
the extraction of the neutrino oscillation parameters.
The NOvA event selection code is currently a serial C++ program that reads
these n-tuples. The current table data format and organization and the
selection/reduction processing involved provides us with an opportunity to
explore alternate approaches to represent the data and implement the
processing. We represent our n-tuple data in HDF5 format that is optimized for
the HPC environment and which allows us to use the machine's high-performance
parallel I/O capabilities. We use MPI, numpy and h5py to implement our approach
and compare the performance with the existing approach. We study the
performance implications of using thousands of small files of different sizes
as compared with one large file using HPC resources. This work has been done as
part of the SciDAC project, “HEP analytics on HPC” in collaboration with the
ASCR teams at ANL and LBNL.