This issue attempts to track the discussion in the Sessions/FT WGs concerning the behavior of MPI_Comm_create_from_group in a dynamic process set environment. By dynamic, it is meant that the host environment may be creating process sets over the course of operation of the application. It is possible that processes may have derived groups from different process sets.
The WGs have been considering a notion of implicit or explicit versioning of process sets. For example, over the course of operation of an application, the host environment may have defined multiple versions of mpi://WORLD as system resources changed.
Important elements of the current discussion have been:
return error code if the MPI implementation detects case of differing version numbers being supplied
not decided whether we need the same error code returned to all involved processes.
a new method that creates a communicator directly from a (versioned?) process set. This approach simplifies implementation as there would not be a need to track group process set provenance.
variant of MPI_Comm_create_from_group that has a process set version number in the argument list
require an application to potentially call MPI_Comm_create_from_group till the implementation is able to determine that the process set provenance of the group be supplied by all participating processes is the same. Some processes may only have to call the function once, while others may need to do several cycles of process set query, group construction, and subsequent invocation of MPI_Comm_create_from_group.
This issue attempts to track the discussion in the Sessions/FT WGs concerning the behavior of
MPI_Comm_create_from_group
in a dynamic process set environment. By dynamic, it is meant that the host environment may be creating process sets over the course of operation of the application. It is possible that processes may have derived groups from different process sets.The WGs have been considering a notion of implicit or explicit versioning of process sets. For example, over the course of operation of an application, the host environment may have defined multiple versions of
mpi://WORLD
as system resources changed.Important elements of the current discussion have been:
MPI_Comm_create_from_group
that has a process set version number in the argument listMPI_Comm_create_from_group
till the implementation is able to determine that the process set provenance of the group be supplied by all participating processes is the same. Some processes may only have to call the function once, while others may need to do several cycles of process set query, group construction, and subsequent invocation ofMPI_Comm_create_from_group
.