基于编译器的瞬时故障容错技术研究与实现
Contribuinte(s) |
彭启民 |
---|---|
Data(s) |
02/06/2009
|
Resumo |
随着计算机芯片的速度不断提升,器件的门限电压越来越低,因此单粒子翻转的瞬时故障越来越容易发生。特别是在太空环境中的计算机系统,在宇宙射线的影响下,瞬时故障更为频繁,系统可靠性面临更突出的考验。 为了提高计算机系统的可靠性,一般有硬件冗余容错和软件冗余容错两种方法。相对硬件容错而言,软件容错的优点是价格便宜,性价比高,配置灵活等,缺点是会带来额外的时间和空间开销,而且给程序员带来编写额外的容错代码的工作量。近来出现了一些基于编译的软件容错方法,可在编译的过程中自动加入冗余容错逻辑,但是这类编译容错方法仍然会带来显著的时间空间开销。如何在保持容错能力的同时尽量降低时空开销,是有待继续研究的问题。 本文在编译容错方向上进行了进一步研究和实现,提出利用源代码中的变量信息对冗余容错逻辑进行了剪裁,在保证容错能力的同时降低了时空开销,对内存和寄存器中的数据进行保护。具体内容有: 1. 提出了一个容错编译环境SCC的设计蓝图,构建了一个容错编译工具的远 景目标。 2. 提出了一种指令级的编译容错检测方法VarBIFT ,提供检测瞬时故障的能力。平均只利用0.0069倍的时间损耗和0.3620倍的空间损耗就将发生瞬时故障时,程序正确执行和检测到故障的概率总和平均从39.1%提升到76.9%, 3. 提出了一种指令级的编译容错恢复方法VarRIFT ,提供从瞬时故障中恢复正确数据的能力。平均只增加0.043倍的时间损耗和0.69倍的空间损耗就将发生瞬时故障时,程序仍然正确执行的概率平均从44.8%提升到了78.7%。 4. 基于开源编译器LCC,实现了上述两个编译容错方法VarBIFT 和VarRIFT 。在容错方法的实现中只修改了跟具体CPU指令相独立的中间逻辑,所以这两个实现能够方便得移植到SPARC、MIPS等其他CPU架构上。 5. 开发了一个故障注入工具,并用它测试了上述两个编译容错方法VarBIFT和VarRIFT 的容错能力。 |
Identificador | |
Idioma(s) |
中文 |
Fonte |
张锐.基于编译器的瞬时故障容错技术研究与实现[硕士论文].中国科学院软件研究所.中国科学院研究生院.2009 |
Palavras-Chave | #计算机应用::计算机应用其他学科 #软件容错 |
Tipo |
学位论文 |