Static Approximation of MPI Communication Graphs for Optimized Process Placement

Andrew J. McPherson, Vijay Nagarajan, Marcelo Cintra

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Message Passing Interface (MPI) is the de facto standard for programming large scale parallel programs. Static understanding of MPI programs informs optimizations including process placement and communication/computation overlap, and debugging. In this paper, we present a fully context and flow sensitive, interprocedural, best-effort analysis framework to statically
analyze MPI programs. We instantiate this to determine an approximation of the point-to-point communication graph of an MPI program. Our analysis is the first pragmatic approach to realizing the full point-to-point communication graph without profiling – indeed our experiments show that we are able to resolve and understand 100% of the relevant MPI call sites across the NAS Parallel Benchmarks. In all but one case, this only requires specifying the number of processes. To demonstrate an application, we use the analysis to determine process placement on a Chip MultiProcessor (CMP) based cluster. The use of a CMP-based cluster creates a two-tier system, where inter-node communication can be subject to greater latencies than intra-node commu-nication. Intelligent process placement can therefore have a significant impact on the execution time. Using the 64 process versions of the bench-marks, and our analysis, we see an average of 28% (7%) improvement in communication localization over by-rank scheduling for 8-core (12-core) CMP-based clusters, representing the maximum possible improvement.
Original languageEnglish
Title of host publicationLCPC 2014: The 27th International Workshop on Languages and Compilers for Parallel Computing
Number of pages15
Publication statusPublished - 15 Sep 2014
EventLCPC 2014 - The 27th International Workshop on Languages and Compilers for Parallel Computing - Hilsboro, United States
Duration: 15 Sep 201417 Sep 2014

Conference

ConferenceLCPC 2014 - The 27th International Workshop on Languages and Compilers for Parallel Computing
Country/TerritoryUnited States
CityHilsboro
Period15/09/1417/09/14

Fingerprint

Dive into the research topics of 'Static Approximation of MPI Communication Graphs for Optimized Process Placement'. Together they form a unique fingerprint.

Cite this