Argonne National Laboratory

Efficient Multithreaded Context ID Allocation in MPI*

TitleEfficient Multithreaded Context ID Allocation in MPI*
Publication TypeConference Paper
Year of Publication2012
AuthorsDinan, J, Goodell, D, Gropp, WD, Thakur, R, Balaji, P
Conference NameEuroMPI'12
Date Published09/2012
Other NumbersANL/MCS-P3004-0612

An important aspect of support for multithreaded MPI executions is the management of communication context identifiers (IDs), which are used to associate MPI communication operations with a communicator. New communicator creation functionality in MPI 3.0 adds complexity to this core resource management problem. We present an efficient algorithm for multithreaded context ID allocation that builds on an existing production algorithm developed to support MPI 2.2. Through this work, we have discovered a subtle concurrency bug in the existing algorithm that can result in deadlock. We correct this bug and develop methods to overcome the performance impact of deadlock prevention. We evaluate the performance of the new algorithm and prove that it is free from deadlock.