首页> 中文学位 >多核程序的静态数据竞争检测及确定性重演的研究
【6h】

多核程序的静态数据竞争检测及确定性重演的研究

代理获取

目录

封面

中文摘要

英文摘要

目录

第1章 绪论

1.1课题的来源及研究的背景和意义

1.2国内外在多核程序确定性重演方向的研究现状及分析

1.3论文的组织结构

第2章 基于Locksmith与PinPlay的多核程序编写和调试机制的设计

2.1多核程序的调试方法

2.2面向多核程序的数据竞争检测技术

2.3多核程序的确定性重演技术研究

2.4基于Locksmith与PinPlay的多核并行程序编写和调试机制的

2.5本章小结

第3章 基于Locksmith与PinPlay的多核并行程序编写和调试机制的实现

3.1 Locksmith的设计思想

3.2 Locksmith误报原因及改进方案

3.3 Pin插桩平台的使用与研究

3.4 PinPlay重演工具的使用与研究

3.5本章小结

第4章 基于Locksmith与PinPlay的多核程序编写和调试机制的仿真

4.1仿真平台的搭建

4.2基于Locksmith的多核程序的数据竞争检测分析

4.3基于PinPlay的多核程序的确定性重演分析

4.4基于 Locksmith 与 PinPlay 的多核程序编写和调试机制整

4.5本章小结

结论

参考文献

攻读学位期间发表的学术论文

声明

致谢

展开▼

摘要

当今社会微电子技术发展迅猛,随之而来的是片上多核处理器的广泛应用。使得片上多核处理器充分发挥最大效能,目前最有效的编程方法就是多核编程。而由于多核程序执行顺序的不确定性,使多核编程和调试工面临着巨大的挑战。因而分析多核程序执行的不确定性给多核系统带来的影响,研究去除多核程序执行不确定性的方法,研究高效、快速的确定性重演机制对多核系统的发展和应用有着重大意义。
  在最近几十年中,多核程序执行顺序的不确定性这一研究领域吸引了很多国内外的高校和研究机构的学者,对于这一领域的研究也获得了丰硕成果。现有的确定性解决方案主要体现在以下几个层面:设计开发支持确定性的并行编程语言或对已有的串行语言进行扩展;采用确定性重演策略,使得程序能够重新回放;通过在编译阶段自动的检查对共享内存的访问,添加确定性约束,实现多核程序的确定性运行;通过在处理器中增加额外硬件或修改原有的结构,从体系结构级别实现多核程序执行的确定性。本文致力于通过分析多核程序中导致执行不确定性的主要原因——数据竞争,从应用程序级来解决多核程序不确定性。
  本文利用多核程序的静态竞争检测和确定性重演技术,从多核程序编程和调试的角度着手,设计了一种基于Locksmith和PinPlay的多核程序编写和调试机制,在编写时利用静态数据竞争检测方法检查程序中可能存在数据竞争的位置并提示出来,以便程序开发人员进一步修改和完善程序;在调试程序时则利用动态插桩方法,根据初次执行时记录的日志信息控制线程执行顺序,从而实现对多核程序的确定性重演。其中,本研究使用的静态数据竞争检测工具是Locksmith,使用的确定性重演工具是PinPlay。另外,本文在此基础上还分析了多核程序的静态数据竞争检测产生误报的原因,对静态竞争检测工具Locksmith提出了一种改进方案,削减了由于伪共享造成的误报。
  最后,本文介绍了实验平台的搭建,对Locksmith的改进前和改进后的方案进行了测试,对比了实验结果,通过分析结果,验证了本文提出的改进方案能使Locksmith在保证不漏报真正的数据竞争的前提下,在一定程度上减少数据竞争误报,提高精确度。另外,本文还对PinPlay的记录和重演过程进行了仿真,通过实验数据发现,Locksmith进行静态数据竞争检测的时间要远远小于PinPlay进行记录和确定性重演的时间,从而证明了在多核程序开发前期及时进行数据竞争检测的重要性,这样可以节省在程序调试时耗费的时间,帮多核程序开发人员节省更多精力。实验证明,编程前期检测数据竞争能有效避免竞争的发生,大大降低多核程序调试工作的难度,验证了本设计的可行性。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号