Efficient multithreaded context ID allocation in MPI

  • Authors:
  • James Dinan;David Goodell;William Gropp;Rajeev Thakur;Pavan Balaji

  • Affiliations:
  • Argonne National Laboratory;Argonne National Laboratory;University of Illinois at Urbana-Champaign;Argonne National Laboratory;Argonne National Laboratory

  • Venue:
  • EuroMPI'12 Proceedings of the 19th European conference on Recent Advances in the Message Passing Interface
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.