首页 > 范文大全 > 正文

机载雷达系统多层划分容错机制的研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇机载雷达系统多层划分容错机制的研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要: 针对机载雷达系统的高可靠性要求,提出了一种多层划分容错体系结构。采用自底向上分层的方式构建容错系统并试图在每一层尽可能的处理相应级别的错误,避免由微小错误导致高代价故障处理方式的介入。在此基础上设计分布式冗余管理协议实现节点的错误诊断、错误隔离以及重新配置,并采用一种基于悲观消息日志的异步检查点回卷恢复策略用于程序状态的复位或恢复。最后通过系统仿真故障注入的方式验证采用多层划分容错机制设计的系统具有更高的容错效率。

关键词: 机载雷达系统; 容错体系; 多层划分; 检查点回卷恢复

中图分类号: TN953?34 文献标识码: A 文章编号: 1004?373X(2013)17?0015?05

0 引 言

机载雷达作为航空电子设备的关键组成部分,需要满足高可靠性的要求。将系统错误产生的影响降至最低、实现容错的运行机制至关重要。构建容错系统最基本的思想是设置冗余。目前诸多的容错技术通过硬件冗余、软件冗余、信息冗余中的一种或几种来实现错误的检测恢复[1?2]。其中一些容错方法具有通用性。如检查点回卷恢复容错方法能够处理绝大多数软硬件暂时性失效导致的错误,硬件多机冗余方法能解决硬件永久失效的问题[3]。

机载雷达的用途和应用环境决定了其应满足实时性高和体积小的要求,因此机载雷达系统多构建在分布嵌入式环境下。分布嵌入式环境复杂的软硬件结构使得机载雷达产生的错误具有多样性,各类错误出现的位置、对系统功能的影响以及影响的严重性各不相同。尽管一些容错方法适用于较多类型的错误处理。然而对出现在不同位置、不同种类的错误采用同一种容错方法是不适当的。因为通用的容错方法的开销相对较大,对于某些类型的错误不是最优的容错选择,会增加不必要的容错开销。本文针对机载雷达系统的特点提出一种多层划分的容错体系结构,致力于减小为原系统实现容错机制所产生的开销,对于提高雷达可靠性的同时保证雷达的工作性能具有重要意义。在多层划分的容错体系结构下,需要实现一种能够准确诊断错误、隔离错误、进行重新配置并恢复系统预定状态的方法。为此设计了一种分布式冗余管理协议来实现错误的诊断和隔离,在确定故障节点的情况下管理冗余接替并进行拓扑重构。考虑到硬件冗余的容错方法具有较高的成本及机载空间占用,结合低卷回代价的检查点回卷恢复软件容错手段能够平衡系统容错在时间与空间方面的开销。

1 多层划分容错结构

机载雷达系统由天线、发射机、接收机、处理机及它们之间的接口、传输与控制总线构成。各分机功能正常运行以及分机之间协同有序的工作保证了雷达系统的正常运行。容错系统的构建可视为在原系统的基础上实现错误检测机制和一系列错误处理机制的过程。雷达系统可能发生错误的类型、位置、粒度以及对系统功能影响的严重程度多种多样,针对同一种错误通常有多种错误处理机制能够实现针对该类型错误的容错,然而采取不同错误处理机制的代价也是不同的。尽管一些容错技术具有通用性,适用于较多类型的错误处理。然而通用的容错方法的开销相对较大,对于某些类型的错误不是最优的容错选择,会增加不必要的容错开销。本文根据容错机制实现的位置将机载雷达容错系统分为三个层次:芯片电路层、节点层和系统层。每个层次都会针对相应的软硬件环境和粒度实现相应层次的故障诊断、故障隔离、重新配置以及状态的复位或恢复。

多层划分的容错体系结构如图1所示,其清晰而易维护,针对容错需求设计的故障处理方式贯穿雷达系统的每一层次。且呈现了多层划分容错系统在每一层可能处理的部分错误类型以及错误处理的结果。低层上报的未解决故障将同相邻高层检测到的故障一同被本层的预定义故障处理流程处理。这种自底向上构建容错系统的方式试图在每一层尽可能的处理相应级别的错误,避免底层的微小错误导致高代价的故障处理方式的介入。同时这种方式能够整合层级错误类型,实现层与层之间透明的错误传输和处理,降低了容错处理的复杂度。

芯片电路层容错机制提供贴近硬件底层的容错措施。如缓存的奇偶校验保护、内存错误检查和纠正(Error Correcting Codes)以及晶体管的三重模件冗余(Triple Modular Redundant)技术等[4?5]。致力于保证构成独立功能的软件节点的容错运行。芯片电路层容错机制对于提高整个系统的可靠性非常重要,因为越接近底层的错误越难以在高层采取有效措施对错误进行纠正,高层针对底层错误的解决方式通常是复位或制定相应的冗余接替,这种方式的代价是很高的。以雷达处理机中实现脉冲压缩功能的某一节点的某关键电子元件故障为例,通常的容错方法是脉压节点的硬件冗余,但是如果针对节点内的关键电子元件采用多个冗余元件实现低粒度容错,即能以更小的空间代价替代节点冗余实现此类错误的容错。如果同时使用这两种方法,则大大提高了雷达处理机的可靠性。

