Making MPI Intelligent.
Dirk Tetzlaff, Sabine Glesner · 2012
Abstract: Mapping parallel applications to multi-processor architectures requires in-formation about the execution times of the concurrent processes to find an optimal allocation and must take into account the interprocessor communication at runtime, whose overheads have emerged as the major performance limitation. However, both information cannot be statically known in advance. In this paper we present a sophis-ticated approach for mapping parallel MPI applications to concurrent architectures using machine learning techniques. This automatically generates heuristics that pro-vide the compiler with knowledge of the considered runtime behavior, hence yielding more precise heuristics than those generated by pure static analyses. The heuristics can be used to direct the runtime environment of MPI, which enables the reallocation of processes to other processors at runtime and, furthermore, results in a better initial allocation of MPI processes. 1