【摘 要】
:
数据竞争是多线程程序中最复杂的一种并发错误。由于线程调度与多线程程序执行顺序的不确定,导致数据竞争的检测变得异常困难。动态检测数据竞争是指在程序执行过程中实时监
论文部分内容阅读
数据竞争是多线程程序中最复杂的一种并发错误。由于线程调度与多线程程序执行顺序的不确定,导致数据竞争的检测变得异常困难。动态检测数据竞争是指在程序执行过程中实时监控程序行为并检测数据竞争,现有的动态数据竞争检测算法主要有happen-before算法,Lockset算法以及将两者混合的算法。针对动态数据竞争检测的问题,分析了不同算法的数据竞争检测能力,研究了现存算法对线程调度的敏感程度,并提出了FastTrack与Lockset混合的BufferTrack算法,使用sub-hb关系判断访问事件的并发关系,降低算法对线程调度的敏感程度,对并发的读写访问使用Lockset算法检测数据竞争。在此基础上,BufferTrack算法采用读写信息动态缓冲区存储访问记录,用以预测数据竞争,提高数据竞争的检测数量。动态缓冲区的大小随着数据竞争发生的次数而改变,在某段内存频繁发生数据竞争时,动态增长缓冲区大小,检测更多的数据竞争,反之则缩小缓冲区大小,降低检测开销。在Intel的动态二进制检测工具Pin上实现BufferTrack算法,设计和实现了检测算法中的数据结构并进行相应的工程优化,完成程序监视模块与数据竞争分析模块,组合形成检测工具。最后在示例程序以及基准程序上进行实验验证,BufferTrack算法的敏感度较低,可以应对更加复杂的线程调度,动态缓冲区机制既能够预测数据竞争,增加竞争检测的数量,还能减少冗余检测,降低检测开销。
其他文献
随着互联网的发展,对内网中重要电子文档保护的要求也越来越高,基于传统密码学的信息安全手段已经不能满足实际应用的需求。数字水印和数字指纹技术能够将个人信息和特定的行
众包数据库是一种利用众包平台将人类智慧和机器相结合,以解决传统关系数据库难以处理的查询任务的新型数据库。其核心思想是将查询及相应数据集以众包任务的形式发布到互联
随着WLAN技术的不断发展,无线设备成本不断降低,人们对移动数据业务的需求不断增加,WLAN建设逐渐往大规模方向发展。传统的自治式结构已无法满足大规模建设的需求,因此集中式
随着视频的爆炸式增长,视频的智能分析处理越来越受到人们的重视。智能视频分析处理的自动化和智能化,将大大减少工作人员的工作量。本文就视频智能分析处理的两个重要领域,
中医药学是我国具有独特理论体系和原创思维的医学体系,在长期的临床实践研究中形成了诸多创新性的理论如方剂配伍和药物配伍理论等。作为以复方为主的处方治疗体系,实现不同药物合理配伍,从而形成一个具备多个药物及其剂量合理组合的方剂。其中,药物配伍和剂量配伍是两个重要因素,研究两者的配伍模式,从而实现药物更好的配伍以达到个性化治疗,是中药配伍研究的主要目标。当前,随着大规模临床数据的积累,如何以人机结合的方
随着多媒体技术的发展和网络的不断普及,数字多媒体成为广受人们欢迎的工作和娱乐内容,在人们享受数字化给生活工作带来便捷的同时,易于拷贝和分发的数字作品也给版权保护带
作业车间调度问题是公认的最难的组合优化问题之一,也是一个典型的NP 难度问题。研究作业车间调度问题具有很高的理论价值。同时,作业车间调度问题是实际工业生产调度问题的抽
随着Internet和信息技术的高速发展,XML文档作为数据存储介质应用范围越来越广泛,XML数据的重复元素检测问题已经引起了从事数据库和Internet应用等研究人员的大量关注。而XM
随着数字信息的爆炸式增长和应用需求的不断提高,企业比以往任何时候都更加依赖于数据。如何对数据进行备份和灾难恢复已成为存储业界研究的热点。传统的数据保护技术已经越来
ERP是整合了企业管理理念、业务流程、基础数据、人力物力、计算机硬件和软件于一体的企业资源管理系统。本文首先阐述了ERP的原理和思想以及发展的历史阶段,论述了中小企业