JUNE 18–22, 2017

Presentation Details

Name: Hans Meuer Award Finalist 2: Designing Dynamic & Adaptive MPI Point-to-Point Communication Protocols for Efficient Overlap of Computation & Communication
Time: Monday, June 19, 2017
04:45 pm - 05:25 pm
Room:   Panorama 3
Messe Frankfurt
Speaker:   Dhabaleswar K. Panda, Ohio State University
  Hari Subramoni, Ohio State University
Abstract:   Broadly, there exist two protocols for point-to-point data transfer in the Message Passing Interface (MPI) programming model - Eager and Rendezvous. State-of-the-art MPI libraries decide the switch point between these protocols based on the trade-off between memory footprint of the MPI library and communication performance without considering the overlap potential of these communication protocols. This results in sub-par overlap of communication and computation at the application level. While application developers can manually tune this threshold to achieve better overlap, it involves significant effort. Further, the communication pattern may change based on the size of the job and the input requiring constant re-tuning making such a solution impractical. We take up this challenge and propose designs for point-to-point data transfer in MPI which accounts for overlap in addition to performance and memory footprint. The proposed designs dynamically adapt to the communication characteristic of each communicating pair of processes at runtime. Our proposed designs are able to transition from one eager-threshold to another without impacting the communication throughput of the application while significantly cutting down on memory footprint of the MPI library. Experimental evaluations show that for the Amber molecular dynamics application at 1,024 processes, the proposed design is able to perform on-par with the best manually tuned versions while reducing the memory footprint of the MPI library by 25%. To the best of our knowledge, this is the first point-to-point communication protocol design that is capable of dynamically adapting to the communication requirements of end applications.