并行系统错误重现和错误检测技术研究

来源 :中国科学院研究生院 中国科学院大学 | 被引量 : 0次 | 上传用户:joiner
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件调试一直是软件开发中的重要问题。人们对调试传统的单线程程序有丰富的经验。单线程程序的调试通常以循环调试和在线交互调试为基础,其中最重要的问题是错误的重现。通过不断地重现错误,通过交互调试工具反复观察系统在出错过程中的运行状态,不断丰富关于错误的知识,最终找到其根本原因。   但是近年来调试技术面临新的挑战。一方面,随着多核平台的普及,多线程并行程序越来越丰富;另一方面,随着以云计算为代表的大规模并行系统的快速发展,在这种系统上运行的大规模并行程序也愈发普遍。对高度并行的程序进行调试面临一些新的问题,其中最主要的问题是程序的非确定性。由于各种无法控制的非确定事件,在并行环境中难以通过反复运行一个程序重建相同的运行状态,因而也难以重现错误。这使以错误重现为基础的循环调试和在线交互调试失效。   对于无法重现的错误的调试,目前最有效的方法是以日志为基础进行分析。日志记录了程序在生产系统中运行时发生的事件序列和状态序列。当程序出现错误时,调试人员可以根据日志中含有的信息推断错误发生过程中程序运行的情况,进而找出错误的根本原因。和传统的在线交互调试不同,我们将基于日志的调试称为离线调试。   本文针对并行程序的离线调试进行了深入的研究。我们首先提出了离线调试的基本流程。在该流程中,我们对日志的生成、静态和动态的日志分析进行了研究。另外,还对离线调试辅助系统实现中的关键技术进行了讨论。   在日志生成方面,本文研究了在库函数、系统调用和指令三个层次上进行介入,通过侵入式的机制获取日志的方法。在库函数层次,本文提出了基于代码的录制机制,允许开发人员通过人工标注的方法注明非确定性并在运行时加以记录。在系统调用层次,本文提出了基于vDSO的系统调用录制机制,实现了纯用户态、轻量级的系统调用录制。在指令层次,本文提出了控制流录制的概念,通过区分控制流和数据流在调试中的不同作用,控制流录制在最底层的录制中调和了开销和准确性之间的矛盾。   在日志的静态分析方面,针对并行系统日志规模大、冗余大的特点,我们研究了从大量日志中找出异常部分的问题,提出了基于文法压缩的异常检测算法。和传统的基于统计和基于马尔可夫模型的方法不同,基于文法压缩的异常检测算法从全新的角度研究异常检测问题,实施方法更为简单。实验表明,基于文法压缩的异常检测算法不仅能够有效地处理日志异常检测问题,对文本分析、主机入侵检测方面的问题也能起到良好的效果。   在日志的动态分析方面,研究了利用日志对程序运行状态进行重建的方法。对含有足够非确定事件信息的日志,提出了替换法重放。对于控制流日志,提出了使用受控法进行重放的方法。   在实际生产系统中进行离线调试需要使用调试辅助系统。我们探讨了在实现调试辅助系统时的一些技术问题,提出了通过透明加载机制降低对运行时环境干扰和通过检查点机制降低日志存储压力的方法。为避免程序运行时行为发生改变,还对信号机制的处理细节进行了讨论。我们实现了Snitchaser和ReBranch两个开源的调试辅助系统,并测量了它们的性能开销。   利用离线调试工具,我们成功解决了一些实际软件中的非确定bugs。本文中我们通过三个案例介绍了对bugs进行离线调试的过程,展示了上述各种技术在实际调试过程中的作用。   本文提出的方法被实际应用于解决软件中的真实问题并取得了良好的结果。实验结果表明,采用本文所提出的方法实现的调试辅助系统适用于在实际的生产系统中解决复杂的非确定bugs。
其他文献
随着数字技术和互联网应用的发展,普通用户在作为数字内容的使用者之外,还同时成为了数字内容的主动生产者和传播者。在这样的背景下,用户创作和对等共享数字内容出现了显著
随着无线通信、大规模集成电路和嵌入式技术的发展,无线传感器网络迎来了高速的发展。近年来,基于无线传感器网络的研究热点主要关注路由协议、能量消耗和数据处理等方面。而
随着无线通信技术、普适计算技术以及微机电技术的飞速发展,物联网作为连接物理世界与信息空间的桥梁加速融入到我们的日常生活中。通过物联网技术,能够将真实的物理世界信息化
随着通讯和计算技术的发展,呼叫中心坐席系统被广泛运用于各行各业。由于业务的多样化需求和融合通信的发展趋势,传统的坐席系统需要提供越来越多的新功能,并与业务相关的CRM
在存储容量和传输带宽的限制下,视频编解码一直是多媒体应用的重要课题之一。在过去的二十多年里,各种视频编解码标准层出不穷,其中H.264标准凭借其卓越的压缩比和良好的网络
随着计算机网络的普及和计算机技术的发展和人们对信息数字化的需求越来越高,数据的整体存储容量正在以惊人的速度增长着,而且这种趋势只会越来越明显。在磁盘技术发展的缓慢背
为了适应时代的进步,国内高校对于留学生的管理工作加快了信息化进程,《留学生信息管理系统》便应运而生。《留学生信息管理系统》一方面可以使得高校的招生工作从传统的管理
嵌入式系统是复杂的反应式系统,其主要特点是持续与外部环境进行交互、运行通常没有终止状态。由于嵌入式系统本身的确定性、并发性、实时性,对此类系统进行形式化建模具有很
天才和民族学生的学校(GSES学校)是一所大学的示范学校,由学术和行政单位组成。它控制和促进了大学教师的教学。这项独立研究的目的是为NUOL大学示范学校(天才和民族学生的学校)开
物体检测是计算机视觉领域的热门研究课题之一。其目的是找到图像或者视频中的属于某一特定物体类别的对象实例。物体检测技术依赖于底层特征的选择。其中,形状特征是描述物