Advanced Cluster Programming with MPI 

Bill Gropp
Argonne National Laboratory
gropp@mcs.anl.gov

The Message Passing Interface (MPI) provides a powerful, scalable 
programming model that is especially well-suited to clusters. The 
emergence of implementations of MPI-2, which provides many new features 
that extend the message-passing programming model, makes possible new 
applications and programming methods. This tutorial discusses both the new 
features in MPI-2, such as dynamic process creation, remote-memory access, 
and parallel I/O, along with techniques to achieve high performance with 
MPI-1 on clusters. Each of these is illustrated with a complete example 
program that discusses the use of MPI features in a cluster context.

William Gropp received his B.S. in Mathematics from Case Western Reserve 
University in 1977, a MS in Physics from the University of Washington in 
1978, and a Ph.D. in Computer Science from Stanford in 1982. He held the 
positions of assistant (1982-1988) and associate (1988-1990) professor in 
the Computer Science Department or Yale University. In 1990, he joined the 
Numerical Analysis group at Argonne, where he is Associate Division 
Director and Senior Computer Scientist. He also holds the position of 
Senior Scientist in the Computer Science Department at the University of 
Chicago, and Senior Fellow in the Computation Institute of Argonne National 
Laboratory and the University of Chicago. His research interests are in 
parallel computing, software for scientific computing, and numerical 
methods for partial differential equations. He is a co-author of the most 
widely used implementation of MPI, MPICH, and was involved in the MPI Forum 
as a chapter author for both MPI-1 and MPI-2. He is one of the designers 
of the PETSc parallel numerical library, and has developed efficient 
parallel algorithms for the solution of linear equations. He was a member 
of a team that was awarded a Gordon Bell Prize in 1999 for contributions in 
high performance computing.

Back to Program