SM Martin, MJ Berger, SB Baden, "Toucan-A Translator for Communication Tolerant MPI Applications", Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium, IPDPS 2017, June 2017, 998-1007, doi: 10.1109/IPDPS.2017.44
We discuss early results with Toucan, a source-to-source translator that automatically restructures C/C++ MPI applications to overlap communication with computation. We co-designed the translator and runtime system to enable dynamic, dependence-driven execution of MPI applications, and require only a modest amount of programmer annotation. Co-design was essential to realizing overlap through dynamic code block reordering and avoiding the limitations of static code relocation and inlining. We demonstrate that Toucan hides significant communication in four representative applications running on up to 24K cores 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. © 2017 IEEE.