Hardware Reference
In-Depth Information
Chapter 13
MPI-IO
Wei-keng Liao
Northwestern University
Rajeev Thakur
Argonne National Laboratory
13.1
Introduction :::::::::::::::::::::::::::::::::::::::::::::::::::::: 155
13.1.1
MPI-IO Background ::::::::::::::::::::::::::::::::::::: 156
13.1.2
Parallel I/O in Practice ::::::::::::::::::::::::::::::::: 156
13.2
Using MPI for Simple I/O ::::::::::::::::::::::::::::::::::::::: 157
13.2.1
Three Ways of File Access ::::::::::::::::::::::::::::::: 158
13.2.2
Blocking and Nonblocking I/O :::::::::::::::::::::::::: 159
13.3
File Access with User Intent ::::::::::::::::::::::::::::::::::::: 159
13.3.1
Independent I/O ::::::::::::::::::::::::::::::::::::::::: 160
13.3.2
MPI File View ::::::::::::::::::::::::::::::::::::::::::: 161
13.3.3
Collective I/O ::::::::::::::::::::::::::::::::::::::::::: 163
13.4
MPI-IO Hints :::::::::::::::::::::::::::::::::::::::::::::::::::: 165
13.5
Conclusions ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 165
Bibliography :::::::::::::::::::::::::::::::::::::::::::::::::::::: 166
13.1 Introduction
MPI-IO is a standard, portable interface for parallel file I/O that was de-
fined as part the MPI-2 (Message Passing Interface) Standard in 1997. It can
be used either directly by application programmers or by writers of high-level
libraries as an interface for portable, high performance I/O in parallel pro-
grams. It has many features specifically designed to eciently support the I/O
needs of parallel scientific applications. MPI-IO is an interface that sits above
a parallel file system and below an application or a high-level I/O library, as
illustrated in Figure 13.1. Hence it is often referred to as \middleware" for
parallel I/O.
MPI-IO is intended as an interface for multiple processes of a parallel
(MPI) program that is writing or reading parts of a single common file. For
this purpose, an implementation of MPI-IO is typically layered on top of a
parallel file system that supports the notion of a single, common file shared
155
 
Search WWH ::




Custom Search