一种基于PowerPC平台的冗余热备份设计

2021-11-09 11:50程焱明
舰船电子对抗 2021年5期
关键词:备份调度状态

宫 斌,程焱明

(中国船舶重工集团公司第七二三研究所,江苏 扬州 225101)

0 引 言

综合调度模块是电子战系统的作战控制中心和通信中枢,承担着系统的资源调度、战术决策控制、信息整合转发以及各分系统/设备之间的通信交互任务,是整个系统中的核心模块之一,一旦出现宕机等严重故障,将导致整个系统功能瘫痪,因此确保其工作高可靠性极为重要。信息化战争中的战场电磁环境日趋复杂,战机转瞬即逝,原有的软件故障系统重启以及耗时更长的硬件故障更换备件等处理方法,已经难以满足作战要求,对于武器系统中的关键模块,需要有提高系统工作可靠性的冗余备份设计,在出现故障时能够确保整个系统的作战功能不受影响。

高可靠性对系统的要求是具有完全在线的冗余功能,即系统在正常运行时,当前运行的系统如果出现故障可立即切换到备用系统,系统在整个运行过程中的正常工作不受任何影响,即系统输出连续,及时发现故障并实时切换[1-2]。冗余设计是在系统或设备中对完成任务起关键作用的地方提供一种以上的功能通道或工作元件或部件,以减少系统出现故障的概率有效的系统设计方法[3]。本文阐述的基于PowerPC 8640D板卡的电子战系统综合调度模块冗余热备份的设计方法即采用双机热备份设计,可以在软硬件故障导致系统死机的严重故障下,立刻切换到备份模块,确保系统作战功能不受影响。

1 系统设计

1.1 系统概述

综合调度模块的核心任务是管理整个系统中的侦察、干扰资源,针对不同的任务需求对系统中的资源进行合理分配调度,保证整个系统的稳定有序工作,并最大限度地发挥系统的侦察干扰效能。其功能实现主要包括接收并整合系统中各侦察、干扰设备以及上级指挥系统和本系统显控台的信息和指令,对整个系统的资源进行存储管理和动态分配,完成电子侦察和干扰功能的系统级调度控制,同时作为整个系统的通信中枢完成前后端、上下级的数据、命令转发。综合调度模块的内外通信方式包括基于以太网的DDS(订阅分发机制)和基于光纤通信的RapidIO方式,对外2种方式都有,内部各CPU系统之间则全部使用直接数字合成(DDS)方式,其系统架构如图 1所示。

图1 综合调度模块架构示意图

综合调度模块的特点是对外连接的通信节点多、收发处理的信息数据量大、调度控制实时性高。综合调度模块硬件采用一块PowerPC 8640D板卡,该板卡为标准6U VPX总线标准模块,集成4个主频为1.0 GHz的MPC8640D双核处理器,每个处理器配置1 GByte存储器;软件采用VxWorks 6.8操作系统,标准C/C++语言实现应用程序功能;每个处理器系统都具有以太网和SRIO通信接口,可以满足系统中的网络及光纤通信要求。根据系统功能要求,4个CPU各自形成相对独立的计算机系统,启动不同的任务完成各自的功能,同时又有效交互、密切配合,共同完成综合调度功能。

1.2 硬件配置

综合调度模块的冗余热备份设计考虑其功能特点,同时兼顾软件开销和硬件成本等因素,采用双机备份设计。双机备份方案中,根据性质和需要可以有3种不同的工作模式:即双机热备模式、 双机互备模式和双机双工模式[4]。本设计采用双机双工热备份方法,硬件部分在综合调度的标准6U插箱中增加1块PowerPC 8640D板卡作为备份模块,2块PowerPC板同时加电工作,备份模块实时检测主模块状态,当检测到主模块发生故障时,备份模块立刻切换到工作状态,代替主模块完成综合调度功能。

