首页> 外文会议>Parallel Processing Workshops, 2009. ICPPW '09 >Comparing and Optimising Parallel Haskell Implementations for Multicore Machines
【24h】

Comparing and Optimising Parallel Haskell Implementations for Multicore Machines

机译:比较和优化多核计算机的并行Haskell实施

获取原文

摘要

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.
机译:在本文中,我们研究了在多核计算机上运行的两个并行Haskell方言所施加的差异和折衷。 GpH和Eden都是使用高度优化的顺序GHC编译器构建的,并从公共代码库共享线程调度和其他元素。此处研究的GpH实现使用物理共享堆,该堆应该非常适合多核体系结构。相比之下,Eden实现采用一种专为分布式内存并行机设计的方法:具有多个独立堆(每个内核一个)的系统,内核间通信通过消息传递而不是通过共享堆进行处理细胞。我们报告了两个主要结果。首先,我们报告了一些应用于共享内存GpH实现的优化措施的效果,以解决测试中发现的一些性能问题:例如,我们采用了一种工作偷窃方法进行任务分配。我们的优化使共享堆GpH实施在八个内核上的性能提高了30%。其次,令人惊讶的是,共享堆方法并不优于分布式堆实现:两者都给出相似的性能结果。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号