Topology aware process mapping

  • Authors:
  • Sebastian von Alfthan;Ilja Honkonen;Minna Palmroth

  • Affiliations:
  • Finnish Meteorological Institute, Finland;Finnish Meteorological Institute, Finland,Department of Physics, University of Helsinki, Finland;Finnish Meteorological Institute, Finland

  • Venue:
  • PARA'12 Proceedings of the 11th international conference on Applied Parallel and Scientific Computing
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

A parallel program based on the Message Passing Interface (MPI) commonly uses point-to-point communication for updating data between processes, and its scalability is ultimately limited by communication costs. To minimize these costs we have developed a library that reduces network congestion, and thus improves performance, by optimizing the placement of processes onto nodes allocated to the parallel job. Our approach is useful on production machines, as irregular communication patterns can at run-time be optimally placed on non-contiguous node allocations. It is also portable as it supports multiple architectures: Cray XT, IBM BlueGene/P and regular SMP clusters. We demonstrate on a Cray XT5m and an Infiniband cluster that good placement of processes doubles the total bandwidth compared to random placement and, furthermore, by up to a factor of 1.4 compared to to the original placement. It is not only important to place processes well on individual nodes, minimizing the number of link traversals on the Cray XT5m provides up to 20 % of additional performance. The scalability of a real-world application, Vlasiator, is also investigated and the scalability is shown to improve by up to 35 %. For communication limited applications the approach provides an avenue to improve performance, and is useful even with dynamic load balancing as the placement is optimized at run-time.