Enabling MPI Interoperability Through Flexible Communication Endpoints
|Title||Enabling MPI Interoperability Through Flexible Communication Endpoints|
|Publication Type||Conference Paper|
|Year of Publication||2013|
|Authors||Dinan, J, Balaji, P, Goodell, D, Miller, D, Snir, M, Thakur, R|
|Conference Name||EuroMPI 2013|
|Conference Location||Madrid, Spain|
The current MPI model defines a one-to-one relationship between MPI processes and MPI ranks. This model captures many use cases effectively, such as one MPI process per core and one MPI process per node. However, this semantic has limited interoperability between MPI and other programming models that use threads within a node. In this paper, we describe an extension to MPI that introduces communication endpoints as a means to relax the one-to-one relationship between processes and threads. Endpoints enable a greater degree interoperability between MPI and other programming models, and we demonstrate that this new layer of abstraction enables more flexible computation mapping through the decoupling of ranks from processes.