Mechanisms that separate algorithms from implementations for parallel patterns

  • Authors:
  • Christopher D. Krieger;Andrew Stone;Michelle Mills Strout

  • Affiliations:
  • Colorado State University, Fort Collins, CO;Colorado State University, Fort Collins, CO;Colorado State University, Fort Collins, CO

  • Venue:
  • Proceedings of the 2010 Workshop on Parallel Programming Patterns
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Parallel programming implementation details often obfuscate the original algorithm and make later algorithm maintenance difficult. Although parallel programming patterns help guide the structured development of parallel programs, they do not necessarily avoid the code obfuscation problem. In this paper, we observe how emerging and existing programming models realized as programming languages, preprocessor directives, and/or libraries are able to support the Implementation Strategy Patterns that were proposed as part of the Our Pattern Language. We posit that these emerging programming models are in some cases able to avoid code obfuscation through features that prevent tangling of algorithm and implementation details for parallelization and performance optimizations. We qualitatively evaluate these features in terms of how much they prevent tangling and how well they provide programmer-control over implementation details. We conclude with remarks on potential research directions for studying how to produce efficient and maintainable parallel programs by separating algorithm from implementation.