容错关键技术

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

容错关键技术

一个容错系统包含四个要素:首先是故障检测,这是容错系统必不可少的环节,其他环节以此为基础;其次是对出现的故障所造成的影响进行评估并限制其进一步传播;最后是对确定为不可恢复的故障进行处理。

容错的基本步骤概括起来是故障检测→处理故障→系统恢复。

防止故障造成系统失效有两种基本技术:即是故障掩蔽技术和系统重组技术。

故障掩蔽是防止故障造成差错的各种技术,换句话说要将发生的故障隐蔽起来。这类技术不要求在容忍故障前检测故障,但要求做到故障包容。故障包容是指使故障的影响局部化,不希望一个故障全局地影响整个系统的性能。在故障效应达到模块的输出之前,通过隔离或校正来消除它们的影响,从而达到容错的目的。

掩蔽技术不改变系统的结构,即系统部件的逻辑关系相对固定,因此掩蔽技术又称静态冗余技术。当掩蔽冗余因模块中的故障而耗尽时,再发生故障就会在输出产生错误。

系统重组是防止差错导致系统失效的各种技术。系统重组技术首先做到故障检测,然后做到故障定位,最后做到系统恢复。

系统重组技术称动态冗余技术。

故障掩蔽技术及系统重组技术是达到容错的两种基本途径。而它们又建立在资源冗余的基础上的。资源冗余主要有两种基本形式:硬件冗余和软件冗余。

1、硬件冗余

实时系统中应用最广泛的冗余形式是硬件的物理重复。随着半导体元件体积的缩小及成本的下降,硬件冗余成为更实用的一种冗余方法。硬件冗余有两种形式:被动冗余和主动冗余。

被动硬件冗余又称静态硬件冗余,是指冗余结构并不随故障情况的变化的冗余的形式。被动硬件冗余应用了故障掩蔽的概念,将发生的故障隐蔽起来,防止故障造成差错。被动硬件冗余的基本机理是通过多数表决隐蔽发生的故障。这种冗余方法一般用于多机系统。

主动硬件冗余又称动态硬件冗余,是通过故障检测,故障定位及系统恢复来

达到容错的一种技术。

由于系统恢复采用某种重组技术,因此系统冗余结构将随故障情况发生变化。这种技术不会防止故障产生差错,但防止差错产生失效,这类应用允许发生暂时的故障的错误结果,只要系统在规定时间内进行重组并恢复正常工作。

主动硬件冗余技术与被动硬件冗余技术相比有以下优点:

(1)有更大的隔离灾难性故障的能力,这对密集的微电子电路特别重要;

(2)直到所有的后备资源耗尽了,系统才失效,因此可靠性较高;

(3)系统平均寿命增益可以大大加强;

(4)可利用后备单元的不加电元件潜在的低功耗特点;

(5)利用向后恢复能消除由瞬间故障引起的错误;

(6)易于调节后备单元的数量类型;

(7)成本比较低。

下面我们重点分析主动硬件冗余的几个方案。

方案一双机比较

最简单的双机比较方案如下图所示:

图 1 最简单的双机比较方案图

两个相同并行执行相同的计算,其结果由比较器进行比较,这是最简单的双机比较系统只提供故障检测能力,但不提供容错能力,但若配之以故障定位技术及切换技术,可以做到容错。

例如,当比较器给出不一致信号时,可以对两个模块分别进行故障测试,以确定有故障的模块,然后将正常模块输出作为系统输出,系统成为单机系统继续运行。

方案二双机备份

双机备份方案如下图所示:

图 2 双机备份方案图

一个模块为主用模块,用以产生系统输出,另一模块作为备用。采用各种故障检测技术及故障定位技术来确定发生故障的模块。

若主用模块发生故障,则进行重组,使一个正常的备用模块成为主用,从而使系统恢复正常运行。在进行重组的过程中系统正常运行发生暂时中断。

备用替换中的备件可分为热备份与冷备份。采用热备份时,备件与主件同时工作,随时准备替换主件的工作。采用冷备份时,备件平时不通电,直至需要它替换主件工作时才开始工作。

热备份的优点是中断正常的时间短。冷备份的优点是备件平时不消耗功率。对于电源功率很紧张的系统,可采用冷备份。但对于系统要求系统重组的时间尽可能短,应采用热备份。

方案三监督计数器

监督计数器是一个需要以一定周期计数的计数器(可用软件实现),用它可以检测系统的故障。

其基本思想是:当一个系统无故障时,它能按照一定的周期进行计数。

如果监督计数器中的计数值超过一定的时间仍未变化,则指出系统中出现故障。监督计数器的周期按照应用系统的要求而定。

监督计数器不仅能检测硬件故障,也能检测软件故障。例如,一个软件如进入一个死循环,它就会超过正常执行该软件所需的时间,监督计数器就会因得不到及时变化而给出出错指示。监督计数器仅是一种故障判定方法,要加上系统切换和重组硬件和软件才能真正形成硬件冗余。

2、软件冗余

在计算机容错系统中,许多故障检测及容错技术可用软件来实现。这时硬

件冗余的硬件可减至最少,而冗余的软件成为主要手段。

与硬件容错设计的动态冗余技术类似,用一个静态冗余的NVP(N份程序设计)结构为核,再用S份程序作为后备,随时替换NVP中出现的差错的程序,这样就构成了一个混合的动态冗余系统。这种系统由于对时间和空间的需求量太大,故很少有实际应用。

如果NVP结构退化到一个极端的情况:N=1,则可以得到一个特别有意义的动态冗余结构—恢复块(RB)结构。

RB结构的原理是:主块首先投入运行,如果检测出故障,经现场恢复后由一个后备顶上继续运行,这一过程可以重复到耗尽所有后备块,或者某个程序的故障行为超过了预料,从而导致了不可恢复的后果。

恢复块结构的可靠度极大地依赖软件故障的故障覆盖率(成功检测和恢复的概率)。过低的恢复覆盖率将使RB结构失去意义。

如果覆盖率小于0.9,则RB结构对可靠度几乎没有改进。然而,除了二份程序设计技术外,其它软件故障检测技术很难使覆盖率达到0.9。

因此RB结构不宜用与高可靠度要求的场合。

在实时多任务系统中,我们采用了另一种软件冗余方法——任务级动态冗余。

任务级动态冗余方法是实时系统中瞬间故障的恢复方法之一。该方法与RB 结构不同,是在实时多任务的环境下,充分利用操作系统提供的功能,对各个基本任务建立后备的任务作为冗余,并对后备任务进行容错调度,从而起到类似于重试或卷回恢复的作用,达到消除瞬间故障影响的目的。

(1)任务级动态冗余实现

由于实时多任务环境难于建立检查点并支持卷回恢复,而任务级动态冗余的思想充分利用了实时多任务操作系统提供的任务管理功能,为基本任务建立后备任务作为冗余,并对各个任务进行任务容错调度以消除瞬时故障的影响。

实时任务级的动态冗余是基于以下几点:

(1)实时多任务操作系统允许同时执行多个任务,每一个任务都能够独立于其它任务而运行。任务是实时多任务操作系统唯一能动的目标,它完成所有的工作。一个任务在它的整个生存期内可以有五种状态:睡眠、挂起、睡眠一挂起、

相关文档
最新文档