节点层容错机制实现在构成独立功能的软件节点上,致力于保证软件相应功能单元的容错运行。节点层的容错机制能够处理多数芯片电路层抛出的无法解决的错误情况,结合硬件冗余采用诸如看门狗定时器以及检查点备份等软件冗余方法能够复位或恢复节点运行状态,或提供允许程度内的降级服务。同样以雷达处理机脉冲压缩单元为例,脉压单元使用[n]个节点并行工作实现原始数据的分段脉压,并使用一个脉压冗余节点。如果有两个脉压节点发生故障无法运行,则节点层容错机制采取相应容错措施保证脉压单元的[n-1]个有效节点对外提供低速率的脉压处理降级服务。

系统层以整个系统对外提供的功能或服务为对象,根据节点层的状态选择最优的容错方法并对外反馈错误信息及处理方式。对于非复位类型的容错方法,系统层容错机制负责各节点间容错运行的一致性状态,保证整个系统故障与恢复前后的状态一致。系统层容错机制使用分布式冗余管理协议来实现节点的错误诊断和错误隔离,根据优化的容错策略重新配置以实现系统状态的复位或恢复。系统层负责冗余管理的协调和一致,使得故障节点本身以及其他相关节点能够在故障处理后协调运行,对外提供正确的功能和服务。

各层次的容错机制并非孤立的,而是相互协同实现整个雷达系统的容错功能。低层次容错机制尽可能的解决出现的错误,如果某些类型的错误无法完全解决,则将错误抛给高层进行解决。举例来说,假设雷达系统实现目标检测功能的某个芯片上出现了访存越界错误,对于此类错误芯片电路层无法进行有效的恢复,只能将错误类型通知相应的节点层容错机制,于是节点层的访存异常处理流程将被执行,终止相应的进程并使用冗余接替,如果不存在冗余则试图提供降级服务保证节点提供的目标检测功能仍然有效,最后将节点状态和错误处理方式通知系统层。系统层会根据出错节点的状态通知与之功能相关的节点如目标跟踪节点,并控制目标跟踪节点更改算法以适应目标检测节点的变化情况。

2 分布式冗余管理协议

故障检测是实现容错系统非常重要的一环。在多层划分容错机制中,节点间接口故障是一类特殊的故障。因为这类故障的发生会导致层次之间故障类型及故障处理结果信息传递的失败。接口的故障多与组件的电气特性有关,往往导致大粒度的冗余接替。为此设计了分布式冗余管理协议,不仅可以用于节点的故障判定,并且能够在确定故障节点的情况下管理冗余接替并进行拓扑重构。分布式冗余管理协议在故障检测及隔离方面具有时间复杂度低、实现简单的特点。

3 检查点回卷恢复容错方法

考虑到机载雷达系统的应用环境和自身特点,过多采用硬件冗余的容错策略并不合适。因为较多的硬件冗余不仅会占用宝贵的机载空间,也会提高机载雷达的成本。另外,在机载雷达的某个子系统故障时采用硬件冗余的容错方式只能恢复到初始状态,这样会丢失故障前的结果和状态。而雷达系统常常需要跟踪测量多个目标,从初始状态重新建立目标轨迹跟踪需要相当长的时间,因此需要寻找一种具有较小回卷代价的容错方法。检查点回卷恢复容错方法为容错系统提供了一种低卷回代价的软件容错手段。

检查点回卷恢复容错方法是一种通过软件冗余实现的容错方法。各节点在雷达运行过程中以同步或异步的方式实时保存单元检查点。如果雷达运行时发生故障,可以通过各系统备份的满足全局一致性状态的一组检查点将整个雷达软件系统恢复到之前的状态,并保证恢复前后状态的一致性和数据的完整性。单元检查点的保存在节点层实现,每个单元的检查点是其所在节点的嵌入式芯片中的关键结构的数据映像文件,文件内容由各类寄存器、堆栈、只读ROM中的数据按一定格式构成。单元检查点的实现是与硬件体系结构紧密耦合的,可以通过函数库的方式提供给高级程序调用。目前相关领域技术已比较成熟。

3.1 检查点的一致性状态

检查点的一致性状态是指:如果某一运行实体采取检查点时的状态反映接收到来自另一发送实体的消息,那么对应的发送实体在某一检查点时的状态也反映此消息已发出,那么两个状态处于一致性状态,所属不同实体的两个检查点叫做一致性检查点[6]。如果全局检查点中的任意两个局部检查点都符合一致性约束,那么全局检查点也是一致的。然而在节点故障时有两类消息会使系统处于不一致的状态,它们分别是在途消息和孤儿消息。

