MPI is primarily concerned with communication rather than process or
resource management. However, it is necessary to address these issues
to some degree in order to define a useful framework for communication.
This chapter presents a set of MPI interfaces that allow for
a variety of approaches to process management while placing minimal
restrictions on the execution environment.
The MPI model for process creation allows both the creation
of an intial set of processes related by their membership in a common
MPI_COMM_WORLD and the creation and management of processes
after an MPI application has been started.
A major impetus for the later form of process creation comes
from the PVM [23] research effort. This work
has provided a wealth of experience with process
management and resource control that illustrates their benefits
and potential pitfalls.
The MPI Forum decided not to address resource
control because
it was not able to design a portable interface that would be
appropriate for the broad spectrum of existing and potential resource and
process controllers. Resource control can encompass a wide range of
abilities, including adding and deleting nodes from a virtual parallel
machine, reserving and scheduling resources, managing compute
partitions of an MPP, and returning information about available
resources.
assumes that resource control is provided externally --- probably
by computer vendors, in the case of tightly coupled systems, or by a third
party software package when the environment is a cluster of workstations.
The reasons for
including process management in MPI are both
technical and practical. Important classes of message-passing
applications require process control. These include task
farms, serial applications with parallel modules, and problems that
require a run-time assessment of the number and type of processes that
should be started. On the practical side, users of workstation
clusters who are migrating from PVM to MPI may be accustomed to using
PVM's capabilities for process and resource management. The lack of
these features
would be
a practical stumbling block to migration.
The following goals are central to the design of MPI process management:
Second, MPI maintains a consistent concept of a communicator, regardless
of how its members came into existence.
A communicator is never changed once created, and it is always
created using deterministic collective operations.
The
process management model addresses these issues in two
ways. First, MPI remains primarily a communication library. It
does not manage the parallel environment in which
a parallel program executes, though it provides a minimal
interface between an application and external resource and
process managers.
![]()
![]()
![]()
Up: Contents
Next: The Dynamic Process Model
Previous: Process Creation and Management
Return to MPI-2.1 Standard Index
Return to MPI Forum Home Page
MPI-2.0 of July 1, 2008
HTML Generated on July 6, 2008