@TechReport{thakur:mpi-tr, author = {Rajeev Thakur and William Gropp and Ewing Lusk}, title = {A Case for Using {MPI's} Derived Datatypes to Improve {I/O} Performance}, year = {1998}, month = {May}, number = {ANL/MCS-P717-0598}, institution = {Mathematics and Computer Science Division, Argonne National Laboratory}, later = {thakur:mpi}, URL = {http://www.mcs.anl.gov/~thakur/dtype/}, keywords = {MPI, parallel I/O, pario-bib}, abstract = {MPI-IO, the I/O part of the MPI-2 standard, is a promising new interface for parallel I/O. A key feature of MPI-IO is that it allows users to access several noncontiguous pieces of data from a file with a single I/O function call by defining file views with derived datatypes. We explain how critical this feature is for high performance, why users must create and use derived datatypes whenever possible, and how it enables implementations to perform optimizations. In particular, we describe two optimizations our MPI-IO implementation, ROMIO, performs: data sieving and collective I/O. We present performance results on five different parallel machines: HP Exemplar, IBM SP, Intel Paragon, NEC SX-4, and SGI Origin2000.} }