3.2 基于悲观消息日志的异步检查点回卷恢复策略

通过异步方式实现全局检查点备份的方法赋予系统内各节点很高的灵活性,这种方式允许各节点独立的保存本地检查点,能够满足机载雷达系统的实时性要求。然而在选择满足一致性状态的全局检查点的过程中容易产生多米诺效应[7]。多米诺效应是指在回卷的过程中为了避免出现孤儿消息或在途消息导致的检查点不一致状态而产生的过度回卷的现象,极端的情况可能使系统回卷到初始状态,从而降低恢复的效率。

为了避免异步方式实现全局检查点可能出现的多米诺效应,可以采取记录消息日志的辅助手段,对于在程序运行中所遇到的任何一个不确定的消息发送动作,系统都假设在此动作发生后系统会出现故障。于是在每个不确定的消息发送动作产生结果之前,将能够复现此消息传输过程的关键信息能够保存到稳定的存储介质中,然后继续程序的运行。这种策略是工程领域常用的悲观策略,可以称之为悲观消息日志方法。借助这种手段在系统出现故障,寻找可恢复的全局一致性状态时能够消除孤儿消息、在途消息以及多米诺效应带来的不利影响。

采用悲观消息日志方法具有以下优点:首先无需为异步实现的全局检查点设计复杂的协议保证其一致性状态,实现简单;再者在回卷恢复时仅需从最近的全局检查点开始,并且仅对出错的进程执行回卷操作,恢复的代价小。

4 仿真实验

实验借助QuiKLab实时嵌入式系统测试工具进行系统的仿真、故障注入及结果分析。实验通过主机开发测试模型对被测系统的交联对象的内特性与外部环境进行仿真,构建测试环境模型与接口驱动模型。并借助FIU自动测试故障注入箱实现实时环境下的电气故障模拟。表1描述了采用多层划分容错机制实现的系统与采用一般容错方法实现的系统在典型故障输入时的表现。

5 结 论

本文针对雷达系统的结构特点提出一种多层划分的容错体系结构,通过自底向上的方式构建容错系统并试图在每一层尽可能的处理相应级别的错误,避免底层的微小错误导致高代价的故障处理方式的介入,由此可以提高容错处理的效率。为容错系统设计的分布式冗余管理协议能够实现节点的错误诊断和错误隔离,为容错系统节点级的故障检测和重新配置提供了简单有效的方法。最后利用基于悲观日志的异步检查点回卷恢复策略实现程序状态的回卷恢复,为机载雷达系统提供了一种低卷回代价的软件容错手段。算法具有良好的时间性能和扩展性,能够满足机载雷达系统应用环境的需求。

参考文献

[1] AIDEMARK J. Node?level fault tolerance for embedded real?time systems [D]. Goteborg, Sweden: Department of Computer Engineering, Chalmers University of Technology, 2004.

[2] VIJAYKUMAR T N, POMERANZ I, CHENG K. Transient?fault recovery using simultaneous multithreading [C]// Proc. of the 29th International Symposium on Computer Architecture. Washington, DC, USA: IEEE Computer Society, 2002: 87?98.

[3] AFONSO F, SILVA C, TAVARES A, et al. Application?level fault tolerance in real?time embedded systems [C]// Proc. of International Symposium on Industrial Embedded Systems. [S. 1.]: IEEE Press, 2008: 126?133.

[4] AIDEMARK J, FOLKESSON P, KARLSSON J. A framework for node?level fault tolerance in distributed real?time systems [C]// Proceedings of the 2005 International Conference on Dependable Systems and Networks. Yokohama, Japan: IEEE Computer Society, 2005: 656?665.

[5] 刘耀,胡越明,金利峰.高可靠计算机系统的容错技术[J].计算机工程,2004,30(z1): 590?592.

[6] GOIRI I, JULIA F, GUITART J, et al. Checkpoint?based fault?tolerant Infrastructure for virtualized service providers [C]// 2010 IEEE Network Operations and Management Symposium. Osaka: IEEE, 2010: 455?462.

[7] SARIDAKIS T. Design patterns for checkpoint?based rollback recovery [C]// Proceedings of the 10th Conference on Pattern Languages of Programs. IL, USA: Robert Allerton Park and Conference Center, 2003: 1?27.

[8] GAISLER J. A portable and fault?tolerant microprocessor based on the SPARC V8 architecture [C]// Proceedings of the 2002 International Conference on Dependable Systems and Networks. Bethesda, MD, USA: IEEE Computer Society, 2002: 409?415.

[9] 傅忠传,陈红松,崔刚.处理器容错技术研究与展望[J].计算机研究与发展,2007,44(1):154?160.

[10] SAHA G K. Approaches to software based fault tolerance: a review [J]. Computer Science Journal of Moldova, 2005, 13 (39): 11?22.