Title :
On the Effects of CPU Caches on MPI Point-to-Point Communications
Author :
Pellegrini, Simone ; Hoefler, Torsten ; Fahringer, Thomas
Author_Institution :
Univ. of Innsbruck, Innsbruck, Austria
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.
Keywords :
cache storage; message passing; microprocessor chips; parallel processing; CPU caches; CPU caching; MPI point-to-point communications; communication aware compilers; communication call placement; communication calls; communication optimizations; communication scenarios; communication/computation overlap; design constraint; early binding; intuitive rules; message passing parallel codes; optimized codes; simple stencil code; Benchmark testing; Computer architecture; Guidelines; Libraries; Pollution measurement; Protocols; Receivers; CPU Cache; Code Transformations; MPI;
Conference_Titel :
Cluster Computing (CLUSTER), 2012 IEEE International Conference on
Conference_Location :
Beijing
Print_ISBN :
978-1-4673-2422-9
DOI :
10.1109/CLUSTER.2012.22