Test Suite for Evaluating Performance of MPI Implementations That Support MPI_THREAD_MULTIPLE

  • Rajeev Thakur
  • William Gropp
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4757)


MPI implementations that support the highest level of thread safety for user programs, MPI_THREAD_MULTIPLE, are becoming widely available. Users often expect that different threads can execute independently and that the MPI implementation can provide the necessary level of thread safety with only a small overhead. The MPI Standard, however, requires only that no MPI call in one thread block MPI calls in other threads; it makes no performance guarantees. Therefore, some way of measuring an implementation’s performance is needed. 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).


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    García, F., Calderón, A., Carretero, J.: MiMPI: A multithread-safe implementation of MPI. In: Margalef, T., Dongarra, J.J., Luque, E. (eds.) Recent Advances in Parallel Virtual Machine and Message Passing Interface. LNCS, vol. 1697, pp. 207–214. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  2. 2.
    Gropp, W., Thakur, R.: Issues in developing a thread-safe MPI implementation. In: Mohr, B., Träff, J.L., Worringen, J., Dongarra, J. (eds.) Recent Advances in Parallel Virtual Machine and Message Passing Interface. LNCS, vol. 4192, pp. 12–21. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  3. 3.
    Intel MPI benchmarks, http://www.intel.com
  4. 4.
  5. 5.
    Protopopov, B.V., Skjellum, A.: A multithreaded message passing interface (MPI) architecture: Performance and program issues. Journal of Parallel and Distributed Computing 61(4), 449–466 (2001)MATHCrossRefGoogle Scholar
  6. 6.
    Reussner, R., Sanders, P., Träff, J.L.: SKaMPI: A comprehensive benchmark for public benchmarking of MPI. Scientific Programming 10(1), 55–65 (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Rajeev Thakur
    • 1
  • William Gropp
    • 1
  1. 1.Mathematics and Computer Science Division, Argonne National Laboratory, Argonne, IL 60439USA

Personalised recommendations