多线程程序并发错误检测与重放系统研究

来源 :哈尔滨理工大学 | 被引量 : 0次 | 上传用户:zfhtang
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
当下,计算机技术飞速发展,计算机并发体系结构已成为主流。为使并发体系结构的性能得到充分发挥,多线程编程思想应运而生。但是由于多线程程序运行的不确定性,导致编程人员在编程和调试阶段需要耗费大量的时间和精力,严重制约了多线程编程技术的发展。因此,研究如何检测并发错误,研究高效、快速的应用程序重放机制对多线程编程技术的发展有着重要的意义。在近些年,关于并发程序执行不确定性的研究吸引了国内外高校和研究机构的众多学者,在这方面也取得了许多成果。现有的研究主要体现在以下几个层面:设计开发并行编程语言,或对现有语言进行扩展,令其能够确定性的执行并发程序;使用确定性重放,使得程序能够重现上次运行的顺序和结果;向计算机中增加额外的硬件或修改原有的体系结构,从底层硬件级别实现并发程序执行的确定性。本文主要针对导致多线程程序执行不确定性的主要因素--原子性违例,提出了一种基于线程交互不变量的原子性违例错误并发检测算法。该算法首先利用二进制插桩平台Pin提取程序的原始踪迹并去除冗余,并利用基于无序映射的散列表对踪迹进行分类;然后用栈提取的线程交互不变量标记线程交互,并利用多进程技术实现算法的并发;最后通过实验,比较和分析了错误检测算法的效率和有效性。除了错误检测外,本文还实现了基于线程切换点的确定性重放系统,用以解决多线程程序难以重现上次运行顺序和执行结果的难题。与错误检测算法相配合,能够有效避免错误的发生。
其他文献
随着神经网络理论的提出及其不断发展,它已经给人类的科学技术,及其对自然的认知带来了很大的影响。忆阻器是除了电感器、电阻器、电容器之外的四种基本无源电子元件之一,是
无线传感器网络已广泛应用于军事、医疗、环境监测等多个领域。两层传感器网络作为传统无线传感器网络的延伸和发展,因其良好的可扩展性、有效的能耗和空间节省、高效的查询
集成电路规模的飞速增长,使得集成电路功能复杂度日益提升,一方面为信息技术产业带来了生机和活力,另一方面也产生了许多问题和挑战。集成电路的功能正确性是这些问题和挑战
计算机I/O总线连接丰富的各类I/O设备,是实现计算机I/O连接及外部扩展的关键技术。随着I/O设备性能的持续攀升,计算机系统总线已从传统的ISA、PCI等共享介质总线发展至基于点
嵌入式系统是一种专用的计算机系统,通过裁剪、结合软硬件的资源,可以满足用户各项性能指标的要求,包括功能需求、可靠性、成本、能耗、体积等等。在嵌入式系统设备中,有一种
近距离场景下的语音识别已经达到了令人满意的结果,但是由于受到噪声和混响等因素的影响,远距离场景下的语音识别依然具有很大的挑战性。和单路麦克风相比,麦克风阵列波束形
随着存储着海量数据的分布式文件系统的进一步发展,为了满足各种企业、学术机构等组织对数据存取速度的需求,诞生了内存分布式文件系统这一概念。以开源的Alluxio为代表的内
智能手机等移动设备为访问信息和使用计算资源提供了极大的便利,但是,受限于自身的尺寸、大容量电池制造技术的滞后、无线通信网络不稳定等因素,使其越来越无法满足移动用户
近年来,云计算、IPTV和4K/8K高清电视等高速服务的快速发展进一步提高了对于接入网带宽的要求。目前在无源光网络(Passive Optical Network,PON)中,强度调制/直接检测(Intensity
随着DNA微阵列技术、高通量测序技术的不断延伸和迅猛发展,产生了许多的基因表达谱数据、分子相互作用数据、基因组数据。这些数据在研究基因突变、基因识别、基因分型和癌症