next up previous
Next: Related Work Up: The Static World Previous: ContextsProcess Groups,

Static Separate Worlds

Once all the expected processes have joined the system, a common communicator is created by the system for them. This communicator, referred to as MPI_COMM_WORLD, will allow all processes to communicate to all others in their ``world.'' From this communicator, subset communicators can be created and duplicated for the different modules in an application by using different (possibly overlapping) groups of processes.

Communications between processes within the same communicator or group are referred to as intracommunicator communications. Communications between different groups are intercommunicator communications. The formation of an intercommunicator requires two separate (nonoverlapping) groups and a common communicator between the leaders of each group, as shown in Figure 1.

   figure47
Figure: Intercommunicator formed inside a single MPI_COMM_WORLD

With the current standard MPI-1 implementation it is impossible to create an intercommunicator between two separately initiated MPI applications. Each application has its own MPI_COMM_WORLD, with no existing communicator bridging the gap between them (see Figure 2).

   figure53
Figure 2: Separate applications that are unable to create an intercommunicator because they lack any overlapping communicator

All internal details are hidden from the user. MPI communicators have relevance only within a particular run-time instance. Moreover, this strategy excludes different MPI implementations from interoperating. In summary, current MPI applications are static and isolated. and communication between them will probably not be possible via message passing, but by other mediums such as cross-mounted file systems.



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