并行程序中非确定错误的调试技术研究

基本信息
批准号:61070028
项目类别:面上项目
资助金额:32.00
负责人:韩冀中
学科分类:
依托单位:中国科学院信息工程研究所
批准年份:2010
结题年份:2013
起止时间:2011-01-01 - 2013-12-31
项目状态: 已结题
项目参与者:王楠,王凯,高进军,戴娇,严俊明,姜冰,陈竞
关键词:
多线程重放调试录制并行
结项摘要

随着并行程序在分布式系统和多核环境下应用日益广泛,人们越来越多地遇到非确定bugs。这种bugs难于重现,为调试并行程序带来很大困难。为了解决该问题,提出了录制-重放机制,希望通过在运行时记录不确定性,在调试时回放以确保bugs被正确地重现。但是,目前在录制-重放上的研究工作仍存在很大局限。首先,对多核共享内存条件下的录制-重放支持不理想;其次,在录制开销,对运行时环境的干扰,日志容量等方面存在明显不足。这些因素导致现有的研究工作只适合在开发环境中进行录制,对生产环境遇到的bugs作用有限。本项目研究一种适合于在生产环境下录制,支持多核环境下共享内存并行程序的录制-重放机制。为达到这个目的,本项目提出了数据流与控制流分离的调试方法,以控制流为基础进行轻量级录制,此外,还将研究利用日志对运行时bugs进行检测的方法,以及根据日志恢复bugs条件进行测试的方法。

项目摘要

随着并行程序在分布式系统和多核环境下应用日益广泛,人们越来越多地遇到非确定bugs。这种bugs难以重现,为调试并行程序带来很大困难。为了解决该问题,研究者们提出了录制-重放机制,希望通过在运行时记录不确定性,在调试时回放以确保bugs被正确地重现。但是,之前录制-重放上的研究工作仍存在很大局限。首先,录制阶段开销巨大,无法在运行时环境进行录制,对生产环境遇到的bugs作用有限。其次,对多核共享内存条件下的录制-重放支持不理想。最后,之前的录制方法会导致被调试进程的运行时信息发生变化,从而影响与该进程进行交互的其它程序功能的正确性。针对以上问题,本项目研究了一种适合于生产环境下录制,支持多核环境下共享内存并行程序的透明录制-重放机制。.本项目首先设计和研发了一个新的录制重放调试工具snitchaser. Snitchaser利用Linux的vDSO机制,提出了一种纯用户态、轻量级的系统调用录制机制,极大的降低了录制的开销,从而解决了生产环境中调试的问题。另外,Snitchaser开发了System call latch机制来实现信号的录制,从而进一步提高了重放过程与真实运行过程的一致性。.在Snitchaser的基础上,本项目进一步研发了一个适用于多线程程序调试的录制重放工具ReBranch。ReBranch通过分离控制流并基于控制流完成录制,避免了非确定性内存访问录制的巨大开销,将录制的性能提高了三倍以上。另外,ReBranch提出了基于interpreter的加载机制。该机制保证录制过程中程序的进程名称、PID等信息不发生变化,从而极大的提高了录制的透明性。利用ReBranch,本项目成功地决了开源系统lighttpd和memcached中的使用传统调试方法拿以解决的bugs。.为了对录制产生的日志进行自动化分析并找到可能的出错点,本项目提出了一种基于文法压缩的日志异常检测算法。该算法可以在线性时间内对日志进行分析,并且不依赖于有关日志内容的先验知识。本项目进一步将该算法推广到分布式系统中,设计并实现了一种基于大规模日志挖掘的分布式系统在线异常系统。相对于传统方法,该系统可以降低检测开销并提高检测精度。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

DOI:{{i.doi}}
发表时间:{{i.publish_year}}

暂无此项成果

数据更新时间:2023-05-31

其他相关文献

1

惯性约束聚变内爆中基于多块结构网格的高效辐射扩散并行算法

惯性约束聚变内爆中基于多块结构网格的高效辐射扩散并行算法

DOI:10.19596/j.cnki.1001-246x.8419
发表时间:2022
2

基于时序分区的时态索引与查询

基于时序分区的时态索引与查询

DOI:10.13328/j.cnki.jos.005826
发表时间:2020
3

Ordinal space projection learning via neighbor classes representation

Ordinal space projection learning via neighbor classes representation

DOI:https://doi.org/10.1016/j.cviu.2018.06.003
发表时间:2018
4

并行算法与并行编程: 从个性、共性到软件复用

并行算法与并行编程: 从个性、共性到软件复用

DOI:10.1360/N112016-00144
发表时间:2016
5

基于纳米铝颗粒改性合成稳定的JP-10基纳米流体燃料

基于纳米铝颗粒改性合成稳定的JP-10基纳米流体燃料

DOI:
发表时间:2021

韩冀中的其他基金

相似国自然基金

1

多核处理器中非确定性错误的调试技术研究

批准号:61106036
批准年份:2011
负责人:高建良
学科分类:F0402
资助金额:26.00
项目类别:青年科学基金项目
2

并行程序调试方法和工具的研究

批准号:69273025
批准年份:1992
负责人:周兴铭
学科分类:F0204
资助金额:5.00
项目类别:面上项目
3

基于全局时钟的并行程序调试的若干关键技术研究

批准号:61003064
批准年份:2010
负责人:陈云霁
学科分类:F0204
资助金额:21.00
项目类别:青年科学基金项目
4

并发与分布式程序调试技术研究

批准号:61170071
批准年份:2011
负责人:徐宝文
学科分类:F0203
资助金额:58.00
项目类别:面上项目