Skip to content

Define how MPI_Comm_create_from_group works in dynamic process set environment #22

@hppritcha

Description

@hppritcha

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions