conferenceipdps242024

TunIO: An AI-powered Framework for Optimizing HPC I/O

Neeraj Rajesh, Keith Bateman, Jean Luca Bez, Suren Byna, Anthony Kougkas, Xian-He Sun

Proceedings of the International Parallel and Distributed Processing Symposium · IEEE

Abstract

I/O operations are a known performance bottleneck of HPC applications. To achieve good performance, users often employ an iterative multistage tuning process to find an optimal I/O stack configuration. However, an I/O stack contains multiple layers, such as high-level I/O libraries, I/O middleware, and parallel file systems, and each layer has many parameters. These parameters and layers are entangled and influenced by each other. The tuning process is time-consuming and complex. In this work, we present TunIO, an AI-powered I/O tuning framework that implements several techniques to balance the tuning cost and performance gain, including tuning the high-impact parameters first. Furthermore, TunIO analyzes the application source code to extract its I/O kernel while retaining all statements necessary to perform I/O. It utilizes a smart selection of high-impact configuration parameters of the given tuning objective. Finally, it uses a novel Reinforcement Learning (RL)-driven early stopping mechanism to balance the cost and performance gain. Experimental results show that TunIO leads to a reduction of up to ≈73% in tuning time while achieving the same performance gain when compared to H5Tuner. It achieves a significant performance gain/cost of 208.4 MBps/min (I/O bandwidth for each minute spent in tuning) over existing approaches under our testing.

Connected work

Citation

@inproceedings{rajesh2024tunio,
  author = {Rajesh, Neeraj and Bateman, Keith and Bez, Jean Luca and Byna, Suren and Kougkas, Anthony and Sun, Xian-He},
  booktitle = {Proceedings of the International Parallel and Distributed Processing Symposium},
  title = {TunIO: An AI-powered Framework for Optimizing HPC I/O},
  year = {2024},
  month = may,
  publisher = {IEEE},
  volume = {},
  number = {},
  pages = {494-505},
  keywords = {I/O Performance Optimization, Storage Resource Provisioning, Task-Based I/O, High-Performance Computing},
  doi = {10.1109/IPDPS57955.2024.00050},
  url = {https://ieeexplore.ieee.org/document/10579249},
}