The Journal of Supercomputing

, Volume 62, Issue 3, pp 1560–1582

PPModel: a modeling tool for source code maintenance and optimization of parallel programs

  • Ferosh Jacob
  • Jeff Gray
  • Jeffrey C. Carver
  • Marjan Mernik
  • Purushotham Bangalore
Article

DOI: 10.1007/s11227-012-0821-7

Cite this article as:
Jacob, F., Gray, J., Carver, J.C. et al. J Supercomput (2012) 62: 1560. doi:10.1007/s11227-012-0821-7
  • 175 Downloads

Abstract

As the computation power in desktops advances, parallel programming has emerged as one of the essential skills needed by next generation software engineers. However, programs written in popular parallel programming paradigms have a substantial amount of sequential code mixed with the parallel code. Several such versions supporting different platforms are necessary to find the optimum version of the program for the available resources and problem size. As revealed by our study on benchmark programs, sequential code is often duplicated in these versions. This can affect code comprehensibility and re-usability of the software. In this paper, we discuss a framework named PPModel, which is designed and implemented to free programmers from these scenarios. Using PPModel, a programmer can separate parallel blocks in a program, map these blocks to various platforms, and re-execute the entire program. We provide a graphical modeling tool (PPModel) intended for Eclipse users and a Domain-Specific Language (tPPModel) for non-Eclipse users to facilitate the separation, the mapping, and the re-execution. This is illustrated with a case study from a benchmark program, which involves re-targeting a parallel block to CUDA and another parallel block to OpenMP. The modified program gave almost 5× performance gain compared to the sequential counterpart, and 1.5× gain compared to the existing OpenMP version.

Keywords

CUDA OpenMP PPModel tPPModel DSL 

Copyright information

© Springer Science+Business Media, LLC 2012

Authors and Affiliations

  • Ferosh Jacob
    • 1
  • Jeff Gray
    • 1
  • Jeffrey C. Carver
    • 1
  • Marjan Mernik
    • 2
  • Purushotham Bangalore
    • 3
  1. 1.Department of Computer ScienceUniversity of AlabamaTuscaloosaUSA
  2. 2.Faculty of Electrical Engineering and Computer ScienceUniversity of MariborMariborSlovenia
  3. 3.Department of Information and Computer SciencesUniversity of Alabama at BirminghamBirminghamUSA

Personalised recommendations