Optimizing MPI Runtime Parameter Settings by Using Machine Learning

  • Simone Pellegrini
  • Jie Wang
  • Thomas Fahringer
  • Hans Moritsch
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5759)


Manually tuning MPI runtime parameters is a practice commonly employed to optimise MPI application performance on a specific architecture. However, the best setting for these parameters not only depends on the underlying system but also on the application itself and its input data. This paper introduces a novel approach based on machine learning techniques to estimate the values of MPI runtime parameters that tries to achieve optimal speedup for a target architecture and any unseen input program. The effectiveness of our optimization tool is evaluated against two benchmarks executed on a multi-core SMP machine.


MPI optimization runtime parameter tuning multi-core 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Open MPI: Modular Component Architecture,
  2. 2.
    Bodin, F., Kisuki, T., Knijnenburg, P., O’Boyle, M., Rohou, E.: Iterative Compilation in a Non-Linear Optimisation Space. In: Proceedings of the Workshop on Profile Directed Feedback-Compilation (October 1998)Google Scholar
  3. 3.
    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
  4. 4.
    Chai, L., Lai, P., Jin, H.W., Panda, D.K.: Designing an efficient kernel-level and user-level hybrid approach for mpi intra-node communication on multi-core systems. In: ICPP 2008: Proceedings of the 2008 37th International Conference on Parallel Processing, Washington, DC, USA. IEEE Computer Society Press, Los Alamitos (2008)Google Scholar
  5. 5.
    Meijerink, J.A., Vorst, H.A.v.d.: An iterative solution method for linear systems of which the coefficient matrix is a symmetric m-matrix. Mathematics of Computation 31(137), 148–162 (1977)MathSciNetzbMATHGoogle Scholar
  6. 6.
    der Wijngaart, R.F.V.: Nas Parallel Benchmarks Version 2.4. Technical Report NAS-02-007, Computer Science Corporation NASA Advanced Supercomputing (NAS) Division (October 2002)Google Scholar
  7. 7.
    Ian, H., Witten, E.F.: Data Mining: Practical Machine Learning Tools and Techniques. Elsevier, Amsterdam (2005)zbMATHGoogle Scholar
  8. 8.
    Bishop, C.M.: Neural Networks for Pattern Recognition. Oxford University Press, Oxford (1996)zbMATHGoogle Scholar
  9. 9.
    Ipek, E., Supinski, B.R., Schulz, M., Mckee, S.A.: An Approach to Performance Prediction for Parallel Applications. In: Euro-Par Parallel Processing (2005)Google Scholar
  10. 10.
    Matlab: Neural Network Toolbox,
  11. 11.
    Faraj, A., Yuan, X., Lowenthal, D.: Star-mpi: self tuned adaptive routines for mpi collective operations. In: ICS 2006: Proceedings of the 20th annual international conference on Supercomputing, pp. 199–208. ACM, New York (2006)Google Scholar
  12. 12.
    Fagg, G.E., Angskun, T., Bosilca, G., Dongarra, J.J.: Decision trees and mpi collective algorithm selection problem (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Simone Pellegrini
    • 1
  • Jie Wang
    • 1
  • Thomas Fahringer
    • 1
  • Hans Moritsch
    • 1
  1. 1.Distributed and Parallel Systems GroupUniversity of InnsbruckInnsbruckAustria

Personalised recommendations