技术中心
 
 

一种容错计算机体系结构在惯性系统中的应用

   日期:2007-10-25     来源:中国惯性技术学报    作者:管理员    

摘要:容错技术已成为提高计算机系统可靠性的必要手段。通过对冗余模式及级别进行选择,本文提出了一种面向任务的双机并联体系结构,运用双机数据比较实现容错。文中给出了此系统的功能、结构及原理,并给出了部分实现方案。
关键词:惯性系统; 容错计算机; 冗余; 双机

1 引言

  惯性系统多应用于恶劣环境下,但其性能要求却很高,这就使得系统可靠性问题尤为重要。计算机做为导航控制部件,其可靠性关系着生命财产的安全,因而使用能够容错的计算机系统成为解决可靠性的理想途径。
  容错技术的思想是伴随着第一台计算机的设计出现的,随着计算机技术的发展,四十年来已形成一门融计算机科学、可靠性理论、BIT技术等多种学科的边缘学科,在可信性理论及可信性系统设计方面都取得了大量成果。特别是早期的容错技术现在已成为通用技术运用于计算机中,如复执、编码技术等,为提高控制过程的安全性起到了不可忽视的作用。容错带来的便利使其成为计算机世界一直热衷不衰的追求目标。目前世界上较大的五家容错系统供销商是:
TandemSTRATUSATTComputer ConsolenIBM
。虽然工业控制系统可以采用类似STRATUS那样的“零”故障计算机,但商品化的容错计算机价格极其昂贵,并且不能满足特殊控制场合的要求(如舰船对于设备体积、重量的限制等),这必将大大降低系统的性能价格比,因而因地制宜地开发面向应用的容错计算机仍是控制系统提高计算机可靠性的首选方案。
  容错系统通过增加额外消耗,采用冗余措施,实现了故障掩蔽,而硬件冗余是大幅度提高系统可靠性的基本手段。硬件冗余是利用引入系统的元器件实现容错,通过对三种冗余模型的比较,我们认为动态冗余结构较为简单,在单机可靠性较高的情况下易于实现。尤其是热备份双机并联系统更具有较强的可行性和适应环境的可设计性,为此,我们开发了基于并联模型的面向惯性系统应用的容错计算机系统—
FTNC (Fault Tolerant Navigation Computer)

  可靠性理论计算及长期的实践经验表明,即使采用返场维修策略(现场不可维),双机并联系统在出航中的可靠性也是单机系统的1.5倍,以目前计算机的可靠性指标,其容错设计能够满足舰船需要。

2 FTNC系统体系结构

  容错计算机的冗余主要有三种级别:整机级、功能单元级和部件或插件级。三种方法各有优缺点,而容错是可靠性与容错代价的折衷产物,因而系统模型应审慎选择。虽然整机级机构规整,易于实现,但硬件投入大;而功能单元级以CPU、芯片、存储器等为冗余对象,虽可靠性提高大,但要求涉及系统底层硬件,应用者实现比较困难。所以,作为面向应用的开发,部件或插件级以硬件结构的自然划分为冗余单位,实现比较容易且可靠性提高幅度较大。
  由于导航过程中主要要屏蔽的是计算机主机故障,而目前的技术水平已能够将主机集成在一个插件模块上适应舰船需要,所以FTNC以主机作为冗余模块;而外设不仅地位较低,且价格比较昂贵,所以基本思路是双机共用一套外设。但经验数据表明,作为导航数据采样器件的A/D是外设的一个例外,它不仅作用重大,而且可靠性比较低,其故障模式是容错系统不能忽视的。因而,FTNC用了两套A/D设备,采用分别与主机串联的模式,以利于系统实现。我们将主机串联A/D作为一套处理器子系统,则FTNC体系结构的可靠性框图如图1所示。

t70.gif (2010 bytes)

图1 系统可靠性框图

  FTNC具有下列容错功能:
