1. Automatic translation of MPI source into a latency-tolerant, data-driven form
- Author
-
Nguyen, Tan, Cicotti, Pietro, Bylaska, Eric, Quinlan, Dan, and Baden, Scott
- Subjects
Distributed Computing and Systems Software ,Information and Computing Sciences ,Automatic communication hiding ,Source-to-source translator ,Task dependency graph ,Data-driven execution ,Computer Software ,Distributed Computing ,Distributed computing and systems software - 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, Bamboo's 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.
- Published
- 2017