I/O performance is often an issue for high-end computing (HEC) codes, due to their increasingly data-intensive nature and the ever-growing CPU-I/O performance gap. Portable parallel I/O benchmarks can help (1) application developers to improve their codes' performance, (2) HEC storage systems architects to improve their designs, and (3) future and current owners of HEC platforms to reduce hardware cost and improve application performance through better system provisioning and configuration.
To keep up with the growing scale and complexity of HEC applications, this project develops automated generation of parallel I/O benchmarks, analogous to the SPEC and NAS benchmarks for computation. Our approach will be embedded in BenchMaker, a prototype tool that takes a real-world, large-scale parallel application and automatically distills it into a compact, human-intelligible, I/O-intensive, and parameterized benchmark. Such a benchmark accurately reflects the original application's I/O characteristics and I/O performance, yet with shorter execution time, reduced need for libraries, better portability, and easy scalability.
Benchmarks and tools that benefit the computational science community at large will be produced by this research. These benchmark prototypes will be used for parallel computing course projects and student research contests.