期刊文献+

确定性多线程编程模型的可编程性及其实现性能的探索 被引量:2

Exploring the Programmability and Implementation Performance for a Deterministic Multithreaded Programming Model
下载PDF
导出
摘要 传统的多线程程序存在许多不确定性,导致编程困难,易出错.确定性并行编程模型是保证并行程序确定执行的有效途径之一.针对所提出的确定性消息传递多线程编程模型Det MP及它在确定性生产-消费虚拟内存模型SPMC上的实现,本文探索Det MP的可编程性和实现机制对性能的影响.包括:总结了用Det MP改写现有Pthreads多线程程序的方法,并在32核计算机上用7个MapReduce应用程序和1个流水线并行程序dedup对比改写前后的性能.实验表明用Det MP改写后的程序在多数情况下比原来的Pthreads程序有好的性能.为了分析这种性能差异是否因使用了SPMC虚拟内存模型而引起,本文进一步基于传统Pthreads共享内存来实现Det MP应用编程接口,并用所改写的应用程序集评测它们在Det MP的两种实现上运行的性能.实验表明,当CPU核数为16和32时,基于SPMC的Det MP实现在除Matrix Multiply和String Match外的6个程序上有更好的性能,最高甚至比基于Pthreads的实现快9.5倍;而在Matrix Multiply和String Match上或者核数低于16时,两种实现的性能相当. Traditional multithreaded programs are intrinsic nondeterministic,which makes them tough to write and error-prone. Deter- ministic parallel programming model is an effective way to ensure parallel programs execute deterministically. We proposed DetMP, a deterministic message passing mulfithreaded programming model, and implemented it atop our proposed deterministic producer-con- sumer virtual memory model{ SPMC). In this paper, we study the programmability of DetMP and the impact on performance of its im- plementation mechanisms. We summarize a set of rules on how to rewrite a Pthreads program with DetMP, and use the rewritten DetMP version and the original Pthreads version of seven MapReduce programs as well as one pipelined parallel program { dedup ) to compare the performance difference on a 32-core machine. Evaluation results show that the rewritten programs always perform better than the original Pthreads ones. To further analyze whether the performance difference is caused by SPMC or not,the DetMP API is further implemented by using traditional shared-memory Pthreads library. Evaluation results show that all applications except for Matrix Multi- ply and String Match have better performance on DetMP implemented atop SPMC at 16 and 32 cores,obtaining up to 9. 5 times faster; and the performance of the two implementations is comparable for Matrix Multiply,String Match or other applications when the number of cores is lower than 16.
作者 曹慧芳 张昱
出处 《小型微型计算机系统》 CSCD 北大核心 2016年第6期1126-1131,共6页 Journal of Chinese Computer Systems
基金 国家"八六三"高技术研究发展计划项目(2012AA010901)资助 国家自然科学基金项目(61229201)资助
关键词 确定性多线程编程模型 虚拟内存模型 性能 可扩展性 deterministic multithreaded programming model virtual memory model performance scalability
  • 相关文献

参考文献3

二级参考文献86

  • 1Burckhardt S, Kothari P, Musuvathi M, et al. A randomized scheduler with probabilistic guarantees of finding bugs [ J ] ACM Sigplan Notices, 2010, 45(3) : 167-178. 被引量:1
  • 2Bergan T, Anderson O, Devietti J, et al. Coredet: a compiler and runtime system for deterministic multithreaded execution[J]. ACM SIGARCH Computer Architecture News, 2010, 38 (1) :53-64. 被引量:1
  • 3Liu T, Curtsinger C, Berger E. Dthreads: efficient deterministic multithreading [ C ]. Proceedings of ACM Symposium on Operating Systems Principles, 2011 : 327-336. 被引量:1
  • 4Devietti J, Lucia B, Ceze L, et al. Dmp: deterministic shared memory multiprocessing [ J ]. ACM Sigplan Notices, 2009, 44 (3) : 85-96. 被引量:1
  • 5Berger E, Yang T, Liu T, et al. Grace: safe multithreaded pro- gramming for c/c + + [ J ]. ACM Sigplan Notices, 2009,44 (10) : 81-96. 被引量:1
  • 6Olszewski M, Ansel J, Amarasinghe S. Kendo : efficient determin- istic multithreading in software [ J ]. ACM Sigplan Notices, 2009, 44(3) : 97-108. 被引量:1
  • 7Bergan T, Hunt N, Ceze L, et al. Deterministic process groups in Dose [C]. Proceedings of the 9th Symposium on Operating Systems Design and Implementation, 2010 : 1-16. 被引量:1
  • 8Devietti J, Nelson J, Bergan T, et al. Rcdc : a relaxed consistency deterministic computer[ J]. ACM SIGARCH Computer Architec- ture News, 2011, 39( 1 ) :67-78. 被引量:1
  • 9Cui H, Wu J, Tsai C, et al. Stable deterministic multithreading through schedule memorization[ C]. Proceedings of the 9th Sym- posium on Operating Systems Design and Implementation, Vancou- ver, Canada, 2010: 1-15. 被引量:1
  • 10Cui H, Wu J, Gallagher J, et al. Efficient deterministic mul- tithreading through schedule relaxation[ C ]. Proceedings of ACM Symposium on Operating Systems Principles, 2011 : 337-351. 被引量:1

共引文献5

同被引文献1

引证文献2

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部