Using Formal Grammars to Predict I/O Behaviors in HPC: The Omnisc'IO Approach
M Dorier and S Ibrahim and G Antoniu and R Ross, IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 27, 2435-2449 (2016).
DOI: 10.1109/TPDS.2015.2485980
The increasing gap between the computation performance of post-petascale machines and the performance of their I/O subsystem has motivated many I/O optimizations including prefetching, caching, and scheduling. In order to further improve these techniques, modeling and predicting spatial and temporal I/O patterns of HPC applications as they run has become crucial. In this paper we present Omnisc'IO, an approach that builds a grammar-based model of the I/O behavior of HPC applications and uses it to predict when future I/O operations will occur, and where and how much data will be accessed. To infer grammars, Omnisc'IO is based on StarSequitur, a novel algorithm extending Nevill-Manning's Sequitur algorithm. Omnisc'IO is transparently integrated into the POSIX and MPI I/O stacks and does not require any modification in applications or higher-level I/O libraries. It works without any prior knowledge of the application and converges to accurate predictions of any N future I/O operations within a couple of iterations. Its implementation is efficient in both computation time and memory footprint.
Return to Publications page