skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

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. Bamboo reformulates MPI source into the form of a task dependency graph that expresses a partial ordering among 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 wellknown library.

Authors:
; ; ; ;
Publication Date:
Research Org.:
Pacific Northwest National Laboratory (PNNL), Richland, WA (US), Environmental Molecular Sciences Laboratory (EMSL)
Sponsoring Org.:
USDOE
OSTI Identifier:
1367384
Report Number(s):
PNNL-SA-124997
Journal ID: ISSN 0743-7315; 49691; 1417c; KP1704020
DOE Contract Number:  
AC05-76RL01830
Resource Type:
Journal Article
Resource Relation:
Journal Name: Journal of Parallel and Distributed Computing; Journal Volume: 106
Country of Publication:
United States
Language:
English
Subject:
Communication-computation; Overlap; source to source translator; data-driven execution; Environmental Molecular Sciences Laboratory

Citation Formats

Nguyen, Tan, Cicotti, Pietro, Bylaska, Eric, Quinlan, Dan, and Baden, Scott. Automatic translation of MPI source into a latency-tolerant, data-driven form. United States: N. p., 2017. Web. doi:10.1016/j.jpdc.2017.02.009.
Nguyen, Tan, Cicotti, Pietro, Bylaska, Eric, Quinlan, Dan, & Baden, Scott. Automatic translation of MPI source into a latency-tolerant, data-driven form. United States. doi:10.1016/j.jpdc.2017.02.009.
Nguyen, Tan, Cicotti, Pietro, Bylaska, Eric, Quinlan, Dan, and Baden, Scott. Tue . "Automatic translation of MPI source into a latency-tolerant, data-driven form". United States. doi:10.1016/j.jpdc.2017.02.009.
@article{osti_1367384,
title = {Automatic translation of MPI source into a latency-tolerant, data-driven form},
author = {Nguyen, Tan and Cicotti, Pietro and Bylaska, Eric and Quinlan, Dan and Baden, Scott},
abstractNote = {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. Bamboo reformulates MPI source into the form of a task dependency graph that expresses a partial ordering among 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 wellknown library.},
doi = {10.1016/j.jpdc.2017.02.009},
journal = {Journal of Parallel and Distributed Computing},
number = ,
volume = 106,
place = {United States},
year = {Tue Aug 01 00:00:00 EDT 2017},
month = {Tue Aug 01 00:00:00 EDT 2017}
}