This tutorial will cover parallel programming with the MPI message passing interface, with special attention paid to the issues
that arise in a computational grid environment. After a summary of MPI programming, we will address the issue of process management,
first in a single administrative domain and the then across multiple administrative domains. We will describe the use of the
MPD process management system with MPI implementations that support the Process Management Interface, and the MPICH-G2 MPI
implementation for Globus-based distributed environments.
We will discuss grid-specific application programming issues such as latency-reduction techniques using message aggregation
and the use of topology-aware collective operations. Remote I/O is one of the best aspects of a grid environment, and so the
use of MPI-2 I/O operations will be covered. We will conclude with a discussion of fault-tolerance issues in MPI programs,
including programming techniques and the state of current implementations.