loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
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
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.