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 Nguyen | 1 | 61 | 5.22 |
Pietro Cicotti | 2 | 101 | 14.52 |
Eric J. Bylaska | 3 | 2 | 1.39 |
Dan Quinlan | 4 | 54 | 5.12 |
Scott B. Baden | 5 | 519 | 67.52 |