What MPI Does and Does Not Specify
Next: Point to Point
Up: An Introduction to the
Previous: Goals
The standard specifies the form of the following.
-
Point to point communications, that is, messages between pairs of processes.
-
Collective communications: communication or synchronization operations that
involve entire groups of processes.
-
Process groups: how they are used and manipulated.
-
Communicators: a mechanism for providing separate communication scopes
for modules or libraries. Each communicator specifies a distinct name
space for processes, a distinct communication context for messages and
may carry additional, scope-specific information.
-
Process topologies: functions that allow the convenient manipulation of
process labels, when the processes are regarded as forming a particular
topology, such as a Cartesian grid.
-
Bindings for Fortran 77 and ANSI C: MPI was designed so that versions
of it in both C and Fortran had straightforward syntax. In fact, the
detailed form of the interface in these two languages is specified
and is part of the standard.
-
Profiling interface: the interface is designed so that runtime profiling
or performance-monitoring tools can be joined to the
message-passing system. It is not necessary to have access to the MPI
source to do this and hence, portable profiling systems can be easily
constructed.
-
Environmental management and inquiry functions: these functions give
a portable timer, some system-querying capabilities, and the ability to
influence error behavior and error-handling functions.
There are many relevant aspects of parallel programming not covered by the
standard. This is also an important list and we give it below.
-
shared-memory operations
-
interrupt-driven messages, remote execution, and active messages
-
program construction tools
-
debugging support
-
thread support
-
process or task management
-
input and output functions
The main reason for not addressing these issues was the time constraint
self-imposed by the committee, and the feeling that many of them
are system dependent. A next set of meetings focused
on extending MPI will begin soon.
The remainder
of this article discusses some of the more interesting features
of MPI.
Next: Point to Point
Up: An Introduction to the
Previous: Goals
Jack Dongarra
Tue Jan 17 21:48:11 EST 1995