Automatic Verification of Self-consistent MPI Performance Guidelines

  • Sascha Hunold
  • Alexandra Carpen-Amarie
  • Felix Donatus Lübbe
  • Jesper Larsson Träff
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9833)


The Message Passing Interface (MPI) is the most commonly used application programming interface for process communication on current large-scale parallel systems. Due to the scale and complexity of modern parallel architectures, it is becoming increasingly difficult to optimize MPI libraries, as many factors can influence the communication performance. To assist MPI developers and users, we propose an automatic way to check whether MPI libraries respect self-consistent performance guidelines for collective communication operations. We introduce the PGMPI framework to detect violations of performance guidelines through benchmarking. Our experimental results show that PGMPI can pinpoint undesired and often unexpected performance degradations of collective MPI operations. We demonstrate how to overcome performance issues of several libraries by adapting the algorithmic implementations of their respective collective MPI calls.


MPI Collectives Performance guidelines Benchmarking 


  1. 1.
    Chaarawi, M., Squyres, J.M., Gabriel, E., Feki, S.: A tool for optimizing runtime parameters of Open MPI. In: Lastovetsky, A., Kechadi, T., Dongarra, J. (eds.) EuroPVM/MPI 2008. LNCS, vol. 5205, pp. 210–217. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  2. 2.
    Chan, E., Heimlich, M., Purkayastha, A., van de Geijn, R.A.: Collective communication: theory, practice, and experience. Concurrency Comput. Pract. Experience 19(13), 1749–1783 (2007)CrossRefGoogle Scholar
  3. 3.
    Faraj, A., Yuan, X., Lowenthal, D.K.: STAR-MPI: self tuned adaptive routines for MPI collective operations. In: International Conference on Supercomputing (ICS), pp. 199–208. ACM (2006)Google Scholar
  4. 4.
    Gropp, W., Hoefler, T., Thakur, R., Träff, J.L.: Performance expectations and guidelines for MPI derived datatypes. In: Cotronis, Y., Danalis, A., Nikolopoulos, D.S., Dongarra, J. (eds.) EuroPVM/MPI 2011. LNCS, vol. 6960, pp. 150–159. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  5. 5.
    Gropp, W.D., Kimpe, D., Ross, R., Thakur, R., Träff, J.L.: Self-consistent MPI-IO performance requirements and expectations. In: Lastovetsky, A., Kechadi, T., Dongarra, J. (eds.) EuroPVM/MPI 2008. LNCS, vol. 5205, pp. 167–176. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  6. 6.
    Hollander, M., Wolfe, D.A., Chicken, E.: Nonparametric Statistical Methods, 3rd edn. Wiley, Hoboken (2014)zbMATHGoogle Scholar
  7. 7.
    Hunold, S., Carpen-Amarie, A.: Reproducible MPI benchmarking is still not as easy as you think. IEEE TPDS (2016)Google Scholar
  8. 8.
    Hunold, S., Carpen-Amarie, A., Lübbe, F.D., Träff, J.L.: PGMPI: automatically verifying self-consistent MPI performance guidelines. CoRR abs/1606.00215 (2016)Google Scholar
  9. 9.
    Patarasuk, P., Yuan, X.: Bandwidth optimal all-reduce algorithms for clusters of workstations. JPDC 69(2), 117–124 (2009)Google Scholar
  10. 10.
    Pellegrini, S., Wang, J., Fahringer, T., Moritsch, H.: Optimizing MPI runtime parameter settings by using machine learning. In: Ropo, M., Westerholm, J., Dongarra, J. (eds.) EuroPVM/MPI 2009. LNCS, vol. 5759, pp. 196–206. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  11. 11.
    Pjesivac-Grbovic, J., Angskun, T., Bosilca, G., Fagg, G.E., Gabriel, E., Dongarra, J.: Performance analysis of MPI collective operations. Cluster Comput. 10(2), 127–143 (2007)CrossRefGoogle Scholar
  12. 12.
    Reussner, R., Sanders, P., Träff, J.L.: SKaMPI: a comprehensive benchmark for public benchmarking of MPI. Sci. Program. 10(1), 55–65 (2002)Google Scholar
  13. 13.
    Shudler, S., Calotoiu, A., Hoefler, T., Strube, A., Wolf, F.: Exascaling your library: will your implementation meet your expectations? In: International Conference on Supercomputing (ICS), pp. 165–175 (2015)Google Scholar
  14. 14.
    Träff, J.L.: mpicroscope: towards an MPI benchmark tool for performance guideline verification. In: Träff, J.L., Benkner, S., Dongarra, J.J. (eds.) EuroPVM/MPI 2012. LNCS, vol. 7490, pp. 100–109. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  15. 15.
    Träff, J.L., Gropp, W.D., Thakur, R.: Self-consistent MPI performance guidelines. IEEE TPDS 21(5), 698–709 (2010)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Sascha Hunold
    • 1
  • Alexandra Carpen-Amarie
    • 1
  • Felix Donatus Lübbe
    • 1
  • Jesper Larsson Träff
    • 1
  1. 1.Research Group for Parallel ComputingTU WienViennaAustria

Personalised recommendations