多核程序的静态数据竞争检测及确定性重演的研究-计算机科学与技术专业论文.docxVIP

多核程序的静态数据竞争检测及确定性重演的研究-计算机科学与技术专业论文.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多核程序的静态数据竞争检测及确定性重演的研究-计算机科学与技术专业论文

Classified Index: TP311.1 U.D.C: 004.6 Dissertation for the Master Degree in Engineering RESEARCH ON STATIC DATA RACE DETECTION AND DETERMINISTIC REPLAY OF MULTI-CORE PROGRAMS Candidate: Li Cong Supervisor: Prof. Ji Zhenzhou Academic Degree Applied for: Master of Engineering Speciality: Computer Science and Technology Affiliation: School of Computer Science and Technology Date of Defence: June, 2013 Degree-Conferring-Institution: Harbin Institute of Technology 摘 要 摘 要 - - I - 摘 要 当今社会微电子技术发展迅猛,随之而来的是片上多核处理器的广泛应 用。使得片上多核处理器充分发挥最大效能,目前最有效的编程方法就是多核 编程。而由于多核程序执行顺序的不确定性,使多核编程和调试工面临着巨大 的挑战。因而分析多核程序执行的不确定性给多核系统带来的影响,研究去除 多核程序执行不确定性的方法,研究高效、快速的确定性重演机制对多核系统 的发展和应用有着重大意义。 在最近几十年中,多核程序执行顺序的不确定性这一研究领域吸引了很多 国内外的高校和研究机构的学者,对于这一领域的研究也获得了丰硕成果。现 有的确定性解决方案主要体现在以下几个层面:设计开发支持确定性的并行编 程语言或对已有的串行语言进行扩展;采用确定性重演策略,使得程序能够重 新回放;通过在编译阶段自动的检查对共享内存的访问,添加确定性约束,实 现多核程序的确定性运行;通过在处理器中增加额外硬件或修改原有的结构, 从体系结构级别实现多核程序执行的确定性。本文致力于通过分析多核程序中 导致执行不确定性的主要原因——数据竞争,从应用程序级来解决多核程序不 确定性。 本文利用多核程序的静态竞争检测和确定性重演技术,从多核程序编程和 调试的角度着手,设计了一种基于Locksmith和PinPlay的多核程序编写和调试 机制,在编写时利用静态数据竞争检测方法检查程序中可能存在数据竞争的位 置并提示出来,以便程序开发人员进一步修改和完善程序;在调试程序时则利 用动态插桩方法,根据初次执行时记录的日志信息控制线程执行顺序,从而实 现对多核程序的确定性重演。其中,本研究使用的静态数据竞争检测工具是 Locksmith,使用的确定性重演工具是PinPlay。另外,本文在此基础上还分析 了多核程序的静态数 据竞争检测产生误报 的原因, 对 静 态 竞 争 检 测 工 具 Locksmith提出了一种改进方案,削减了由于伪共享造成的误报。 最后,本文介绍了实验平台的搭建,对Locksmith的改进前和改进后的方 案进行了测试,对比了实验结果,通过分析结果,验证了本文提出的改进方案 能使Locksmith在保证不漏报真正的数据竞争的前提下,在一定程度上减少数 据竞争误报,提高精确度。另外,本文还对PinPlay的记录和重演过程进行了仿 真,通过实验数据发现,Locksmith进行静态数据竞争检测的时间要远远小于 PinPlay进行记录和确定性重演的时间,从而证明了在多核程序开发前期及时进 行数据竞争检测的重要性,这样可以节省在程序调试时耗费的时间,帮多核程 - - II - 序开发人员节省更多精力。实验证明,编程前期检测数据竞争能有效避免竞争 的发生,大大降低多核程序调试工作的难度,验证了本设计的可行性。 关键词:多核;数据竞争;确定性;静态检测;重演 Abstr Abstract - - PAGE VI - Abstract Today the microelectronic technology is developing rapidly, and on-chip multi- core processors are also getting much more widely used. Multi-core programming is the most effective way that can help on-chip multi-core processors make full use of it’s performance. However, the non-determinism of multi-cor

您可能关注的文档

文档评论(0)

peili2018 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档