Improving MPI-IO output performance with active buffering plus threads

Efficient collective output of intermediate results to secondary storage becomes more and more important for scientific simulations as the gap between processing power/interconnection bandwidth and the I/O system bandwidth enlarges. Dedicated servers can offload I/O from compute processors and shorten the execution time, but it is not always possible or easy for an application to use them. We propose the use of active buffering with threads (ABT) for overlapping I/O with computation efficiently and flexibly without dedicated I/O servers. We show that the implementation of ABT in ROMIO, a popular implementation of MPI-IO, greatly reduces the application-visible cost of ROMIO's collective write calls, and improves an application's overall performance by hiding I/O cost and saving implicit synchronization overhead from collective write operations. Further, ABT is high-level, platform-independent, and transparent to users, giving users the benefit of overlapping I/O with other processing tasks even when the file system or parallel I/O library does not support asynchronous I/O.

[1]  Frank B. Schmuck,et al.  GPFS: A Shared-Disk File System for Large Computing Clusters , 2002, FAST.

[2]  Rajeev Thakur,et al.  Data sieving and collective I/O in ROMIO , 1998, Proceedings. Frontiers '99. Seventh Symposium on the Frontiers of Massively Parallel Computation.

[3]  Rajeev Thakur,et al.  On implementing MPI-IO portably and with high performance , 1999, IOPADS '99.

[4]  Alok N. Choudhary,et al.  Design and evaluation of primitives for parallel I/O , 1993, Supercomputing '93. Proceedings.

[5]  Marianne Winslett,et al.  Server-Directed Collective I/O in Panda , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[6]  Michael J. Quinn,et al.  Enhancing Disk-Directed I/O for Fine-Grained Redistribution of File Data , 1997, Parallel Comput..

[7]  David Kotz,et al.  Disk-directed I/O for MIMD multiprocessors , 1994, OSDI '94.

[8]  Carla Schlatter Ellis,et al.  ENWRICH: a compute-processor write caching scheme for parallel file systems , 1996, IOPADS '96.

[9]  Marianne Winslett,et al.  Faster collective output through active buffering , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[10]  Rajeev Thakur,et al.  Improving collective I/O performance using threads , 1999, Proceedings 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing. IPPS/SPDP 1999.

[11]  Alok N. Choudhary,et al.  MTIO. A multi-threaded parallel I/O system , 1997, Proceedings 11th International Parallel Processing Symposium.

[12]  Jesús Carretero,et al.  Design and implementation of a parallel I/O runtime system for irregular applications , 1998, Proceedings of the First Merged International Parallel Processing Symposium and Symposium on Parallel and Distributed Processing.

[13]  Marianne Winslett,et al.  Active buffering plus compressed migration: an integrated solution to parallel simulations' data transport needs , 2002, ICS '02.