基于分层过滤的动态数据竞争并发检测与验证

来源 :哈尔滨理工大学 | 被引量 : 0次 | 上传用户:usrijl
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
当前,随着多核系统的广泛应用,多线程正成为一种必不可少的编程技术,通常用于从操作系统到智能多媒体应用程序,来提高特定程序的性能或响应性。但是,由于并发线程执行的不确定性,编写正确执行的多线程程序要比编写正确执行的顺序程序困难得多。当线程未正确同步时,非确定性线程交织可能对于同一输入会产生非确定性的输出。当这种不确定的线程行为导致系统故障或结果不正确时,它被称为并发错误。数据竞争就是多线程并发程序中最复杂的并发错误之一。并发线程执行调度的随机性和对共享存储空间访问的隐蔽性,造成了数据竞争的检测变得及其困难。动态数据竞争检测需要监视所有执行并分析多线程程序中的每个冲突的内存操作,导致大量的运行时开销。如何在有限的时间内检测和验证数据竞争成为提高软件可靠性和安全性的迫切问题。本文主要针对现有的动态数据竞争检测中产生的大量额外开销,且不能准确地找到有害竞争等问题,提出了一种分层过滤的方法来减少动态监视程序执行行为的高性能开销,并且通过两种并发策略高效地检测多线程程序中的数据竞争和验证有害竞争。首先,该算法利用动态二进制插桩工具Pin分别从Image级别(IML)、Section级别(SEL),Instruction级别(INL)和Code级别(COL)四个方面移除不必要的监视存储器操作,以减少原始踪迹中的冗余数据。其次,将Pin工具提取到的踪迹信息基于HashMap分为多个独立的集合,添加到多进程任务队列中,由进程池动态地调度每个进程,依据lockset算法和happens-before关系相结合的方式,并发地离线分析多线程并发程序中的数据竞争。然后使用加权Round-Robin算法将数据竞争按需划分到多台云服务器上,结合线程调度技术延迟阻塞以尽可能地创造竞争条件,在多台云服务器上并发验证数据竞争,识别出有害的竞争。最后,我们设计并实现了动态数据竞争检测工具,并从数据竞争的检测精度,检测效率和可扩展性等方面进行了测试分析,实验结果表明本文算法可以有效地检测和验证数据竞争,而不会对原始程序的性能产生很大的影响。
其他文献
提出了一种区间多目标粒子群优化(IMOPSO)算法,用于解决多目标下区间变量的优化问题.基于区间可信度定义两个区间解的占优关系,通过归一化方法和区间拥挤度距离对Pareto最优
随着无线通信技术的快速发展,第五代移动通信技术(5G)应运而生。ITU将5G典型应用场景归纳为:增强型移动宽带(Enhanced Mobile Broadband,eMBB)、海量机器类通信(Massive Machine Type Communications,mMTC)和超可靠低时延通信(Ultra-Reliable and Low-Latency Communication,uRLLC)。L
<正> 肉制品的原料选择是根据产品的特点和生产工艺决定的。选用优质新鲜的原料可赋予制品更加诱人的色、香、味、形,可延长制品的货架期,有效的提高制品的出品率。因此,选用
【正】 《独立审计基本准则》(以下简称《基本准则》是独立审计准则的总纲,是对注册会计师专业胜任能力的基本要求和执业行为的基本规范,是制定独立审计具体准则、实务公告和
本文基于湍流润滑理论,构建高速低黏度润滑剂工况下的滑动轴承润滑分析模型,对其进行热流体动力润滑分析,主要研究热效应对高速低黏度润滑剂滑动轴承润滑性能的影响。使用质
为掌握有限元法与极限平衡法分析边坡稳定性之间的关系,结合沪通铁路某典型工点,借助Geostudio数值模拟软件,使用这两种方法对铁路路堤边坡的稳定性进行了对比分析,进一步用
第四方物流是通过完善的供应链管理及过硬的物流技术来满足企业物流需求,进而起到整合各类资源、降低物流成本及提升物流效率。本文从第四方物流发展情况入手,分析第四方物流
环氧树脂具有优良的粘结性能、附着力、耐化学品性、物理机械性能以及电绝缘性能,在防腐涂料中得到广泛的应用。植物油酸中的不饱和双键通过氧化聚合可以提高聚合物的交联密
介绍了现代混凝土技术的特点。着重阐述了现代混凝土技术在建筑工程中的创新,比如固体废渣技术、绿色环保技术。以某工程为例,对现代混凝土技术在建筑工程建设中的应用进行探
中华优秀传统文化,积淀着中华民族最深沉的精神追求,支撑着中华民族历经五千余年生生不息、傲然屹立。随着国家对传统文化重视程度的不断加强,传播传统文化逐渐成为各艺术门