Raising the level of abstraction for developing message passing applications

  • Authors:
  • Ritu Arora;Purushotham Bangalore;Marjan Mernik

  • Affiliations:
  • Department of Computer and Information Sciences, The University of Alabama at Birmingham, Birmingham, USA 35294-1170;Department of Computer and Information Sciences, The University of Alabama at Birmingham, Birmingham, USA 35294-1170;Faculty of Electrical Engineering and Computer Science, University of Maribor, Maribor, Slovenia 2000

  • Venue:
  • The Journal of Supercomputing
  • Year:
  • 2012

Quantified Score

Hi-index 0.01

Visualization

Abstract

Message Passing Interface (MPI) is the most popular standard for writing portable and scalable parallel applications for distributed memory architectures. Writing efficient parallel applications using MPI is a complex task, mainly due to the extra burden on programmers to explicitly handle all the complexities of message-passing (viz., inter-process communication, data distribution, load-balancing, and synchronization). The main goal of our research is to raise the level of abstraction of explicit parallelization using MPI such that the effort involved in developing parallel applications is significantly reduced in terms of the reduction in the amount of code written manually while avoiding intrusive changes to existing sequential programs. In this research, generative programming tools and techniques are combined with a domain-specific language, Hi-PaL (High-Level Parallelization Language), for automating the process of generating and inserting the required code for parallelization into the existing sequential applications. The results show that the performance of the generated applications is comparable to the manually written versions of the applications, while requiring no explicit changes to the existing sequential code.