Toucan-A Translator for Communication Tolerant MPI Applications

Sergio M. Martin, Marsha Berger, Scott B. Baden

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

Abstract

We discuss early results with Toucan, a source-to-source translatorthat automatically restructures C/C++ MPI applications tooverlap communication with computation. We co-designed thetranslator and runtime system to enable dynamic, dependence-drivenexecution of MPI applications, and require only a modest amount ofprogrammer annotation. Co-design was essential to realizingoverlap through dynamic code block reordering and avoiding the limitations of static code relocation and inlining. We demonstrate that Toucan hides significantcommunication in four representative applications running on up to 24Kcores of NERSC's Edison platform. Using Toucan, we have hidden from 33% to 85% of the communication overhead, with performance meeting or exceeding that of painstakingly hand-written overlap variants.

Original languageEnglish (US)
Title of host publicationProceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium, IPDPS 2017
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages998-1007
Number of pages10
ISBN (Electronic)9781538639146
DOIs
StatePublished - Jun 30 2017
Event31st IEEE International Parallel and Distributed Processing Symposium, IPDPS 2017 - Orlando, United States
Duration: May 29 2017Jun 2 2017

Other

Other31st IEEE International Parallel and Distributed Processing Symposium, IPDPS 2017
CountryUnited States
CityOrlando
Period5/29/176/2/17

Fingerprint

Communication
Relocation
Block codes

Keywords

  • Communication/Computation Overlap
  • Data-Driven
  • MPI
  • Source-to-Source Translator

ASJC Scopus subject areas

  • Information Systems
  • Computer Networks and Communications
  • Hardware and Architecture

Cite this

Martin, S. M., Berger, M., & Baden, S. B. (2017). Toucan-A Translator for Communication Tolerant MPI Applications. In Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium, IPDPS 2017 (pp. 998-1007). [7967190] Institute of Electrical and Electronics Engineers Inc.. https://doi.org/10.1109/IPDPS.2017.44

Toucan-A Translator for Communication Tolerant MPI Applications. / Martin, Sergio M.; Berger, Marsha; Baden, Scott B.

Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium, IPDPS 2017. Institute of Electrical and Electronics Engineers Inc., 2017. p. 998-1007 7967190.

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

Martin, SM, Berger, M & Baden, SB 2017, Toucan-A Translator for Communication Tolerant MPI Applications. in Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium, IPDPS 2017., 7967190, Institute of Electrical and Electronics Engineers Inc., pp. 998-1007, 31st IEEE International Parallel and Distributed Processing Symposium, IPDPS 2017, Orlando, United States, 5/29/17. https://doi.org/10.1109/IPDPS.2017.44
Martin SM, Berger M, Baden SB. Toucan-A Translator for Communication Tolerant MPI Applications. In Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium, IPDPS 2017. Institute of Electrical and Electronics Engineers Inc. 2017. p. 998-1007. 7967190 https://doi.org/10.1109/IPDPS.2017.44
Martin, Sergio M. ; Berger, Marsha ; Baden, Scott B. / Toucan-A Translator for Communication Tolerant MPI Applications. Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium, IPDPS 2017. Institute of Electrical and Electronics Engineers Inc., 2017. pp. 998-1007
@inproceedings{2fbde6288e5b4eb7a91f8ba787aa05bf,
title = "Toucan-A Translator for Communication Tolerant MPI Applications",
abstract = "We discuss early results with Toucan, a source-to-source translatorthat automatically restructures C/C++ MPI applications tooverlap communication with computation. We co-designed thetranslator and runtime system to enable dynamic, dependence-drivenexecution of MPI applications, and require only a modest amount ofprogrammer annotation. Co-design was essential to realizingoverlap through dynamic code block reordering and avoiding the limitations of static code relocation and inlining. We demonstrate that Toucan hides significantcommunication in four representative applications running on up to 24Kcores of NERSC's Edison platform. Using Toucan, we have hidden from 33{\%} to 85{\%} of the communication overhead, with performance meeting or exceeding that of painstakingly hand-written overlap variants.",
keywords = "Communication/Computation Overlap, Data-Driven, MPI, Source-to-Source Translator",
author = "Martin, {Sergio M.} and Marsha Berger and Baden, {Scott B.}",
year = "2017",
month = "6",
day = "30",
doi = "10.1109/IPDPS.2017.44",
language = "English (US)",
pages = "998--1007",
booktitle = "Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium, IPDPS 2017",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
address = "United States",

}

TY - GEN

T1 - Toucan-A Translator for Communication Tolerant MPI Applications

AU - Martin, Sergio M.

AU - Berger, Marsha

AU - Baden, Scott B.

PY - 2017/6/30

Y1 - 2017/6/30

N2 - We discuss early results with Toucan, a source-to-source translatorthat automatically restructures C/C++ MPI applications tooverlap communication with computation. We co-designed thetranslator and runtime system to enable dynamic, dependence-drivenexecution of MPI applications, and require only a modest amount ofprogrammer annotation. Co-design was essential to realizingoverlap through dynamic code block reordering and avoiding the limitations of static code relocation and inlining. We demonstrate that Toucan hides significantcommunication in four representative applications running on up to 24Kcores of NERSC's Edison platform. Using Toucan, we have hidden from 33% to 85% of the communication overhead, with performance meeting or exceeding that of painstakingly hand-written overlap variants.

AB - We discuss early results with Toucan, a source-to-source translatorthat automatically restructures C/C++ MPI applications tooverlap communication with computation. We co-designed thetranslator and runtime system to enable dynamic, dependence-drivenexecution of MPI applications, and require only a modest amount ofprogrammer annotation. Co-design was essential to realizingoverlap through dynamic code block reordering and avoiding the limitations of static code relocation and inlining. We demonstrate that Toucan hides significantcommunication in four representative applications running on up to 24Kcores of NERSC's Edison platform. Using Toucan, we have hidden from 33% to 85% of the communication overhead, with performance meeting or exceeding that of painstakingly hand-written overlap variants.

KW - Communication/Computation Overlap

KW - Data-Driven

KW - MPI

KW - Source-to-Source Translator

UR - http://www.scopus.com/inward/record.url?scp=85027693885&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85027693885&partnerID=8YFLogxK

U2 - 10.1109/IPDPS.2017.44

DO - 10.1109/IPDPS.2017.44

M3 - Conference contribution

AN - SCOPUS:85027693885

SP - 998

EP - 1007

BT - Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium, IPDPS 2017

PB - Institute of Electrical and Electronics Engineers Inc.

ER -