基于弱内存一致性的多线程确定性执行技术研究

来源 :哈尔滨工业大学 | 被引量 : 0次 | 上传用户:longzhi2009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,随着多核处理器的快速发展,人们广泛的使用并行技术来满足对程序性能提升的需求。由此,带来了诸多并行编程问题,本文就是研究其中之一,确定性问题。它给并行程序的编写,调试,测试带来诸多不便,同时降低了程序的可靠性。本文针对国产飞腾平台上的共享内存多线程程序,提出了一种确定性执行技术,并设计实现了确定性执行系统DetRT以代替Pthread运行时库。首先,本文研究了确定性问题的来源,将其分为数据竞争和同步竞争。在论证弱内存一致性对确定性执行系统性能提升价值的基础上,使用TSO弱内存一致性。本文提出了一种基于弱内存一致性的确定性执行技术,该技术采用串行阶段和并行阶段交替执行的方式,以同步操作为阶段分割的依据。并行阶段时线程间内存隔离,串行阶段时同步各线程的内存修改。本文针对飞腾平台应用程序特征提出了两点改进技术,一是提出串行阶段部分并行化技术,将使用不同同步操作的线程划分到不同的相关线程组中,线程组内串行,组间并行,解决因同步操作串行执行导致的性能下降问题;二是提出一种性能指导标记技术,让长并行距离线程跳过指定串行阶段,解决并行阶段的负载不均衡问题,给编程阶段性能优化带来了新方法。本文采用了内存隔离提交技术实现TSO弱内存一致性,该技术使用了进程代替线程技术和页面保护机制,实现共享内存在并行阶段的隔离和串行阶段的提交。同时,采用了令牌队列方式,给串行阶段顺序的执行提供了确定性保证。最后,本文在飞腾平台上设计实现了确定性执行系统DetRT,它与Pthread线程库接口完全兼容。功能测试表明,其在同步竞争和数据竞争出现时能够保证多线程程序执行的确定性。性能测试表明,DetRT在通用测试集下,与Dthreads性能不相上下;在飞腾平台性能测试程序下,平均运行时间为Pthread的2.25倍,在经过性能指导标记调优后甚至达到1.79倍,远好于Dthreads的平均3.58倍运行时间。
其他文献
中图分类号:G4 文献标识码:A 文章编号:1008-925X(2011)11-0071-01  在党校的教学实践中,以拓展训练为主要形式的体验式教学以其活泼的形式、深刻的内涵、良好的教学效果深受学员欢迎。本文就体验式教学在党校教学中的应用作初步的探讨。    一、体验式教学的特
抽取10家单位的实验用鼠170只,均在4-6周龄,断颈处死后,采集心脏、肺脏、肝脏、脾脏和肾脏,1 0%福尔马林固定后制成病理切片,运用显微镜观察各脏器的健康状况.结果表明绝大多
减小地表变形的井下采矿措施很多.合理的井下开采措施应综合考虑地质采矿条件、建筑物的实际情况及社会经济等多种因素。
以“总数、每份数、份数之间关系”问题为例,说明数学解题教学仅关注生活经验和数感是不够的,应该抓住时机,逐步渗透模型思想,培养建模能力。以在“解决问题的策略——画图”
《湖心亭看雪》蕴含着张岱的故国之思,但综观张岱复杂的人生际遇,这篇短文的情思意蕴并非单一。这其中还蕴含着张岱作为明朝遗民的气节坚守,历经国破家亡的人生解悟,以及对昔日名
新课程改革以及素质教育的深化,对初中英语教学提出了新的挑战。英语学科是初中教育的重要组成部分,高效優质的英语课堂对学生的英语学习有直接影响,因此,越来越多的初中英语
中图分类号:C93文献标识码:A文章编号:1008-925X(2011)09-0-01  摘要:在社会主义市场经济体制下,医院一方面要承担救死扶伤,保障人民健康,努力解决“看病难,看病贵”问题的社会责任;另一方面要加强财务管理,提高经营效益,以维持医院的可持续发展。面对新形势,医院必须立足自身发展,不断加强医院财务管理。  关键词:医院 财务管理 实践   随着我国会计制度逐步与国际接轨,医疗体制
信息技术课,是一项融知识性和技能性为一体的基础性学科教育,是一门新兴学科,与传统学科相比较它的教学理念体系、教学模式、教学思想都远还没有定型,另外,由于信息技术课又具有几
教育是一个民族一个国家长久发展的不竭动力,教育伴随着一个民族的始终。而教师则是立教之本、兴教之源,是推进各项教育事业稳定发展的重要保障。因此,一个地区的教育要想长
为了探究马铃薯的添加对小麦面团中水分状态的影响规律,本试验以新鲜马铃薯、马铃薯全粉及小麦粉为原料,采用差示量热扫描仪(DSC),分析马铃薯的添加量及添加方式对小麦面团水分