Process sets are the mechanism for MPI applications to query the runtime. Process sets are identified by process set names. Process set names have a Uniform Resource Identifier (URI) format. Two process set names are mandated: "mpi://WORLD" and "mpi://SELF". Additional process set names may be defined, for example, "mpix://UNIVERSE" and "hwloc://L3Cache" may be defined by the MPI implementation. The "mpi://" namespace is reserved for exclusive use by the MPI standard. Figure 26 depicts process sets that the runtime could associate with an instance of an MPI job. In this example, the two mandated process sets are defined, in addition to optional, implementation specific ones.
Mechanisms for defining process sets and how system resources are assigned to these sets is considered to be implementation dependent.
A process set caches key/value tuples that are accessible to the application via an MPI_Info object. The mpi_size key is mandatory for all process sets.