On the Effects of CPU Caches on MPI Point-to-Point Communications

  • Authors:
  • Simone Pellegrini;Torsten Hoefler;Thomas Fahringer

  • Affiliations:
  • -;-;-

  • Venue:
  • CLUSTER '12 Proceedings of the 2012 IEEE International Conference on Cluster Computing
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Several researchers investigated the placing of communication calls in message-passing parallel codes. The current rule of thumb it to maximize communication/computation overlap with early binding. In this work, we demonstrate that this is not the only design constraint because CPU caches can have a significant impact on communications. We conduct an empirical study of the interaction between CPU caching and communications for several different communication scenarios. We use the gained insight to formulate a set of intuitive rules for communication call placement and show how our rules can be applied to practical codes. Our optimized codes show an improvement of up to 40% for a simple stencil code. Our work is a first step towards communication optimizations by moving communication calls. We expect that future communication-aware compilers will use our insights as a standard technique to move communication calls in order to optimize performance.