arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1302.2837cs.DCcs.PL
收藏

多核语言的可用性和性能基准测试

Benchmarking Usability and Performance of Multicore Languages

Sebastian Nanz, Scott West, Kaue Soares da Silveira, Bertrand Meyer

摘要:

开发人员面临着支持多核计算的程序设计语言和库的广泛选择。表达并行性和同步的范例越来越多样化,但它们对可用性和性能的影响在很大程度上仍然不清楚。本文描述了一个实验,比较了四种明显不同的并行编程方法:Chapel,Cilk,Go和Threading Building Blocks(TBB)。每种语言都用于实现六个基准程序的顺序和并行版本。然后由该语言的著名专家对实现进行审查,从而获得每种语言和基准的参考版本。结果池的96个实现用于比较语言的源代码大小,编码时间,执行时间和加速。试验揭示了所有方法的长处和短处,有助于根据一套特定的要求明智地选择一种语文。专家评审步骤进一步强调了在使用现代并行编程方法时专家知识的重要性。

英文摘要:

Developers face a wide choice of programming languages and libraries supporting multicore computing. Ever more diverse paradigms for expressing parallelism and synchronization become available while their influence on usability and performance remains largely unclear. This paper describes an experiment comparing four markedly different approaches to parallel programming: Chapel, Cilk, Go, and Threading Building Blocks (TBB). Each language is used to implement sequential and parallel versions of six benchmark programs. The implementations are then reviewed by notable experts in the language, thereby obtaining reference versions for each language and benchmark. The resulting pool of 96 implementations is used to compare the languages with respect to source code size, coding time, execution time, and speedup. The experiment uncovers strengths and weaknesses in all approaches, facilitating an informed selection of a language under a particular set of requirements. The expert review step furthermore highlights the importance of expert knowledge when using modern parallel programming approaches.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