Implementing an Open64-based Tool for Improving the Performance of MPI Programs
Author : Danalis, Anthony; Pollock, Lori; Swany, Martin; Cavazos, John
Booktitle : Open64 Workshop at CGO
Date : Apr 2008
Keyword(s) : computation-communication overlap
Document Type : In Conference Proceedings
While MPI parallel programming has become the primary approach to achieving performance gains in cluster computing, the communication overhead inherent in a cluster environment continues to be a major obstacle. A promising approach to improve performance is the use of computation-communication overlapping, which is enabled by communication libraries that utilize Remote Data Memory Access (RDMA), either directly in the form of one-sided communication, or via two-sided communication over a low overhead rendezvous protocol. To spare the scientific programmer from learning how to utilize these libraries to effectively maximize computation-communication overlap, we have developed a tool that automatically transforms an MPI parallel program to a semantically equivalent program with selected data exchange calls in MPI replaced to leverage an RDMA-targeted communication library. In this paper, we describe the implementation of this MPI program transformer using the Open64 compiler.