ParaForming: forming parallel haskell programs using novel refactoring techniques

  • Authors:
  • Christopher Brown;Hans-Wolfgang Loidl;Kevin Hammond

  • Affiliations:
  • School of Computer Science, University of St. Andrews, UK;School of Mathematical and Computer Sciences, Heriot-Watt University, UK;School of Computer Science, University of St. Andrews, UK

  • Venue:
  • TFP'11 Proceedings of the 12th international conference on Trends in Functional Programming
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Enabling programmers to "think parallel" is critical if we are to be able to effectively exploit future multicore/manycore architectures. This paper introduces paraforming: a new approach to constructing parallel functional programs using formally-defined refactoring transformations. We introduce a number of new refactorings for Parallel Haskell that capture common parallel abstractions, such as divide-and-conquer and data parallelism, and show how these can be used by HaRe, the Haskell Refactorer. Using a paraforming approach, we are able to easily obtain significant and scalable speedups (up to 7.8 on an 8-core machine).