Micro-applications for communication data access patterns and MPI datatypes

  • Authors:
  • Timo Schneider;Robert Gerstenberger;Torsten Hoefler

  • Affiliations:
  • University of Illinois at Urbana-Champaign, IL;University of Illinois at Urbana-Champaign, IL;University of Illinois at Urbana-Champaign, IL, USA, Department of Computer Science, ETH Zurich, Switzerland

  • Venue:
  • EuroMPI'12 Proceedings of the 19th European conference on Recent Advances in the Message Passing Interface
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Data is often communicated from different locations in application memory and is commonly serialized (copied) to send buffers or from receive buffers. MPI datatypes are a way to avoid such intermediate copies and optimize communications, however, it is often unclear which implementation and optimization choices are most useful in practice. We extracted the send/recv-buffer access pattern of a representative set of scientific applications into micro-applications that isolate their data access patterns. We also observed that the buffer-access patterns in applications can be categorized into three different groups. Our micro-applications show that up to 90% of the total communication time can be spent with local serialization and we found significant performance discrepancies between state-of-the-art MPI implementations. Our micro-applications aim to provide a standard benchmark for MPI datatype implementations to guide optimizations similarly to SPEC CPU and the Livermore loops do for compiler optimizations.