Implementing a high-level distributed-memory parallel haskell in haskell

  • Authors:
  • Patrick Maier;Phil Trinder

  • Affiliations:
  • School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh, UK;School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh, UK

  • Venue:
  • IFL'11 Proceedings of the 23rd international conference on Implementation and Application of Functional Languages
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present the initial design, implementation and preliminary evaluation of a new distributed-memory parallel Haskell, HdpH. The language is a shallowly embedded parallel extension of Haskell that supports high-level semi-explicit parallelism, is scalable, and has the potential for fault tolerance. The HdpH implementation is designed for maintainability without compromising performance too severely. To provide maintainability the implementation is modular and layered and, crucially, coded in vanilla Concurrent Haskell. Initial performance results are promising for three simple data parallel or divide-and-conquer programs, e. g., an absolute speedup of 135 on 168 cores of a Beowulf cluster.