Comparing and Optimising Parallel Haskell Implementations for Multicore Machines

Jost Berthold, Simon Marlow, Kevin Hammond, A.D. Al Zain

2 Citations (Scopus)

Abstract

In this paper, we investigate the differences and tradeoffs imposed by two parallel Haskell dialects running on multicore machines. GpH and Eden are both constructed using the highly-optimising sequential GHC compiler, and share thread scheduling, and other elements, from a common code base. The GpH implementation investigated here uses a physically-shared heap, which should be well-suited to multicore architectures. In contrast, the Eden implementation adopts an approach that has been designed for use on distributed-memory parallel machines: a system of multiple, independent heaps (one per core), with inter-core communication handled by message-passing rather
than through shared heap cells. We report two main results. Firstly, we report on the effect of a number of optimisations that we applied to the shared-memory GpH implementation in order to address some performance issues that were revealed by our testing: for example, we implemented a work-stealing approach to task allocation. Our optimisations improved the performance of the shared-heap GpH implementation by as much as 30% on eight cores. Secondly, the shared heap approach is, rather surprisingly, not superior to a distributed heap implementation:
both give similar performance results.
Original languageEnglish
Title of host publicationProceedings of the 2009 International Conference on Parallel Processing Workshops : ICPPW '09
Number of pages8
PublisherIEEE Computer Society Press
Publication date2009
Pages386-393
ISBN (Print)978-0-7695-3803-7
DOIs
Publication statusPublished - 2009
Event3rd Int. Workshop on Advanced Distributed and Parallel Network Applications (ADPNA-2009) - Vienna, Austria
Duration: 22 Sept 200925 Sept 2009
Conference number: 3

Conference

Conference3rd Int. Workshop on Advanced Distributed and Parallel Network Applications (ADPNA-2009)
Number3
Country/TerritoryAustria
CityVienna
Period22/09/200925/09/2009

Fingerprint

Dive into the research topics of 'Comparing and Optimising Parallel Haskell Implementations for Multicore Machines'. Together they form a unique fingerprint.

Cite this