Data sieving and collective I/O in ROMIO
- 1 January 1999
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 182-189
- https://doi.org/10.1109/fmpc.1999.750599
Abstract
The I/O access patterns of parallel programs often consist of accesses to a large number of small, noncontiguous pieces of data. If an application's I/O needs are met by making many small, distinct I/O requests, however, the I/O performance degrades drastically. To avoid this problem, MPI-IO allows users to access a noncontiguous data set with a single I/O function call. This feature provides MPI-IO implementations an opportunity to optimize data access. We describe how our MPI-IO implementation, ROMIO, delivers high performance in the presence of noncontiguous requests. We explain in detail the two key optimizations ROMIO performs: data sieving for noncontiguous requests from one process and collective I/O for noncontiguous requests from multiple processes. We describe how one can implement these optimizations portably on multiple machines and file systems, control their memory requirements, and also achieve high performance. We demonstrate the performance and portability with performance results for three applications-an astrophysics-application template (DIST3D) the NAS BTIO benchmark, and an unstructured code (UNSTRUC)-on five different parallel machines: HP Exemplar IBM SP, Intel Paragon, NEC SX-4, and SGI Origin2000.Keywords
This publication has 10 references indexed in Scilit:
- An abstract-device interface for implementing portable parallel-I/O interfacesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- PMPIO-a portable implementation of MPI-IOPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Lessons from characterizing the input/output behavior of parallel scientific applicationsPerformance Evaluation, 1998
- A Case for Using MPI's Derived Datatypes to Improve I/O PerformancePublished by Institute of Electrical and Electronics Engineers (IEEE) ,1998
- Disk-directed I/O for MIMD multiprocessorsACM Transactions on Computer Systems, 1997
- File-access characteristics of parallel scientific workloadsIEEE Transactions on Parallel and Distributed Systems, 1996
- An Extended Two-Phase Method for Accessing Sections of Out-of-Core ArraysScientific Programming, 1996
- Parallel I/O Workload Characteristics Using VestaPublished by Springer Nature ,1996
- I/O requirements of scientific applications: an evolutionary viewPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1996
- Improved parallel I/O via a two-phase run-time access strategyACM SIGARCH Computer Architecture News, 1993