Leveraging C++ Meta-programming Capabilities to Simplify the Message Passing Programming Model

  • Simone Pellegrini
  • Radu Prodan
  • Thomas Fahringer
Conference paper

DOI: 10.1007/978-3-642-24449-0_34

Part of the Lecture Notes in Computer Science book series (LNCS, volume 6960)
Cite this paper as:
Pellegrini S., Prodan R., Fahringer T. (2011) Leveraging C++ Meta-programming Capabilities to Simplify the Message Passing Programming Model. In: Cotronis Y., Danalis A., Nikolopoulos D.S., Dongarra J. (eds) Recent Advances in the Message Passing Interface. EuroMPI 2011. Lecture Notes in Computer Science, vol 6960. Springer, Berlin, Heidelberg

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.

Keywords

Message passing C++ Meta-programming PGAS 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Simone Pellegrini
    • 1
  • Radu Prodan
    • 1
  • Thomas Fahringer
    • 1
  1. 1.University of Innsbruck – Distributed and Parallel Systems GroupInnsbruckAustria

Personalised recommendations