Test suite for evaluating performance of multithreaded MPI communication

Rajeev Thakur, William Gropp

Research output: Contribution to journalArticlepeer-review


As parallel systems are commonly being built out of increasingly large multicore chips, application programmers are exploring the use of hybrid programming models combining MPI across nodes and multithreading within a node. Many MPI implementations, however, are just starting to support multithreaded MPI communication, often focussing on correctness first and performance later. As a result, both users and implementers need some measure for evaluating the multithreaded performance of an MPI implementation. In this paper, we propose a number of performance tests that are motivated by typical application scenarios. These tests cover the overhead of providing the MPI_THREAD_MULTIPLE level of thread safety for user programs, the amount of concurrency in different threads making MPI calls, the ability to overlap communication with computation, and other features. We present performance results with this test suite on several platforms (Linux cluster, Sun and IBM SMPs) and MPI implementations (MPICH2, Open MPI, IBM, and Sun).

Original languageEnglish (US)
Pages (from-to)608-617
Number of pages10
JournalParallel Computing
Issue number12
StatePublished - Dec 2009


  • Benchmarks
  • Message passing interface (MPI)
  • Multithreading
  • Performance measurement

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computer Networks and Communications
  • Computer Graphics and Computer-Aided Design
  • Artificial Intelligence


Dive into the research topics of 'Test suite for evaluating performance of multithreaded MPI communication'. Together they form a unique fingerprint.

Cite this