综合调度模块对外的以太网和光纤通信实现方式分别为DDS(订阅分发机制)和RapidIO接口方式。在对外通信中,订阅分发的DDS通信方式适用于以太网链路且不与特定IP地址关联,因此该部分的通信具有硬件无关性,冗余热备份的硬件部分设计上不需要做额外考虑,同时这也是本设计方法的一个重要基础;而RapidIO接口通过光纤交换模块接入光纤通信链路,其通信接口与硬件有一定的关联性。综合调度模块设计中,仅在PowerPC板的第1个CPU即CPUA系统中使用RapidIO接口作为整个综合调度模块的对外光纤通信输入输出节点,在系统冗余热备份设计中需要通过配置不同的通信地址段来解决备份模块的对外光纤通信链路问题。方法是为主模块和备份模块各配置不同的通信地址,外部形成冗余的光纤通信链路,数据输入为同步进行,数据输出由调度模块的工作状态CPUA确定,确保综合调度模块的主模块和备份模块能正确进行光纤链路数据交互。综合调度模块内部4个CPU系统之间采用DDS通信进行数据交互,因此冗余热备份的硬件部分设计也无须做额外考虑。

综上所述,综合调度的冗余热备份设计通过增加1块PowerPC 8640D板,并在外部光纤通信链路中增加1路适配备份模块的冗余链路,即可构成冗余热备份的硬件平台。

1.3 软件设计

综合调度模块冗余热备份的软件设计主要是在硬件基础上确保备份模块迅速准确地检测到主模块故障,并立刻切换到工作状态来代替主模块工作,保证整个系统稳定可靠运行。综合调度模块PowerPC板所在插箱中的插槽位置号称为槽位号,每个PowerPC板上的4个CPU各有1个ID号,它们都可以在上电后通过软件接口读取。综合调度模块的4个CPU系统(CPU A、B、C、D)运行软件一致,根据不同CPU的ID号,各自启动不同的任务完成各自的功能,同时各CPU系统之间又有数据交互。根据这一特点,软件设计为同一套代码,分别运行于主模块PowerPC板和备份模块PowerPC板,开机启动后根据不同的槽位号确定软件进入工作状态或备份状态,运行于主模块PowerPC板的为工作状态(以下对应主程序),运行于备份模块PowerPC板的为备份状态(以下对应副程序)。2种状态的区别是备份状态下CPU系统的软件仅接收并存储处理数据,并不对外发送数据,这样在同一时刻保证主、备模块中的每对CPU系统只会有一个对外发送数据,且在进行热备份切换时可以确保数据和状态的连续有效。

以电子战系统实际应用为例,在综合调度的标准6U插箱中,主模块的PowerPC 板使用1槽,备份模块的PowerPC 板使用4槽,主、备模块板卡各CPU及对应功能接口如表1所示。

表1 主、备模块CPU及功能接口表

综合调度软件正常工作时主模块PowerPC板(1槽)中4个CPU启动各自不同的工作任务,4个CPU间互有报文交互。冗余热备份的软件设计方法是对单个CPU分别进行冗余备份,即备份模块上的CPUA系统对主模块上的CPUA系统进行冗余备份,其余类似。主模块PowerPC板(1槽)的4个CPU(A、B、C、D)系统正常工作,一旦某个CPU系统故障,备份模块PowerPC板(4槽)上的对应CPU系统检测到后,即进入工作状态,接管原主模块PowerPC板上对应CPU系统的功能,与其他工作状态CPU系统共同完成工作任务。图2、图3为以CPUA、CPUB为例的冗余备份切换前后状态,主模块CPU正常工作,备份模块CPU正常接收所有输入数据,不输出数据;主模块CPUA(1-A)故障,则备份模块对应的CPUA(4-A)转入工作状态,进行数据接收和发送。

图2 主CPUA+主CPUB工作状态示意图

图3 备CPUA+主CPUB工作状态示意图

软件热备份设计的主要功能包括:

