@techreport {978, title = {Context Identifier Allocation in Open MPI}, journal = {University of Tennessee Computer Science Technical Report}, number = { ICL-UT-16-01}, year = {2016}, month = {2016-01}, publisher = {Innovative Computing Laboratory, University of Tennessee}, abstract = {The concept of communicators is a central notion in Message Passing Interface, allowing on one side the MPI implemen- tation to specialize it{\textquoteright}s matching and deliver messages in the right context, and on the other side the library developers to contextualize their message exchanges, and scope different algorithms to well-defined groups of processes. More pre- cisely, all communication objects in MPI are derived from a communicator at some point. All MPI functions allowing the creation of new communicators have a collective mean- ing, either over the group of processes from the parent com- municator or those from the target communicator. Thus, the perfromance of the communicator creation is tied to the col- lective communication performance, as well as the amount of data needed to be exchanged in order to consistently create this new communicator. We introduce several communica- tor creation algorithms, and present their implementation in the context of Open MPI. We explore the performance of these new algorithms and compare them with state-of-the- art algorithms available in other MPI implementations.}, author = {George Bosilca and Thomas Herault and Jack Dongarra} }