【摘 要】
:
随着计算机技术的发展,我们已经进入多核时代。为了利用多核设备带来的潜在计算能力,并行程序得到了普遍的应用。然而,并行程序执行的不确定性与并行错误的多样性也使软件调
论文部分内容阅读
随着计算机技术的发展,我们已经进入多核时代。为了利用多核设备带来的潜在计算能力,并行程序得到了普遍的应用。然而,并行程序执行的不确定性与并行错误的多样性也使软件调试问题日益严重,使得并行程序错误对软件的可靠性构成了严重的威胁。因此,如何有效地进行并行错误检测成为了亟待解决的问题。然而,现存的软件检测手段往往带来巨大的运行时负载,硬件检测手段则仅专注于特定的并行错误,导致其无法普适于多种多样的并行错误。本文基于目前新兴的CPU-GPU结合体系架构,提出了Hydra架构。Hydra利用CPU-GPU架构中GPU的强大的并行计算能力与可编程性,来同时检测主流的多种并行错误,包括数据竞争、原子性违背和顺序违背。Hydra在CPU端收集访存记录,通过片上互联总线将记录发送至GPU端,最后再GPU端进行错误检测。更进一步,为了提升检测速度与检测精确性,Hydra利用了以下三项优化策略:1)利用bloom过滤器过滤不需要进行检测的访存记录;2)识别并避免共享访存记录的替换;3)通过happens-before关系识别同地址访存记录的“最后写”,通过仅仅比较“最后写”优化检测效率。设计复杂度方面,Hydra只需要较平滑的硬件复杂度,并且不需要改变片上关键路径(如高速缓存或者缓存一致性)的逻辑;实验表明,在32核的配置下,Hydra只带来1.1%的额外硬件开销。检测开销方面,实验数据表明,当检测单种并行错误时,Hydra最多只带来0.18%的额外运行开销;当同时检测多种并行错误时,运行开销也只为0.46%。检测精确性方面,Hydra可以做到与当前主流的软件检测工具(如Helgrind)相同的检测精确性。
其他文献
无线通信技术和计算机网络技术的发展为无线Ad hoc网络的发展奠定了基础。由于具有不需要集中式网络管理和基础设施的显著特点,无线Ad hoc网络在近年来受到越来越多的关注。
随着高性能计算应用需求的迅猛发展,解决一些超大规模应用问题所需要的计算能力,已不可能在单一的计算机上获得.因此将地理上分布、系统异构的多种计算资源通过高速网络连接
随着互联网的迅速普及和应用的不断发展,各种黑客工具和网络攻击手段也随之倍出,网络攻击导致网络和用户受到侵害,其中分布式拒绝服务DDoS以其攻击范围广、隐蔽性强、简单有
本论文是结合东软的健康保险核心业务系统的具体项目完成的。在系统的开发实践过程中,本文作者同时参与了该系统体系架构的设计和系统模块的实现。在设计系统体系构架时,提出了
目前,我国电信网络正处于高速发展中,网络的规模越来越大,设备种类越来越多,组网方式越来越多样化,应用越来越复杂,但是网络管理系统仍然普遍采用管理员/代理的集中式管理方
随着面向对象编程OOP(Object Oriented Programming)技术的快速发展,OOP已成为当前主流编程技术之一,并被广泛应用于设计和开发面向对象软件OOS(Object Oriented Software,)
随着移动云计算的兴起,以智能手机为代表的移动设备已经成为人们日常生活一部分。越来越多的用户将自己的隐私数据存储在移动设备上,移动平台的数据安全问题越来越重要,特别
随着网络技术的发展,以太网和TCP/IP在工业控制领域得到了越来越广泛的应用,但是,许多工业控制设备的数据传输使用的是符合RS-232标准的串行接口。为了使具有串行接口的设备能上
随着计算机、通信和网络技术的高速发展,全球信息化的步伐越来越快,网络信息系统成为人类社会持续发展的基础设施。人类在感受到了网络信息系统对社会发展做出巨大贡献的同时
句法分析是机器翻译的核心部分,而依存关系分析又是一种重要的句法分析方法,依存关系分析所成生的依存关系树即可以表示词与词之间的深层联系又可以节省存储空间。本文研究了