Title
Automatic translation of MPI source into a latency-tolerant, data-driven form.
Abstract
Hiding communication behind useful computation is an important performance programming technique but remains an inscrutable programming exercise even for the expert. We present Bamboo, a code transformation framework that can realize communication overlap in applications written in MPI without the need to intrusively modify the source code. We reformulate MPI source into a task dependency graph representation, which partially orders the tasks, enabling the program to execute in a data-driven fashion under the control of an external runtime system. Experimental results demonstrate that Bamboo significantly reduces communication delays while requiring only modest amounts of programmer annotation for a variety of applications and platforms, including those employing co-processors and accelerators. Moreover, Bamboos performance meets or exceeds that of labor-intensive hand coding. The translator is more than a means of hiding communication costs automatically; it demonstrates the utility of semantic level optimization against a well-known library. Bamboo is a translator that can reformulate MPI source into a task graph form.Bamboo supports both point-to-point and collective communication.Bamboo supports GPUs, hiding communication among GPUs and between hosts and GPUs.Bamboo speeds up applications containing elaborate data and control structures.
Year
DOI
Venue
2017
10.1016/j.jpdc.2017.02.009
J. Parallel Distrib. Comput.
Keywords
Field
DocType
Automatic communication hiding,Source-to-source translator,Task dependency graph,Data-driven execution
Programmer,Data-driven,Computer science,Source code,Parallel computing,Code (cryptography),Graph (abstract data type),Distributed computing,Runtime system,Computation,Hand coding
Journal
Volume
Issue
ISSN
106
C
0743-7315
Citations 
PageRank 
References 
0
0.34
24
Authors
5
Name
Order
Citations
PageRank
Tan Nguyen1615.22
Pietro Cicotti210114.52
Eric J. Bylaska321.39
Dan Quinlan4545.12
Scott B. Baden551967.52