(1) 状态监控,主备模块的每对CPU系统运行检测应答任务,具体为备CPU系统定时发送询问报文到对应主CPU系统,主CPU系统接收到询问报文后应答;

(2) 主副程序切换,如果备CPU系统连续3个周期接收不到主CPU系统的应答,即认为主CPU系统故障,自动切换到工作状态(具体为放开数据输出);

(3) 状态同步与信息备份功能,CPU系统在完成切换后,因为各对应CPU输入数据和处理均同步进行,因此备份CPU转入工作后其状态能保证与整个系统同步,数据也能与原CPU保持一致,完成状态同步与信息备份的功能。

软件热备份设计的基本流程为:加电启动后主备模块通过槽位号确定程序运行状态,分别进入工作状态和备份状态(分别以主、副程序运行),每一对CPU的主副程序启动检测应答任务;主程序开机进入工作状态(接收、发送数据),同时运行应答任务,接收副程序查询命令并立即回复;副程序开机进入备份状态(仅接收数据,不发送),同时运行检测任务,定时发送查询命令到主程序;副程序检测任务中运行回复命令接收处理,在接收到主程序对应CPU的回复命令后开始周期计数,若超过3个周期未收到回复命令即切换进入工作状态,完成该CPU系统的热备份切换。检测应答任务均采用DDS通信,对应命令码和DDS主题如表2所示。

表2 主备程序检测DDS主题表

以CPUA为例,其主备程序软件热备份工作流程如图 4所示。故障检测对于双机热备份系统是非常重要的保障机制[5]。软件热备份设计的关键是检测任务与工作任务间的系统资源开销平衡。对于实时系统来说,故障检测必须做到占用系统开销小、定位故障及时准确并且故障判别的成功率高[6]。本设计中备份模块的检测采用高优先级定时任务处理,每100 ms发送检测命令,如果超过3个周期未收到主模块的应答,则认为主模块故障,自动切换到工作状态接替主模块工作。在实际工程应用中,经过测试验证,该任务周期可以满足综合调度模块的工作任务功能和冗余备份的实时检测切换,达到了系统资源开销的平衡。

图4 主备程序软件热备份工作流程图

1.4 实装验证

目前该设计已应用于电子战舰载系统的电子对抗综合调度模块中,该模块提供2块PowerPC板,分别位于3槽和8槽,3槽作为主板,8槽作为备份板,其对应地址按照槽位由系统统一分配。通过模拟主板上的CPU故障(如人工将任务终止),实测的各CPU冗余热备份切换时间如表3所示。

表3 主备模块CPU切换时间测试表

在实际装备中,经过应用验证,该冗余热备份设计能够保证CPU的工作状态及数据的完整性和连续性,可以满足装备的实战需求。

2 结束语

基于PowerPC的冗余热备份设计方法目前已经在舰载电子战系统的综合调度模块中得到应用,该方法充分利用了PowerPC板卡在功能、接口等方面的特点,结合了VxWorks操作系统的多任务、强实时特性,为系统的综合调度这一关键模块提供了冗余热备份运行的有效解决方案,提高了系统运行的安全性和可靠性,对于类似软硬件平台和通信方式的系统具有借鉴意义。但同时这种双机冗余备份在切换过程中必然存在一定时间中断,还不能完全做到真正意义上的“无缝”切换,如何进一步降低切换时延而又不过多占用系统的资源开销,还需要在实际工程应用中进行更深入的研究。

猜你喜欢
备份调度状态
基于智慧高速的应急指挥调度系统
基于半划分调度的Linux 实时调度算法改进*
基于CE-PF算法的舰载机离场调度优化问题
水资源平衡调度在农田水利工程中的应用
利用云备份微信聊天记录
如何只备份有用数据而不备份垃圾数据
全方位备份,就用Acronis True Image
Windows10应用信息备份与恢复
智珠二则
生命的另一种状态