Hardware Reference
In-Depth Information
Application
High-level I/O Library
I/O Middleware (MPI-IO)
Parallel File System
I/O Hardware
FIGURE 13.1: MPI-IO in the I/O software stack.
by multiple processes. Of course, MPI-IO can also be trivially used for the
case where each process reads or writes a separate file.
13.1.1 MPI-IO Background
MPI-IO originated in an effort that began in 1994 at IBM Watson Re-
search Center to investigate the impact of the then new MPI message-passing
standard on parallel I/O. A group at IBM wrote an initial paper [7] that ex-
plored the analogy between MPI message passing and I/O. Roughly speaking,
one can consider writing to file as sending a message, and reading from a file
as receiving a message. This paper was the starting point of MPI-IO in that it
was the first attempt to exploit this analogy by applying the (then relatively
new) MPI concepts for message passing to the realm of parallel I/O.
The idea of using message-passing concepts in an I/O library appeared
successful, and the effort was expanded into a collaboration with parallel I/O
researchers from NASA Ames Research Center. The resulting specification
appeared in an IBM technical report [1]. At this point, a large email discussion
group was formed, with participation from a wide variety of institutions. This
group, calling itself the MPI-IO Committee, pushed the idea further in a series
of proposals, culminating in the version 0:5 release of the MPI Standard [13].
During this time, the MPI Forum had resumed meeting to address a num-
ber of topics that had been deliberately left out of the original MPI Standard,
including parallel I/O. The MPI-IO Committee eventually merged with the
MPI Forum and, from the summer of 1996, the MPI-IO design activities took
place in the context of the MPI Forum meetings. The MPI Forum used the lat-
est version of the existing MPI-IO specication (v 0:5) [13] as a starting point
for the I/O chapter in MPI-2. The I/O chapter evolved over many meetings
of the Forum and was released in its final form along with the rest of MPI-2
in July 1997 [6]. MPI-IO now refers to this I/O chapter in the MPI Standard.
13.1.2 Parallel I/O in Practice
There are three ways to do I/O from a parallel program perspective. In the
first method, each process accesses a separate file, which is also known as the
 
Search WWH ::




Custom Search