next up previous
Next: Static Separate Worlds Up: The Static World Previous: MPI Process Control

Contexts, Process Groups, and Communicators

Context is a system-defined tag that can be used to differentiate messages from one another. Contexts generally are used by different layers in a library to eliminate possible interference between these layers. In PVM, for example, any task can send a message to any other task, whether the receiving task wishes to interact with the sender or not (as in the case of two separate applications). In MPI, on the other hand, the two applications have two separate message universes or contexts, which render this potential mistake impossible.

Processes in MPI are arranged in rank order, from 0 to N-1, where N is the number of processes in a group. These process groups define the scope for all collective operations within that group.

The process group and context, together with other information about topologies and local attributes, constitute a communicator. All communications can operate only within a communicator. Thus, this strategy gives rise to a high level of protection against rogue messages.



Jack Dongarra
Fri Apr 12 11:15:36 EDT 1996