①对永久故障进行检测、隔离和切除;
②对间歇、瞬时故障进行屏蔽与恢复;
③通过切换实现系统的重组与重构;
④自动完成系统的重启功能。
  双机并联系统的故障检测是用比较的方法实现的,即周期地对冗余双模块的信息进行比较,发现不一致便认为检测出故障,而后根据系统设计的不同进行故障确认或故障诊断等。在双主机冗余的常用系统中,通常采用利用逻辑电路进行比较的硬件法。硬件比较的优点是比较器独立于双机系统,时序性强,与主机故障相关性小;但不利之处在于比较器的可靠性成为系统的瓶颈问题,特别是由比较器负责输出的系统,比较器的故障将使系统瘫痪。所以,FTNC系统设计了软件比较器,因软件一经使用其可靠性是保持不变的。
  FTNC将比较器作为从机的一项特殊功能,当主机向外设发送数据时,从机进行双机数据比较,所以比较器是通过双机通信以及比较软件实现的。这样做的好处是:1.比较器简单,易于实现;2.比较器的可靠性问题归结到比较软件的可靠性、通信设备以及双机的可靠性问题中,从整体可靠性设计上考虑将比单纯的时序电路可靠。所以,FTNC系统在双机工作正常情况下,对外设的切换开关是对主机导通的。图2所示为FTNC体系结构框图。

t71.gif (3564 bytes)

图2 FTNC体系结构

3 FTNC工作原理

  双机并联系统的容错体系实质上是由三个主要部分组成:故障检测、故障定位、故障恢复。围绕其功能,FTNC整机系统共有四种工作状态:状态0—状态3。其定义如下:
状态0—双机并行的正常工作状态;
状态1—故障检测状态。在系统运行中,发现故障,为确定是否为永久故障而进行的操作;
状态2—故障诊断状态。确认故障发生后,将故障定位;
状态3—单机工作状态。
  系统运行中状态转移图如图3所示。

t72.gif (1634 bytes)

图3 系统工作状态转移图

  其中a、b、c、d、e代表系统进程,下面就图3对系统工作原理进行阐述。
  初始化 当计算机系统加电后,首先对双机进行自检。如果双方均故障,则启动失败,系统不能工作;若双机中一台故障,则通知系统及用户后,将故障机切除,状态正常的机器进行单机运行;若双机均自检通过,则征询用户意见:双机还是单机运行,并根据用户的选择进行系统初始化。一旦系统进入单机运行,则在系统任务过程中无法进行比较检测,用户可运用WATCHDOG进行状态监控。
  在状态0 双机按照并行冗余机制进行工作。本文设计的冗余机制为:在双机工作状态,当双机分别完成导航任务的一个周期后,主机启动双机通信并负责数据向外设的传输,从机则完成双机数据比较的功能,所以此状态时,切换开关处于主机输出导通。若无故障,继续进行。
  状态1 系统进入状态1,说明至少已有一次双机结果不一致,使得系统经检测进程a进入状态1。此时,系统首先确认是永久故障还是瞬时或间歇故障,所以状态1为系统故障检测及确认状态。经过双机通信并采用运行检测程序,若暂时故障被屏蔽,系统恢复正常,则系统经恢复进程b返回状态0,系统继续双机运行;若故障无法屏蔽,则说明故障为永久的,系统则经准备进程c进入状态2。
  状态2 故障定位状态。按照系统预先设计的定位检测程序进行故障诊断,如果诊断算法判定两机均无异常,则表明可能为误警,则系统返回状态0;否则,系统通过进程d将故障机切除,进行系统重组与系统恢复,系统以单机方式运行。
  状态3 单机运行的系统。系统的理想目标是当另一台机器功能修复后,系统能够在不停机状态下恢复到双机状态1。
  FTNC建立了双处理器子系统的任务级的松散同步机制。因FTNC的冗余级别较高,双机自主性很强,而且采用了双A/D机制,若采用完全同步是不可能的,此方法实现的基础是:①双处理器的硬件,尤其是CPU、A/D、计时器应性能一致;②双机在通信协议支持下同步启动;③为数据设置容忍度,可以在时钟漂移的情况下减少对同步的严格要求。
  将计算机系统的故障模式归类,从总体上说,需要FTNC容错的故障共有四类:①双机中一方跳飞或死机。表现为不执行命令或执行错命令,防治策略为运用WATCHDOG手段,为任务设置时间门限,超时由对方机检测并启动诊断;②计算错误当CPU中ALU、协处理器等运算硬件发生故障,或存储器读写异常时,便呈现出双机计算不一致现象,需要运用比较器、故障检测、故障定位等手段将故障屏蔽或将故障机定位并切除;③比较器故障比较软件故障,表现

 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作