




已阅读5页,还剩74页未读, 继续免费阅读
(计算机科学与技术专业论文)面向单粒子效应的软件故障注入技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院硕十学位论文 摘要 随着我国空间探测事业的发展,人们对星载系统可靠性的要求越来越高。容错技术是 提高星载计算机系统可靠性的重要方法,为保证容错设计的正确性和容错机制的效率,需 要采用辅助的技术对容错系统进行验证。容错验证主要有三种方法:分析模型法、现场错 误数据分析法和故障注入方法。与前两种方法相比,故障注入技术方法不需要精确的系统 参数,不需要长时f b j 地等待数据采集,具有方便、快捷、实时等优点。目前故障注入技术 已成为评测和验证容错机制的一种最为常用和有效的方法。本文针对空间环境中的单粒子 效应,重点研究了单粒子故障在程序中的传播规律和故障模型的生成方法。其中,故障模 型是故障注入实验的重要组成部分。 本文从容错技术和故障注入技术研究的需求出发,在汇编语言级别上对单粒子故障在 程序中的传播规律进行了研究。首先分析了单粒子故障对硬件系统的影响,并提出了定量 的故障产生概率模型。然后分别以基本块、执行路径、程序为单位,研究了单粒子故障在 程序中的传播过程,给出了基本块故障流图的生成算法、执行路径故障流图的生成算法和 程序故障流图的生成算法。在故障流图的基础上,通过引入风险概率的定义,定量地描述 了程序数据存储位置发生故障对程序运行的影响。根据风险概率值的大小,确定了程序的 风险路径和关键数据的选择方法,为设计故障序列提供了依据。 故障模型是影响故障注入实验效率和实验结果准确度的关键因素。本文重点研究故障 模型生成过程中的两个关键问题,即单粒子故障模式的建立和故障序列的设计方法。首先 提出了 四元单粒子故障模式,建立 了实验的故障空间。然后在程序的风险路径和关键数据的基础上,提出了基于故障注入时 间和故障注入位置的等价类划分的故障序列生成方法。该方法克服了分层抽样生成的故障 序列和随机抽样生成的故障序列的组合爆炸和随意性大的问题。此外,该方法生成的故障 序列着重考虑故障注入时间和故障注入位置这两个属性,适用于软件实现故障注入技术, 且具有较理想的系统失效率和恶性故障率。 最后,为验证上述故障序列生成方法的有效性,本文设计了基于s i m p l e s c a l a r 的故障 注入器s i m f i ,成功地模拟了单粒子故障对目标系统的影响,并验证了该方法的正确性和 应用价值。 主题词:单粒子效应,故障传播,故障产生模型,故障模型,故障序列 第i 页 国防科学技术大学研究生院硕+ 学位论文 a b s t r a c t w i t ht h ed e v e l o p m e n to fs p a c e f l i g h tt e c h n o l o g y ,t h er e l i a b i l i t yo fo n b o a r ds y s t e m sb e c o m e s m o r ea n dm o r ei m p o r t a n t t h ef a u l tt o l e r a n c et e c h n o l o g yi sa l li m p o r t a n ta p p r o a c ht oi m p r o v e t h er e l i a b i l i t yo fo n b o a r dc o m p u t e rs y s t e m s ,s e q u e n c e l y ,i t sc o r r e c t n e s sa n de f f i c i e n c yn e e dt ob e e n s u r e db yv e r i f i c a t i o n c o m p a r i n gw i t ht h eo t h e rt w om e t h o d so fv e r i f i c a t i o no ff a u l tt o l e r a n c e i n c l u d i n gt h em o d e l i n ga n ds i m u l a t i o nt e s t i n gt e c h n o l o g ya n d t h ef i e l dd a t aa n a l y s i s ,t h ef a u l t i n j e c t i o nt e c h n o l o g yi sm o r ep o p u l a ra n dm o r ee f f e c t i v eb e c a u s eo fi t sa d v a n t a g e si nt h ea s p e c t o fc o n v e n i e n c e f a s t e rs p e e da n dl o w e rp r i c e 、i t hm o r eg e n e r a lr e s u l t sa b o u tt h ea p p l i c a t i o n r e l i a b i l i t y t h i sd i s s e r t a t i o nm a k e sas y s t e m a t i cs t u d yo nt h et w ok e yp r o b l e m so ft h ef a u l t i n j e c t i o nt e c h n o l o g y ,w h i c ha r et h ef a u l tp r o p a g a t i o np r o c e s sa n dt h ef a u l tm o d e l f a u l tm o d e li s t h em o s ti m p o r t a n tp a r to ft h ef a u l ti n je c t i o ne x p e r i m e n t t 1 1 i sp a p e rf o c u s e so nt h ef a u l tp r o p a g a t i o np r o c e s si np r o g r a mo nt h el e v e lo fa s s e m b l y l a n g u a g e s w ea n a l y z et h es i n g l ee v e n tf a u l t si n f l u e n c eo nc o m p u t e rs y s t e m sa n dp r o p o s ea p r o b a b i l i s t i cm o d e lo fe r r o rg e n e r a t i o n t h e nw ed i s c u s st h eg e n e r a t i o nm e t h o do ff a u l tf l o w d i a g r a mo fb a s i cb l o c k ,e x e c u t i o np a t ha n dp r o g r a mi nd e t a i l b a s e do nd a t af l o wg r a p h ,t h e e f f e c to ff a u l ti nm e m o r yc e l li sq u a n t i t a t i v e l yd e s c r i b e db yt h eu t i l i z a t i o no ft h ed e f i n i t i o no f r i s kp r o b a b l i t y t h em e t h o do fs e l e c t i n gt h er i s kp a t ha n dc r i t i c a ld a t ab yr i s kp r o b a b l i t yi s p r e s e n t e da sw e l l ,w h i c hp r o v i d ef o u d a n t i o nf o rt h eg e n e r a t i o no ff a u l tm o d e l f a u l tm o d e li sa ni m p o r t a n tf a c t o rw h i c hi n f l u e n c e st h ee x p e r i m e n te f f i c e n c ya n dt h e a c c u r a c yo fe x p e r i m e n tr e s u l t s i nt h i sd i s s e r t a t i o n ,t w ok e yp r o b l e m sr e l a t e dt of a u l tm o d e la r e d e e p l ys t u d i e d ,i n c l u d i n gt h ed e v e l o p m e n t o fs i n g l ee v e n tf a u l tp a t t e ma n dt h ed e s i g no ff a u l t l i s t w ep r o p o s et h es i n g l ee v e n tf a u l tp a t t e r nw h i c hc o n s i s t so ff a u l ti n je c t i o nl o c a t i o n ,f a u l t i n j e c t i o nt i m e ,f a u l tt y p ea n df a u l tm a s k ,e s t a b l i s h i n gt h ef a u l ts p a c eo f f a u l ti n j e c t i o ne x p e r i m e n t b a s e do nr i s kp a t ha n dc r i t i c a ld a t a ,w ep r e s e n tam e t h o do fe q u i v a l e n ts e tp a r t i t i o nt og e n e r a t e f a u l tl i s t o u rf a u l tl i s tg e n e r a t i o nm e t h o ds o l v e st h ep r o b l e m so ff a u l te x p l o s i o na n dl o w p e r t i n e n c eo f t h ef a u l tl i s tg e n e r a t e db yr a n d o ms a m p l i n ga n ds t r a t i f i e ds a m p l i n g b e s i d e s ,t h i s m e t h o di ss u i t a b l ef o rs o f t w a r ei m p l e m e n t e df a u l ti n j e c t i o nt e c h n o l o g yw i t hah i g hs y s t e m f a i l u r er a t es i n c et h ef a u l ti n j e c t i o nl o c a t i o na n dt h ef a u l ti n j e c t i o nt i m ea r ee s p e c i a l l y c o n s i d e r e d f i n a l l y ,t h ed e s i g na n di m p l e m e n t a t i o no fs i i i l f if a u l ti n je c t o ri si n t r o d u c e d ,w h i c hi sa s o f t w a r ei m p l e m e n t e df a u l ti n j e c t i o nt o o lb a s e do ns i m p l e s c a l a r t h es i m u l a t i o ni no u rc a s e s t u d yb a s e do ns i m f id e m o n s t r a t e st h ee f f e c t i v e n e s so fo u rf a u l tl i s tg e n e r a t i o nm e t h o d k e yw o r d s :s e e ,f a u l tp r o p a g a t i o n ,f a u l tg e n e r a t i o nm o d e l ,f a u l tm o d e l ,f a u l tl i s t 第i i 页 国防科学技术人学研究生院硕士学位论文 表目录 表5 1 基于规则o p c o d e l 的故障用例片段5 3 表5 2 基于规则o p c o d e 2 的故障用例片段5 3 表5 3 基于规则d a t a l 的故障用例片段5 5 表5 4 基于规则d m a 2 的故障用例片段5 5 表5 5 基于规则r e g i s t e r l 的故障用例片段5 6 表5 6 基于规则r e g i s t e r 2 的故障用例片段5 6 表5 7 故障等价类抽样5 6 表5 8 典型程序负载特性5 9 表5 - 9 基于故障序列生成算法选取故障的实验结果6 0 表5 1 0 随机抽样法生成故障序列的实验结果6 0 表5 - 1 1 分层抽样法生成故障序列的实验结果6 0 第l v 页 国防科学技术大学研究生院硕士学位论文 图目录 图2 1 故障,错误,失效【2 6 】6 图2 2 故障注入原理【2 8 】。7 图2 3 基于物理的故障注入工具f 2 8 】9 图3 1 存储器内部结构1 7 图3 2 一元运算2 0 图3 3 二元运算2 1 图3 4 二元运算源操作数相关示例2 2 图3 5 示例程序的汇编源代码和控制流图2 3 图3 - 6 示例基本块和它的数据依赖图2 4 图3 7 基本块故障流图的生成算法2 7 图3 8 示例基本块的故障流图2 7 图3 - 9 执行路径故障流图的生成算法2 8 图3 1 0 程序的故障流图生成算法3 0 图3 1l 执行路径的风险概率算法,3 2 图3 1 2 路径p a t h l 的故障流图3 3 图3 1 3 存储单元实例的风险概率算法3 4 图4 1 按故障注入时间和位置进行等价类划分4 0 图4 2 指令操作码故障划分4l 图4 3 存储单元活跃期的定义4 2 图4 4 注入瞬态故障4 2 图4 5 注入持续故障4 2 图4 6 路径活跃流图的生成算法4 3 图4 7 基于等价类划分的故障序列生成算法4 6 图5 1 实验流程图5 0 图5 - 2 路径p a t h 2 的故障流图5 1 图5 3p a t h 2 的活跃期图5 4 图5 4s i m p l e s c a l a r 的工作原理5 7 图5 5s i m f i 的m a i n 函数流程图,5 8 图5 - 6 系统失效率比较图6 1 图5 7 恶性故障率比较6 2 附图1 路径阳如的故障流图7 1 附图2 路径p 日如的故障流图7 i 第v 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意 学位论文作者签名:嘎苍 日期:枷叁年。_ 月、。日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存、汇编学位论文 ( 保密学位论文在解密后适用本授权书) 作者指导教师签名:! 堑堡主 日期:h u x 年1 月r 国防科学技术大学研究生院硕士学位论文 1 1 1 单粒子效应 第一章绪论 1 1 研究背景 空间中有许多高能粒子,这些粒子进入半导体后,通过库仑作用电离出大量电荷,从 而引起半导体数字集成电路的逻辑翻转、锁定,甚至可能烧毁器件,这种由高能粒子引起 半导体数字集成电路逻辑紊乱或失效的现象即为单粒子效应( s i n g l ee v e n te f f e c t s ,s e e ) 【l j , 具体分为单粒子翻转、单粒子闩锁和单粒子烧毁三种现象。 1 ) 单粒子翻转( s e u ,s i n g l ee v e n tu p s e t ) 1 】:由于高能带电粒子的轰击导致半导体电 路发生瞬时充放电,从而导致半导体电路中的逻辑状态发生翻转。在计算机系统 中,存储电路通过保持或者释放一定的电荷来表示逻辑1 或者逻辑0 ,如果高能 粒子的轰击导致电路中大量的电荷发生移动,就会引起电路的逻辑状态发生翻转, 从逻辑1 翻转到逻辑0 或者反之,这时就发生了s e u 。s e u 是单粒子效应中最为 常见,也是最具有代表性的效应。这种效应不是永久破坏性的,它既不损害器件 也不干扰器件以后的工作,但会改变器件的当前状态,可通过重写来恢复原来的 状态,因而被称为瞬态性故障。 2 ) 单粒子闩锁( s e l ,s i n g l ee v e n tl a t c h u p ) 】:由于高能带电粒子的轰击导致半导体电 路内部电极之间的短路,引起电流突然增大,此时电路的状态被锁定,不能被输 入信号所改变。如果及时发现并且断电后重新加电,电路可以自行恢复;如果持 续时问过长、电流过大则可能直接造成器件的烧毁。单粒子闩锁可能是持续性故 障,也可能是永久性故障。 3 ) 单粒子烧毁( s e b ,s i n g l ee v e n tb u r n o u t ) h 】:由于高能带电粒子的轰击导致半导体电 路被烧毁的现象。单粒子烧毁是单粒子闩锁的一种特殊情况,是永久性故障。如 果单粒子烧毁不是发生在关键的部件上,可以通过软硬件手段识别和标记损毁的 部件并加以隔离来防止以后再次使用该损毁的部件。 1 1 2 容错技术 在n a s a1 9 9 6 年的统计中,单粒子效应所导致的卫星故障占据空间辐射效应故障总 数的8 0 【2 j 。为了解决单粒子效应对计算机系统的影响,国际上纷纷开展了抗辐照器件的 研究。但是使用抗辐照器件的效果并不理想,因为抗辐照器件的成本和功耗都很大,而性 能却较低【3 】。2 0 0 0 年以来,在a r g o s 项目t 4 1 q b ,m c c l u s k e y 等人已经明确总结出面向硬 件故障的软件容错技术( s i h f t ,s o f t w a r ei m p l e m e n t e dh a r d w a r ef a u l tt o l e r a n c e ) p 】,主张在 高性能商用器件上通过软件手段实现面向硬件故障的容错。容错技术是用冗余的资源使计 第1 页 国防科学技术大学研究生院硕+ 学位论文 算机具有容忍故障的能力,即在产生故障的情况下,程序仍然能够正确地运行1 6 j 。通常我 们将计算机错误分两大类:硬件错误和软件错误。按照容错技术所容忍错误的类型划分, 容错技术分为面向硬件故障的容错技术( h a r d w a r ef a u l tt o l e r a n c e ) 和面向软件故障的容 错技术( s o f t w a r ef a u l tt o l e r a n c e ) 两类。面向硬件故障的容错技术是以容忍硬件故障为目 标的容错技术,传统上一般通过硬件冗余技术来实现容错的功能。典型的面向硬件故障的 容错如三部件冗余,通过重复设置硬件电路或者硬件器件来实现冗余容错1 7 j 。面向软件故 障的容错技术主要容忍软件中的设计错误,通常以设计相异性瞵j ( d e s i g nd i v e r s i t y ) 为手 段,通过不同的开发团队,使用不同的算法和编程语言,开发不同版本的软件,通过并行 或者串行的方式冗余运行,最后通过表决采信多数一致的结果,以避免由于软件设计错误 引起的失效。典型的面向软件故障的容错技术有多版本编程【9 】( n v p ,nv e r s i o n p r o g r a m m i n g ) 和恢复块【lu j ( r e c o v e r yb l o c k ) 等。 1 1 3 故障注入技术 容错技术需要多种技术的支持,这些技术主要包括故障检测技术、故障恢复技术、故 障隔离技术,以及容错验证技术。为保证容错设计的正确性和容错机制的效率,需要采用 辅助的技术对容错系统进行验证。目前,国内外对容错机制的验证主要有三种方法:分析 模型法、现场错误数据分析法和故障注入方法。分析模型法主要用于系统的方案论证和设 计阶段【l ,它依据一定的假设模型,在理论上对待设计的系统进行模拟计算和评价。由于 没有足够的实验分析所提供的信息,准确的分析模型很难建立,因此该方法只能实现概略 的评估。现场错误数据分析法通过对系统的现场错误( 或失效) 数据进行统计分析,得到 系统的可靠性评价【l2 1 。由于系统的失效或错误并不经常发生,收集现场错误数据要耗费大 量的时间,而且对于星载容错系统,现场条件十分复杂,测试数据的真实性也没有保证。 与上述两种方法相比,故障注入法被认为是一种更有效的方法,已成为星载计算机容错机 制验证和容错系统评测的主要方法。故障注入是一种仿真技术【l3 1 ,它通过人为的手段直接 把故障( 硬件的或软件的) 引入到被验证目标系统之中,从而缩短了故障的潜伏期,加速 了系统的失效过程。通过这种方法,模拟目标系统在实际运行环境中可能发生的各种故障, 让目标系统带着故障运行,然后通过对目标系统的运行情况、系统行为等进行观察、记录 和分析,确定系统的错误检测覆盖率、故障延迟和故障传播情况,从而验证目标系统故障 检测、故障隔离、系统恢复和重组等容错机制的有效性,为完善和改进对目标系统的设计 提供重要的反馈信息。 故障注入的一个优点是可评价实际的物理原型系统。评价实际的物理原型系统的故障 注入方法分为软件实现的故障注入方法和硬件实现的故障注入方法。早期的大部分研究集 中在硬件故障注入方法。但是,随着故障注入应用范围的不断扩大和待评测的目标系统的 结构复杂性的不断提高,硬件实现的故障注入方法的局限性逐渐暴露出来。例如,该类方 法需要直接将硬件插入到目标系统中,容易对目标系统硬件造成损坏,同时,硬件结构的 第2 页 国防科学技术大学研究生院硕十学位论文 复杂性使得测试变得困难。其次,硬件实现的故障注入方法只能应用在设计阶段,由于产 品完成后的验收阶段不可能再开机测试,硬件故障注入便无法进行。另外,硬件故障注入 无法评测系统的软件故障。本文着重对基于软件实现的故障注入方法进行研究。它通过修 改内存或者寄存器的内容来实现【1 4 1 ,成本较低,无需昂贵的额外硬件设备,实现方式灵活, 而且可以将故障注入到目标系统的应用程序和操作系统。近年来,国内外研究者对于软件 实现的故障注入技术非常关注,开发了多种软件故障注入工具,例如f i a t i j 引、f e r r a r i l l q 、 f i n e t l 7 1 、s f l 0 8 i 、x c e p t i o n 【1 9 】、a c c e l e r a t e di n j e c t i o n 【2 0 】、c s f l l 2 1 1 、o r c h e s t r a 2 2 1 、s o b f i 2 3 】等等。尽管在软件故障注入的研究方面已经取得一定的成果,但还是存在以下一些不足: 1 大多数研究集中在故障注入工具的改进和设计【2 4 1 ,对故障模型( 故障模型是在一 定层次上对目标系统真实故障的抽象) 生成方法的研究还比较少。 2 对故障模型生成方法与故障传播之问关系的研究还很少,故障模型中很少体现故 障在目标系统中的传播规律。 3 大多数故障注入实验中采用的故障序列( 实验中注入到目标系统的故障用例集合) 是通过抽样方法获得的,缺乏规范性,从而导致对目标系统容错机制评测结果不 准确。 1 2 本文主要工作 本文围绕着故障注入实验中故障模型的生成过程,系统地开展了故障传播规律、故障 模型的生成方法、基于模拟的故障注入实验等方面的研究。首先在汇编语言级别上对单粒 子故障在程序执行过程中的传播规律进行了研究,提出了一种单粒子故障产生的概率模型 和故障传播模型,在此基础上给出了程序风险路径和关键数据的选取方法,为故障模型的 设计提供了依据。然后,针对抽样方法生成故障序列的组合爆炸和随意性大的问题,给出 了一种基于等价类划分的单粒子故障序列自动生成方法,具有较高的系统失效率和恶性故 障率。最后,通过基于s i m p l e s c a l a r 6 6 】的模拟实验,验证了该故障序列生成方法的有效性。 本文的主要研究成果体现在以下方面: 1 以处理器和存储器为例,研究了单粒子故障对硬件系统的影响,随后提出了故障 的产生模型,并给出了量化的概率模型。 2 建立了对单粒子故障传播过程量化描述的传播模型,给出了基本块的故障流图生 成算法、执行路径的故障流图生成算法和程序的故障流图生成算法。在程序故障 流图的基础上,通过引入风险概率的定义,提出了程序的风险路径和关键数据的 选取方法,为故障注入实验设计故障序列提供了依据。 3 提出了基于故障注入时间和故障注入位置的故障等价类划分原则。在程序的风险 路径和关键数据的基础上,提出了基于等价类划分的单粒子故障序列自动生成方 法。 4 通过对s i m p l s c a l a r 子模拟器s i m f a s t 的改进,设计了s i m f i 故障注入器,成功地 第3 页 国防科学技术大学研究生院硕十学位论文 模拟了单粒子故障对目标系统的影响,并验证了基于等价类划分的故障序列生成 方法的有效性。 针对穷尽注入法生成故障模型的组合爆炸问题和随机抽样法生成故障模型随意性大、 不能真实反映单粒子故障传播规律等问题,本文以故障等价类划分原理为依据,结合单粒 子故障在程序中的传播规律,提出了一种基于等价类划分的故障序列生成方法。该方法生 成的故障序列集合规模小、针对性强,加速了实验的验证过程,对于提高故障注入实验效 率具有很大的现实意义和理论意义: 通过程序的故障流图,可以得出程序中任意数据在任意时刻发生故障的概率,并 且可以得到该数据发生故障对程序正确运行的影响程度。 将故障传播规律引入到故障序列的生成过程中,克服了穷尽注入和随机抽样生成 的故障序列的组合爆炸和随意性大的问题。 该故障序列生成方法着重考虑故障注入时间和故障注入位置这两个故障属性,符 合软件故障注入实验的特征,且具有较高的系统失效率和恶性故障率。 1 3 论文结构 本文共分五章,各章内容如下: 第一章绪论 介绍了本文的研究背景,说明了本文的研究意义、目的,并简要介绍了本文的主要工 作成果。 第二章课题背景 阐述了与故障注入技术有关的基本概念;对软件故障注入方法、常用工具进行了系统 的分析;研究了故障注入技术的应用;对国内外故障注入技术研究现状进行分析,并讨论 其未来发展方向。 第三章单粒子故障在程序中的传播规律 本章在汇编语言级别上研究故障在程序中的传播规律,主要包括四个方面的内容:( 1 ) 单粒子效应对硬件系统的影响;( 2 ) 故障的产生模型,即在一定的时间内内存单元和寄存器 发生单粒子故障的概率;( 3 ) 故障的传播模型,即故障随着程序执行在控制流和数据流上进 行传播的规律;( 4 ) 在故障传播模型的基础上,根据程序的执行路径和数据发生故障的概率 对程序正确运行的影响程度,提出了程序的风险路径和关键数据的选择方法,为设计故障 序列提供依据。 第四章单粒子故障模型的研究 本章着重研究单粒子故障模型,对故障模型的两个关键问题,即故障模式的建立和故 障序列的设计方法进行探讨。通过对故障属性的抽象,提出了 四元故障模式。根据单粒子故障发生的特点,以故障等价类 划分原理为依据,在程序的风险路径和关键数据的基础上,提出了基于等价类划分的单粒 第4 页 国防科学技术大学研究生院硕十学位论文 子故障序列自动生成方法。 第五章基于s i m p l e s c a l a r 的模拟实验 本章研究了s i m p l e s c a l a r 的工作原理,设计了s i m f i 故障注入器,成功地模拟了单粒 子故障对目标系统的影响,并验证了本文提出的故障序列生成方法的有效性。 第六章结束语 对全文的内容进行总结,指出了本文工作的创新点和不足之处,并对相关研究内容的 下一步工作和未来研究方向提出了设想。 第5 页 国防科学技术大学研究生院硕十学位论文 第二章故障注入技术综述 故障注入是一种基于实验的评测技术,主要的研究内容包括故障注入方法和故障注入 工具。本章围绕故障注入方法和工具介绍故障注入技术的研究情况、国内外研究现状及发 展方向。 2 1 故障注入原理 故障注入技术按照选定的故障模型【2 5 1 ,用人工的方法有意识地产生故障,并且施加于 运行特定工作负载的目标系统中,以加速该系统的错误和失效的发生。与此同时,通过观 测和回收目标系统对所注入故障的反应信息,并对回收信息进行分析,从而向实验者提供 相关结果的实验过程。故障注入技术作为一种基于实验的测评技术,不需要长时间地等待 数据收集,具有方便、实时、快捷等优点,已经成为评价容错系统可靠性的一种重要方法。 在介绍故障注入原理之前,我们首先讨论故障和故障类型。 2 2 1 故障及故障类型 要详细介绍故障对系统的影响,首先应该厘清故障( f a u l t ) 、错误( e r r o o 和失效( f a i l u r e ) 之间的关系。对于故障、错误和失效存在多种描述形式,本文采用一种普遍接受的定义【2 6 】: 故障是系统硬件中发生的物理缺陷,设计制造的不完善或软件中隐含的错误;错误是指系 统中的某一个部分由于故障而产生了非正常的行为或状态的现象;失效是指系统未能正确 提供预先指定的服务。故障、错误与失效构成一个因果链,即故障引起错误,错误又引起 失效。当故障发生时,不一定立即发生错误,从发生故障到发生错误之间的时问问隔称为 故障延迟( f a u l tl a t e n c y ) ,从发生错误到发现错误之问的时间间隔称为错误延迟( e r r o r l a t e n c y l ,从发现错误到排除故障,或者最终失效之间的时间间隔称为容错延迟( f a u l t t o l e r a n c el a t e n c y ) 。图2 1 给出了从故障到失效的变化过程。 故障错误错误检测恢复或者失效 _ 、厂l 、,_ _ - 、一_ 故障延迟错误延迟容错延迟 图2 1 故障,错误,失效【2 6 】 通常我们将故障分为四类【2 7 】:第一类是硬件故障,是由硬件的物理缺陷引起的故障。 硬件故障按照持续的时问又可以分为瞬态( t r a n s i e n t ) 故障和持续性( p e r m a n e n t ) 故障。 第二类故障是软硬件的设计故障,主要是在软硬件的设计过程中引入的错误。第三类故障 是人为的操作故障,主要是由于人为操作不当引起的。第四类故障是人为的故意攻击,通 第6 页 国防科学技术大学研究生院硕士学位论文 常造成系统的瘫痪或者服务的中断。本文主要研究空问辐射环境中由单粒子效应引发的硬 件故障,包括单粒子翻转、单粒子锁定和单粒子烧毁三种类型。其中单粒子翻转发生频率 高,而且持续时问短,属于硬件瞬时故障。而单粒子锁定和单粒子烧毁通常表现为硬件持 续性故障。由于单粒子故障产生的原因难以定位,随机性强,所以通常认为故障发生的同 时,错误立即发生,中间没有故障延迟【8 1 。 2 2 2 故障注入原理 故障注入原理可用图2 2 所示的循环层次结构进行说明 2 8 】。一次完整的故障注入实验 是由实验者建立故障模型、选择故障注入方法执行故障注入、运行工作负载的目标系统、 观察系统行为和分析实验结果的循环过程。 实验者 jt 建立故障模型 分析实验结果 上t 执行故障注入观察系统行为 jt 运行工作负载的目标系统 图2 2 故障注入原理f 2 8 l 2 2 2 1 实验者 实验者主要负责建立故障模型和分析实验结果,此外还负责控制整个故障注入实验过 程的进行与终止。 2 2 2 2 建立故障模型 该步骤主要负责生成故障注入实验的输入信息,即根据真实运行环境下故障的特性, 抽象出故障属性,彳寻出故障空间,在故障空间内根据一定的机制生成故障序列。通常,故 障属性越能准确地反映实际环境中故障发生的特点,故障序列对系统实际运行期间发生的 故障的覆盖越高,实验评测结果就越精确。 2 2 2 3 执行故障注入 该步骤接收“建立故障模型”步骤中生成的故障模型,并将该模型转换为可应用于故 障注入实验的形式,然后选定恰当的方式将故障引入至目标系统,通常需要借助一定的故 障注入工具来执行故障注入。故障注入工具通常有软件实现的故障注入工具、硬件实现的 故障注入工具两种形式。 第7 页 国防科学技术大学研究生院硕+ 学位论文 2 2 2 4 运行工作负载的目标系统 目标系统包括模拟系统模型和真实系统原型,前者可在系统的开发阶段进行实验,而 后者要等系统实现后才能进行注入实验。工作负载是指运行于目标系统上的任务或应用程 序的集合,包括用户的所有行为、所执行的程序及支持任务执行的操作系统、真实应用程 序、基准测试程序、现场环境模拟程序及用于激活所注入故障的测试数据等。故障注入实 验应根据实验目标选择合适的工作负载。 2 2 2 5 观察系统行为 实验时需要观察的系统行为取决于实验者所期望获得的目标度量。典型的系统行为包 括故障是否有效注入、故障是否被激活、故障是否被检测到、系统是否成功恢复和注入故 障后系统的运行轨迹等。目标系统类型和需要监测的系统行为类型决定监测系统行为究竟 通过硬件或软件的策略来实现。观察到的系统行为通常需要与系统正常运行状态进行比 较。 2 2 2 6 分析实验结果 在分析实验结果阶段,实验者根据观察到的目标系统行为,获得对容错机制的定量或 定性的度量信息。容错机制的评测目标不同,实验结果的度量也不同。例如,实验结果可 以评测故障注入后系统的“正常失效 概率、故障检测覆盖率、错误延迟时间等参数,还 可以分析故障在系统中的传播过程。此外,该步骤还负责判断故障注入实验是否可以终止, 度量参数是否达到某一预定的阀值等。 2 3 故障注入方法 故障注入方法可按故障类型、实现方法、系统故障的抽象级别、实验所处的系统开发 阶段、实验目标或实验运行环境等方面进行分类。本文按照实验运行环境将故障注入方法 分为基于模拟的故障注入方法和基于物理的故障注入方法。 2 3 1 基于模拟的故障注入方法 基于模拟的故障注入实验通常在系统的设计阶段进行,能够为系统设计者及时提供反 馈信息【2 引。采用基于模拟的故障注入方法,首先需要根据某种标准硬件描述语言( 如 v h d l ) 构造目标系统模拟模型,然后向模拟模型中注入故障单元来实现故障注入。基于 模拟的故障注入实验可在晶体管开关级、逻辑级和功能级等由低至高等不同抽象层次上进 行。晶体管开关级的模拟故障注入方法通过改变电路内部某点的电压或电流,可以模拟环 境干扰等因素使电路发生的故障,主要用于集成电路芯片测试和可信性评估。逻辑级的模 拟故障注入方法可以模拟故障在逻辑门上的表现,主要用于研究系统逻辑门级故障到管脚 级的传播过程和逻辑门级故障对程序正确运行的影响。功能级的模拟故障注入方法通常用 于研究计算机系统或者网络的可信性。 第8 页 国防科学技术大学研究生院硕十学位论文 基于模拟的故障注入方法具有以下优点:实验费用低、不需要额外的硬件和实验早在 目标系统设计阶段就能进行。但是基于模拟的故障注入方法建立模拟模型需要的时间开销 比较大,而且模拟模型对系统输入参数的精度要求高,这些参数由于设计和工艺的复杂性 通常很难获得。此外,该方法还存在组合爆炸问题。组合爆炸由两种原因引起,是模拟 的细节太多,二是非常小的系统失效率要求很长的模拟运行时间。 2 3 2 基于物理的故障注入方法 基于物理的故障注入方法主要应用于计算机系统的原型,按其实现方法分为硬件实现 的故障注入方法、软件实现的故障注入方法,分别简称为硬件故障注入和软件故障注入。 典型的基于物理的故障注入工具包含2 8 】:实验控制器、行为监视器、故障注入器、数据收 集器和数据分析器,如图2 3 所示。 图2 - 3 基于物理的故障注入工具1 2 8 】 实验控制器负责控制整个故障注入实验,可运行于目标系统或另一台计算机上。目标 系统可以是v l s i 芯片、计算机系统或者网络系统,在其上运行着工作负载。故障注入器 执行向目标系统中注入故障的功能,并包含适当的软件或硬件逻辑保证故障在j 下确的时间 被注入到正确的位置。行为监视器跟踪工作负载的执行,并在适当的时刻启动数据收集器。 数据收集器和数据分析器分别执行在线的数据收集和离线的数据处理与分析。 故障注入器和行为监视器均可由硬件、软件或软硬件共同实现。若故障注入器由硬件 实现需要有附加的硬件装置,软件实现的故障注入器通常驻留在目标系统上。若故障注入 器由软件实现,而行为监视器由硬件或软硬件共同实现,则该工具为混合故障注入工具。 下面着重介绍硬件实现的故障注入方法和软件实现的故障注入方法。 2 3 2 1 硬件实现的故障注入方法和工具 硬件实现的故障注入就是利用附加的硬件装置将故障引入到目标系统硬件中,根据故 障注入位置分为接触式硬件故障注入和非接触式硬件故障注入【2 9 】。 1 ) 接触式故障注入:故障注入器直接和目标系统的电路管脚相连,通过改变芯片管 脚的电压来注入硬件故障,因此又被称为管脚级故障注入。通常使用管脚级的探 针和插座来实现管脚级故障注入,这是硬件故障注入中应用最普遍的方法。 2 ) 非接触式故障注入:故障注入器和目标系统间没有物理连接,而是利用某种外部 因素产生某种物理现象来实现故障注入,例如,重离子辐射注入、电磁干扰注入。 第9 页 国防科学技术大学研究生院硕士学位论文 这些方法很适合研究一些原型系统的可靠性,这些系统一般对硬件的触发和监视 的时间分辨率要求较高。 目前,典型的硬件故障注入工具有法国国家科研中心的系统结构分析实验室 ( l a a s c n r s ) 开发的m e s s a l i n e t 3 0 】,它利用活动探针和插座实现了管脚级故障注入;葡萄牙 c o i m b r a 大学开发的r i f l e i ”j ,它通过一个插座将处理器和系统其它部分离开来,通过截 获它们之间的信号,并对其进行修改来注入故障;瑞典的c h a l m e r s 技术大学开法的f i s t t 3 2 1 , 它采用了重离子射线直接将故障注入到芯片内部。由于本文着重研究软件实现的故障注入 技术,就不再详细介绍硬件故障注入工具。 2 3 2 2 软件实现的故障注入方法和工具 软件实现的故障注入方法根据某种故障模型修改存储器或寄存器内容来模拟硬件或 软件故障的发生。由于系统以及软件本身的复杂性和多样性,软件故障注入有很多不同的 实现方法。根据故障注入时间将软件故障注入方法分为编译时故障注入和运行时故障注入 1 2 9 o 编译时故障注入【3 3 】是指在程序映像被加载之前,将故障注入到目标程序源代码或者汇 编代码中,以仿真硬件故障和软件故障对目标系统的影响。注入故障后,系统产生一个错 误的软件映像,当执行带有故障的映像时,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 脊髓损伤病人护理查房
- 塔里木职业技术学院《中华射艺》2023-2024学年第一学期期末试卷
- 宁夏回族自治区中学卫市第五中学2025届初三第二次诊断性考试语文试题含解析
- 辽宁装备制造职业技术学院《生物组学》2023-2024学年第二学期期末试卷
- 景德镇陶瓷职业技术学院《基础医学实验(一)》2023-2024学年第一学期期末试卷
- 上海欧华职业技术学院《国际结算与贸易融资》2023-2024学年第二学期期末试卷
- 云南科技信息职业学院《药物分析》2023-2024学年第一学期期末试卷
- 山西卫生健康职业学院《高级生物信息学》2023-2024学年第二学期期末试卷
- 秦皇岛市重点中学2025届高三下学期研七考试化学试题含解析
- 铜川职业技术学院《花纸设计与排版》2023-2024学年第二学期期末试卷
- 保险信息服务合同范本
- 老年人康乐活动-老年节庆活动组织策划
- 预防接种服务提质行动方案2-4-10
- 绿化带改停车位施工方案
- 绿化苗木组织供应及售后服务方案
- 2023-2024学年浙江省环大罗山联盟高一下学期4月期中物理试题(解析版)
- 合用变压器协议
- 护理人员岗位绩效考核评价标准
- 2024年郑州轨道工程职业学院单招职业适应性测试题库学生专用
- 2024年山西省太原市中考二模地理试卷
- 《通信原理》樊昌信曹丽娜编著第六版课件
评论
0/150
提交评论