Automatic memory optimizations for improving MPI derived datatype performance

  • Authors:
  • Surendra Byna;Xian-He Sun;Rajeev Thakur;William Gropp

  • Affiliations:
  • Department of Computer Science, Illinois Institute of Technology, Chicago, IL;Department of Computer Science, Illinois Institute of Technology, Chicago, IL;Math. and Computer Science Division, Argonne National Laboratory, Argonne, IL;Math. and Computer Science Division, Argonne National Laboratory, Argonne, IL

  • Venue:
  • EuroPVM/MPI'06 Proceedings of the 13th European PVM/MPI User's Group conference on Recent advances in parallel virtual machine and message passing interface
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

MPI derived datatypes allow users to describe noncontiguous memory layout and communicate noncontiguous data with a single communication function. This powerful feature enables an MPI implementation to optimize the transfer of noncontiguous data. In practice, however, many implementations of MPI derived datatypes perform poorly, which makes application developers avoid using this feature. In this paper, we present a technique to automatically select templates that are optimized for memory performance based on the access pattern of derived datatypes. We implement this mechanism in the MPICH2 source code. The performance of our implementation is compared to well-written manual packing/unpacking routines and original MPICH2 implementation. We show that performance for various derived datatypes is significantly improved and comparable to that of optimized manual routines.