NASA Logo

NTRS

NTRS - NASA Technical Reports Server

Due to the lapse in federal government funding, NASA is not updating this website. We sincerely regret this inconvenience.

Back to Results
MPI-IO: A Parallel File I/O Interface for MPI Version 0.3Thanks to MPI [9], writing portable message passing parallel programs is almost a reality. One of the remaining problems is file I/0. Although parallel file systems support similar interfaces, the lack of a standard makes developing a truly portable program impossible. Further, the closest thing to a standard, the UNIX file interface, is ill-suited to parallel computing. Working together, IBM Research and NASA Ames have drafted MPI-I0, a proposal to address the portable parallel I/0 problem. In a nutshell, this proposal is based on the idea that I/0 can be modeled as message passing: writing to a file is like sending a message, and reading from a file is like receiving a message. MPI-IO intends to leverage the relatively wide acceptance of the MPI interface in order to create a similar I/0 interface. The above approach can be materialized in different ways. The current proposal represents the result of extensive discussions (and arguments), but is by no means finished. Many changes can be expected as additional participants join the effort to define an interface for portable I/0. This document is organized as follows. The remainder of this section includes a discussion of some issues that have shaped the style of the interface. Section 2 presents an overview of MPI-IO as it is currently defined. It specifies what the interface currently supports and states what would need to be added to the current proposal to make the interface more complete and robust. The next seven sections contain the interface definition itself. Section 3 presents definitions and conventions. Section 4 contains functions for file control, most notably open. Section 5 includes functions for independent I/O, both blocking and nonblocking. Section 6 includes functions for collective I/O, both blocking and nonblocking. Section 7 presents functions to support system-maintained file pointers, and shared file pointers. Section 8 presents constructors that can be used to define useful filetypes (the role of filetypes is explained in Section 2 below). Section 9 presents how the error handling mechanism of MPI is supported by the MPI-IO interface. All this is followed by a set of appendices, which contain information about issues that have not been totally resolved yet, and about design considerations. The reader can find there the motivation behind some of our design choices. More information on this would definitely be welcome and will be included in a further release of this document. The first appendix contains a description of MPI-I0's 'hints' structure which is used when opening a file. Appendix B is a discussion of various issues in the support for file pointers. Appendix C explains what we mean in talking about atomic access. Appendix D provides detailed examples of filetype constructors, and Appendix E contains a collection of arguments for and against various design decisions.
Document ID
19970026966
Acquisition Source
Ames Research Center
Document Type
Contractor Report (CR)
Authors
Corbett, Peter
(International Business Machines Corp. Yorktown Heights, NY United States)
Feitelson, Dror
(International Business Machines Corp. Yorktown Heights, NY United States)
Hsu, Yarsun
(International Business Machines Corp. Yorktown Heights, NY United States)
Prost, Jean-Pierre
(International Business Machines Corp. Yorktown Heights, NY United States)
Snir, Marc
(International Business Machines Corp. Yorktown Heights, NY United States)
Fineberg, Sam
(Computer Sciences Corp. Moffett Field, CA United States)
Nitzberg, Bill
(Computer Sciences Corp. Moffett Field, CA United States)
Traversat, Bernard
(Computer Sciences Corp. Moffett Field, CA United States)
Wong, Parkson
(Computer Sciences Corp. Moffett Field, CA United States)
Date Acquired
September 6, 2013
Publication Date
January 1, 1995
Subject Category
Computer Programming And Software
Report/Patent Number
NASA-CR-205139
NAS-95-002
NAS 1.26:205139
Report Number: NASA-CR-205139
Report Number: NAS-95-002
Report Number: NAS 1.26:205139
Accession Number
97N26082
Funding Number(s)
CONTRACT_GRANT: NAS2-12961
Distribution Limits
Public
Copyright
Work of the US Gov. Public Use Permitted.
No Preview Available