Leveraging C++ meta-programming capabilities to simplify the message passing programming model

  • Authors:
  • Simone Pellegrini;Radu Prodan;Thomas Fahringer

  • Affiliations:
  • University of Innsbruck - Distributed and Parallel Systems Group, Innsbruck, Austria;University of Innsbruck - Distributed and Parallel Systems Group, Innsbruck, Austria;University of Innsbruck - Distributed and Parallel Systems Group, Innsbruck, Austria

  • Venue:
  • EuroMPI'11 Proceedings of the 18th European MPI Users' Group conference on Recent advances in the message passing interface
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Message passing is the primary programming model utilized for distributed memory systems. Because it aims at performance, the level of abstraction is low, making distributed memory programming often difficult and error-prone. In this paper, we leverage the expressivity and meta-programming capabilities of the C++ language to raise the abstraction level and simplify message passing programming. We redefine the semantics of the assignment operator to work in a distributed memory fashion and leave to the compiler the burden of generating the required communication operations. By enforcing more severe checks at compile-time we are able to statically capture common programming errors without causing runtime overhead.