×

曼蒂科尔

swMATH ID: 20009
软件作者: 马修·弗鲁特
描述: manticore项目。Manticore项目是一项研究工作,旨在设计和实现一种针对商品多核和共享内存多处理器的并行函数编程语言。我们的语言是标准ML的一种方言,称为并行ML(PML),它从一个严格的、无变化的功能核心开始,并扩展为用于细粒度并行的隐式线程构造和用于粗粒度并行的CML风格的显式并发。我们有一个原型实现,它在32核Intel机器和48核AMD机器上演示了合理的顺序性能和良好的可扩展性。我们过去的研究贡献包括:CML的并行实现;一种新的嵌套调度器基础结构;一组主要具有顺序语义的表达性隐线程并行结构;一种懒惰树分裂(LTS)策略,用于在不规则的树状数据结构上进行并行计算的全性能工作密封。
在这次演讲中,我将激发和描述并行ML语言的设计以及Manticore编译器和运行时系统的实现中的要点。在简要讨论了我们过去的研究成果后,我将重点介绍我们最近的研究成果。在一系列工作中,我们已经证明了将普通台式机和服务器视为非统一内存访问(NUMA)机器的重要性。这对于并行垃圾收集的可伸缩性尤其重要,在并行垃圾收集中,低内存流量的不平衡工作通常比高内存流量的平衡工作更好。在另一行工作中,我们探索了仅数据平坦化,这是一种用于嵌套数据并行的编译策略,它避开了传统的矢量化方法,该方法同时转换控制和数据,是为宽矢量SIMD体系结构设计的。相反,仅数据展平会转换嵌套的数据结构,但会保留完整的控制结构,这是一种更适合多核架构的策略。最后,我们正在探索在并行计算中提供受控形式(确定性和非确定性)可变状态的语言特性。我们首先观察到,有些并行有状态算法的性能明显优于相应的无可变状态并行算法。为了支持这些算法,我们扩展了Manticore 2,使用动态大小的并行哈希表的高性能实现来存储纯函数,以提供可扩展的性能。我们还探索了用于一般可变状态的各种执行模型,其关键设计标准是,所有执行都应该保留对代码行为进行局部推理的能力。
主页: http://dl.acm.org/citation.cfm?id=2502323.2508150
相关软件: MapReduce;NESL公司;GHC公司;哈斯克尔;CUDA公司
引用于: 2文件

0连载引用

在1个字段中引用

2 计算机科学(68至XX)

按年份列出的引文