2009 International Conference on Parallel Processing Workshops Comparing and Optimising Parallel Haskell Implementations for Multicore Machines Vienna, Austria September 22-September 25 ISBN: 978-0-7695-3803-7
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ICPPW.2009.10
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.
Citation:
Jost Berthold, Simon Marlow, Kevin Hammond, Abdallah Al Zain, "Comparing and Optimising Parallel Haskell Implementations for Multicore Machines," icppw, pp.386-393, 2009 International Conference on Parallel Processing Workshops, 2009 Usage of this product signifies your acceptance of the Terms of Use. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||