An Approach to Selecting Thread + Process Mixes for Hybrid MPI + OpenMP Applications

Abstract

Hybrid MPI + OpenMP is a popular means of programming modern machines that feature substantial parallelism both off-node and on-node. Determining the right mix of the two programming models to use, however, is not as straightforward as simply using exclusively OpenMP on-node and limiting MPI to only inter-node communication. We present a step-by-step methodology to help make the decision of which mix of the two programming models to use. It starts with an estimate of the performance of a generic hybrid application on a given machine and incorporates additional available information about the specific application and the machine to provide guidance for selecting effective mixes of MPI processes and OpenMP threads to use when running that application on the machine in question. We validate our approach on four different applications on an IBM Blue Gene/Q, a Cray XK7, and a Cray XC30.

DOI: 10.1109/CLUSTER.2015.64

14 Figures and Tables

Cite this paper

@article{Gahvari2015AnAT, title={An Approach to Selecting Thread + Process Mixes for Hybrid MPI + OpenMP Applications}, author={Hormozd Gahvari and Martin Schulz and Ulrike Meier Yang}, journal={2015 IEEE International Conference on Cluster Computing}, year={2015}, pages={418-427} }