题名 | 针对瞬时故障的控制流容错技术研究 |
作者 | 张显明 |
学位类别 | 硕士 |
答辩日期 | 2010-06-08 |
授予单位 | 中国科学院研究生院 |
授予地点 | 北京 |
导师 | 彭启民 |
关键词 | 软件容错 控制流容错 瞬时故障 可靠性 |
学位专业 | 计算机应用技术 |
中文摘要 | 随着微电子器件复杂度的提高,空间辐射对于计算机程序的正确性影响正越来越明显。一般情况下,这些影响并不是永久的,而是瞬时故障。无论是太空中的信息处理系统、嵌入式实时控制系统,还是计算机集群、高性能超级计算机都可能由于错误的输出而导致灾难性的后果。 传统的可靠性系统采用抗辐射部件和冗余的硬件来达到可靠性的要求,但是其价格昂贵,性能落后于今天的商用部件(COTS)。针对COTS在容错能力上存在的不足,软件容错技术可以在不改变硬件结构的情况下,有效的提高计算机系统的可靠性。 瞬时故障在软件层面上主要表现为控制流错误和数据流错误,本文主要针对控制流错误进行容错处理。软件实现的控制流容错技术通过在编译时加入冗余的容错逻辑,在程序执行时进行控制流错误的检测和处理。 如何在保证容错能力的同时,尽量降低冗余逻辑所带来的系统开销,是控制流容错需要解决的主要问题。本文从控制流错误的基本概念,容错单元的选择,签名信息的建立,签名点和检测点的插入位置几个角度对控制流容错进行研究,主要内容有: 1.对常见的控制流容错方法进行了分析比较,对其优点和不足予以说明。 2.对控制流错误进行了分类,以此为基础,提出了基于相关前驱基本块的控制流容错方法(CFCLRB)。 3.提出了一种签名流模型,提出了基于签名流模型的控制流容错方法(CFCSF)。该方法能够对基本块间控制流错误进行检测,具有较低的时间开销、空间开销和较高的错误覆盖率。同时,该方法可以根据容错尺度的要求,灵活的插入和删除签名点与检测点,具有极强的扩展性。该方法还可以应对动态函数指针这种编译时难以确定的控制流情况。 4.基于汇编指令对上述方法予以实现,并实现了国际上常用的控制流容错方法Control Flow Checking by Software Signatures(CFCSS)和Control-flow Error Detection through Assertions(CEDA)做为对比。通过加入冗余的指令逻辑,完成了对原程序的容错功能。 5.基于PIN工具实现了对控制流错误的注入,在相同的实验环境下对CFCLRB ,CFCSF,CFCSS,CEDA进行了对比实验。实验表明, CFCLRB的时间开销为26.9%,空间开销为27.6%,相比不具容错能力的原程序,其错误覆盖率从66.50%提升到97.32%。CFCSF的时间开销为14.7%,空间开销为22.1%,相比不具容错能力的原程序,其错误覆盖率从66.50%提升到96.79%。相比CFCSS,该方法的时间开销从37.2%下降到14.7%,空间开销从31.2%下降到22.1%,错误覆盖率从95.16%提升到96.79%。相比CEDA,该方法的时间开销从26.9%下降到14.7%,空间开销从27.1%下降到22.1%,错误覆盖率仅从97.39%下降到96.79%。 最后,本文对控制流容错的未来研究方向进行了展望。 |
语种 | 中文 |
学科主题 | 计算机应用其他学科 |
公开日期 | 2010-06-09 |
收录类别 | 其他 |
内容类型 | 学位论文 |
源URL | [http://124.16.136.157/handle/311060/2360] |
专题 | 软件研究所_综合信息系统技术国家级重点实验室 _学位论文 |
推荐引用方式 GB/T 7714 | 张显明. 针对瞬时故障的控制流容错技术研究[D]. 北京. 中国科学院研究生院. 2010. |
个性服务 |
查看访问统计 |
相关权益政策 |
暂无数据 |
收藏/分享 |
除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。
修改评论