购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 系统架构特征

基于集中式、分布式的体系架构特点,星载嵌入式计算机的系统架构设计可总结出以下三个特征:模块化、开放式、冗余。

2.2.1 模块化

2.2.1.1 模块化定义

模块化设计是指星载嵌入式计算机均由标准化的模块产品组成。标准化模块产品均由模块测试维护及容错支持、信息路由或网络接口、通用物理接口以及电源这几部分通用基础支持单元和专门针对专业需求的专用部件组成。每一种模块要发挥自身特定功能,都需要通过上述公用部件融入整个系统中才能够发挥作用。同时,标准化模块通过内嵌软件实现与整个系统的交互,并通过规定外部机械结构形式,实现不同功能产品物理特性的标准化。

模块化设计思想体现在以下几点:

(1)统一。对多领域航天器星载嵌入式计算机进行功能模块的统一设计。

(2)优化。通过顶层规划,实现成本、复杂度、性能、可靠性的结构最优化设计。

(3)标准。在架构、协议、接口等方面采用统一标准,实现产品、服务的标准化。

(4)灵活。软件定义功能、模块组合定义设备、交换互连定义拓扑设计,提高系统的灵活性,支持灵活裁剪或功能扩展,支持在轨的软件定义和拓扑重构。

(5)高速。以高性能的多核处理器、高速网络,提供智能化应用计算平台。

2.2.1.2 模块化设计

卫星工作模式涵盖了从卫星发射入轨、入轨状态建立、正常在轨飞行到卫星故障处置等各个飞行阶段所涉及的所有工作项目和动作,具体包括发射入轨模式、入轨状态建立模式、轨道控制模式、正常运行模式、任务执行模式、在轨定标模式和应急模式等。其中,发射入轨模式和入轨状态建立模式在轨仅执行一次;卫星在轨飞行期间,主要在正常运行模式、轨道控制模式、任务执行模式、在轨定标模式和应急模式之间进行切换,其详细的逻辑关系如图2-1所示。

图2-1 工作模式逻辑关系

上述信息涉及卫星各层次的管理、通信需求,包括指令、模拟量和温度等物理层信号,也有测控、数传等星地链路,星内SpaceWire子网的通信路由,应用层任务控制执行等诸多信息耦合。这些复杂、跨多层信息传输和交互需求,导致卫星星内、星地信息交互传输设计异常困难,需要采用分层的网络信息交互架构思想进行设计,解除各功能模块的数据通信、信息处理需求之间的耦合性,才能支持星载嵌入式计算机复杂信息流设计与智能自主应用实现。

星载嵌入式计算机架构设计如图2-2所示,该架构分为5个层,分别为物理层、链路层、网络层、传输层和应用层。

1)物理层

物理层主要实现底层硬件接口、硬件存储、处理、通信等相关物理层硬件功能,具体包括:

图2-2 星载嵌入式计算机体系架构

(1)互连硬件资源。实现物理层硬件模块、设备之间数据通信的通道。如1553B总线、SpaceWire总线、RS422总线、TLK2711总线等互连资源。

(2)采集与控制接口资源。有三类功能模块分别提供遥测采集接口、指令接口、热控回路接口功能。

(3)计算与存储资源。为上层软件提供运行平台,由处理器模块、数据存储模块提供CPU、DSP、FPGA、RAM、ROM等处理存储资源。

2)链路层

链路层实现数据链路通信相关协议,包括AOS、TC等空间链路通信协议,也包括各类星载总线链路通信协议。

3)网络层

网络层为设备无关业务提供应用层和传输层实体调用。该层调用底层数据链路层业务完成功能。提供上层的接口服务主要有:

(1)包业务。通过数据链路层进行包传输交互。

(2)存储器访问业务。实现设备到设备存储器的直接读、写、块移动访问。

(3)同步业务。提供卫星时间和事件的同步。

4)传输层

传输层用于有多个网络互连且需要在多网络间传输数据时,包括传输协议和传输层安全协议,保障数据在设备或网络间的安全和可靠传输。

5)应用层

应用层提供卫星星载嵌入式计算机通常所具备的功能,包括遥控、遥测、电源管理、自主热控、健康管理、自主任务规划和有效载荷管理等卫星管理应用。

2.2.1.3 模块化架构组成

模块是星载计算机产品的基本单元,是功能硬件与管理运算逻辑的有机结合,具备一定的自治能力,可独立完成服务的解析、执行和监控功能,模块间关系简单,支持基于模块测试、调试,并便于系统集成。

对现有星载嵌入式计算机进行分析研究,总结星载计算机具有的常规功能为星务管理、遥测遥控管理、姿轨控管理、热控管理、能源管理和载荷数据管理(接收、压缩、存储)等。在对硬件进行功能模块划分时,将这些任务层功能根据硬件资源及接口形式进行归并,形成相对独立的功能模块,见表2-1。

表2-1 星载嵌入式计算机的标准化功能模块

续表

2.2.2 开放式

2.2.2.1 开放式定义

开放式系统的概念从航空界发展而来(航空电子开放式系统架构,open systems approach,OSA),主要为了解决系统结构升级和功能扩展的需要。其核心思想是便于软硬件移植,便于系统功能的快速集成和升级、可持续性发展和缩短研发周期,商用上的成功使这种概念很快被引入军用领域,军方借此快速便捷地从一系列开源技术中择优整合先进技术,降低开发、维护和更新成本,加速能力部署。

开放式系统的定义有多种,在不同的领域有不同的定义。开放式系统的一般定义为:一个系统,它对接口、服务、支持形式实施充分的开放标准,从而能使正确的设计单元可以以尽可能少的更改就能在较广泛的系统范围内应用,与本地和远程系统的其他单元实现相互操作,并以易于移植的方式与用户交互作用。由此可以看出,开放式系统的标准是公开和统一的,这些标准具有明确、广泛使用、非专利的接口/协议;使用工业界普遍认可的标准机构制定的标准;使用充分定义的系统接口,可在更广泛的应用中升级新的系统功能;可以通过增加更高性能的组件来实现系统的扩展或升级,尽可能减小对系统的影响;系统组件的相互操作以接口规范为基础,组件的研制遵循接口规范。

开放式系统结构具有互操作性、兼容性、可移植性和可重复使用性等优势,可以减少寿命期费用,增强新技术的可插入性和可变规模。但是,开放式应用仍有一些问题需要去解决,例如:标准并不一定总是能够满足系统的性能要求;对于一些关键接口,开放式的系统标准并不总是存在;同一种接口类型,通常有多种开放式系统标准;不管是使用开放式接口标准还是使用专用接口标准,都不能完全解决互换性问题。

通过系统组件功能分解和模块化规则,寻找灵活的系统架构解决方案。但是,如果方案具有灵活、广泛、多变的实施性,就会降低目标实现的可能性;如果降低实现的灵活多变性,就会增加目标实现的可能性,但会导致涉及领域变小。因此,在对架构进行决策时,方案灵活性的选择和折中是至关重要的。

开放式星载嵌入式计算机是一种面向高性能计算系统、拓扑可变、采用标准化通信方式、可扩展、易裁剪、具备快速开发能力的电子系统。

从性能角度出发,目前的高性能计算系统具有高主频、高速率、可扩展、强拓扑依赖性的特点。开放式星载嵌入式计算机需要具备高速网络化拓扑的构造能力,来容纳大体量、高速率的空间信息流;同时需要具备可靠的底层管理能力和稳定、强大的供电能力,来承载空间环境的恶劣工况以及高性能计算带来的高功耗运行。

从产品角度出发,为提高研发效率、降低开发成本,具有足够的泛化、扩展能力,需要星载嵌入式计算机采用开放式的架构,通过拓扑的可重构性和内部通信的标准化来提升系统对外部模块的兼容性;从而发展出开放式的快速迭代方法,并且允许系统在后期依旧具备硬件层面的升级扩展能力。

常见开放式系统架构对比见表2-2。

表2-2 常见开放式系统架构对比

2.2.2.2 开放式设计

根据信号速率及特征划分,通常高性能星载嵌入式计算机具有以下几种信息流:

(1)高速信息流。包括载荷[合成孔径雷达(synthetic aperture radar,SAR)、光学载荷、微波遥感载荷等]数据、数传数据等信息密集型数据流。

(2)中低速信息流。包括平台管理、遥控遥测指令等实时/非实时控制类信息流。

(3)低速信息流。包括传感器(温度、电压等)传感数据、芯片配置信号、系统复位等系统底层信息流、信号量。

(4)扩展信息流。指用于进行自定义通信扩展的信息流。

根据上述信息流划分,以SpaceVPX标准为例,可将星载嵌入式计算机的开放式层次划分为工具平面、控制平面、数据平面、扩展平面四个逻辑平面,分别见图2-3、表2-3。

图2-3 典型架构设计

表2-3 开放式架构层次定义

其中,数据平面用于高速信息流的板间传输,控制平面用于控制信息流的板间传输,扩展平面用于自定义的信息流传输,工具平面承载了系统底层状态信息流传输。

2.2.2.3 开放式架构组成

开放式系统架构具有以下特征:

(1)基于平台的一体化设计理念,围绕平台的机、电、热、控制等能力,对平台开展接口标准化、功能模块化、产品系列化设计。

(2)同等约束条件下的载荷具有互换、兼容、即插即用能力,支持有弹性、持久性强的多功能载荷。

(3)软件通用化、可重构,操作系统开源设计,功能及测试扩展能力强,实现软硬件兼顾的“柔性”卫星平台。

(4)形式简单:以最简单的原理、构型和结构,保证了任务需求,保证了可靠性。

下面分别从硬件、软件两个方面对开放式体系架构组成展开介绍。

1)硬件架构

一般为了满足系统需求,星载嵌入式计算机的系统架构硬件采用标准化设计。以SpaceVPX开放式架构为例,硬件组成可包括主控模块、功能模块、交换模块、底层管理模块(Space UM),所有模块均采用标准VPX连接器,各模块根据内总线分布在相应位号连接器的相应节点上引出对应的通信接口。

标准主控模块的架构及内总线接口分配如图2-4所示,主控模块由模块功能单元、底层管理单元、前面板接口、底板连接器构成。其中,模块功能单元主要为模块的业务执行体(系统主控、高速处理、存储等);底层管理单元搭载有系统底层管理控制器(ChMC)、状态传感器、电源芯片,该单元负责整个系统的底层管理、状态收集等业务;前面板接口用于向外界提供通信接口,根据具体的需求可以选择光纤接口或电接口通信。

图2-4 标准主控模块的架构及内总线接口分配

标准功能模块的架构及内总线接口分配如图2-5所示。标准功能模块的架构与标准主控模块相似,其主要区别在于,功能模块的底层管理单元搭载的控制器为平台管理控制器(IPMC),IPMC的功能弱于ChMC,IPMC仅需要响应ChMC的请求(执行指令或上报模块信息),以及对所在模块的底层传感器及模块底层状态进行管理维护。

图2-5 标准功能模块的架构及内总线接口分配

标准交换模块的架构及内总线接口分配如图2-6所示,交换模块由交换阵列、处理/配置单元、底层管理单元、前面板接口、底板连接器构成。其中,底层管理单元、前面板接口的构成与标准功能模块相似;交换阵列用于为系统提供数据平面、控制平面交换业务,交换阵列包括以太网交换阵列和SRIO交换阵列,SRIO交换阵列向P2~P6连接器提供不少于12路的4×SRIO交换端口,以太网交换阵列向P1~P2提供不少于16路的1000Base-X交换端口;处理/配置单元主要负责交换阵列的配置以及信号处理业务。

图2-6 标准交换模块的架构及内总线接口分配

2)软件架构

开放式体系架构的软件设计,从服务、需求、自主和可定制等方面考虑,大致可由基础资源层、中间件层、应用层组成。对软硬件解耦,通过增强系统扩展性来支持软件迭代升级,在硬件上进行加固防护,在软件上增强容错服务。开放式软件架构组成见表2-4。

表2-4 开放式软件架构组成

2.2.3 冗余

2.2.3.1 冗余定义

星载嵌入式计算机是星上采用计算机网络技术,将星载电子设备互连,实现卫星内部信息共享和综合利用、功能集成、资源重组优化的信息处理和传输系统。因此,有必要在已采取常规可靠性措施的情况下进一步进行冗余设计,采用高可靠多余度容错计算机技术来提高计算机系统的可靠性。

20世纪50年代,冯·诺依曼最早提出了采用冗余的思想来解决容错的问题。经过几十年的发展,目前冗余已经成为容错的基本方法。

从硬件冗余来讲,按照备份方式可将其分为热备份、冷备份;按照冗余的数量,可分为双机备份、多机备份;按照故障恢复方式,可分为静态冗余、动态冗余。选取何种冗余方式,主要是根据系统的实际要求确定。在航天器计算机系统中,决定冗余的方式包括系统的可靠性、自主性、寿命、重量、功耗和体积等因素。对于故障处理实时性、可靠性和安全性要求高的系统,一般采用静态冗余方式,典型的有“三取二”表决方式,如返回式卫星控制计算机;对于寿命要求高的系统,可采用冷备份方式,如高轨通信卫星;对于可靠性要求特别高的系统,可采用混合冗余的方式,即静态和动态相结合的方式,如“神舟”飞船姿轨控计算机。

2.2.3.2 冗余设计

按照所利用资源的不同,可将冗余分为空间冗余、时间冗余、混合冗余。

(1)空间冗余。指通过占用额外的空间资源如器件、函数或数据来实现容错。根据占用冗余资源的不同,空间冗余包括硬件冗余(如三模冗余)、软件冗余(如多版本)和信息冗余(如纠删码)。

(2)时间冗余。指通过占用更多时间包括重复计算或数据恢复等来实现容错。

(3)混合冗余。指将空间冗余和时间冗余结合起来,利用两者优势来实现的容错技术,如基于故障预测的进程迁移技术等。

容错方法分类如图2-7所示。

图2-7 容错方法分类

1)空间冗余容错技术

(1)三模冗余(triple modular redundancy,TMR)。为典型的空间冗余技术,其通过增加硬件的方式,达到容错的目的。TMR是 N 模冗余的特例( N =3),由于TMR可靠性较高且实现简单,得到了广泛的应用。图2-8所示为基本TMR系统的运行原理,系统在运行过程中完成实际任务的部分通常由三套独立且相同的模块组成,三个模块接收相同的输入,产生的三个结果送入多数投票器进行表决。当送入投票器的三个结果相同时,投票器认为运行正常并输出该结果;当送入投票器的结果只有两个相同时,投票器认为一个模块出现故障,投票器输出正常的多数模块的结果;只有三个模块得到结果均不相同时,投票器判断系统全部出现故障并重启计算。换句话说,三模冗余结构,只有在大于等于二模正常的情况下能够得到正常结果。因此,三模冗余可在单一时刻实现对单一故障的屏蔽。

图2-8 基本TMR系统的运行原理

星载嵌入式计算机的表决包括两部分:输入数据的表决和输出数据的表决。输入数据的表决由软件按“三取二”的原则来实现;输出部分的表决由软硬件协同实现。表决器实现原理如图2-9所示。

图2-9 表决器实现原理

①软件部分。每块CPU板的软体通过读取双口RAM中相应各个CPU模块运算的结果进行全量表决,其表决的原则为“三取二”;同时,在CPU空闲时进行自检。软件的表决输出是软件表决与自检信息处理后形成2位结果(2位信息00,01,10,11,表示CPU1,CPU2,CPU3输出或都不正常),并将此信息传递给硬件表决器FPGA。

②硬件部分。表决各块CPU板传送过来的表决结果,最终形成3个开关信号来控制CPU板的输出;硬件表决器的实现由FPGA完成,便于系统调试。

由于输出部分的软件表决是在3块CPU上同时运行的,理论上3块CPU输出数据都是正确的,因此不管输出哪块CPU板的数据,其结果都是正确的。即使硬件表决暂时有错误,最终的输出也是正确的。同时,为了保持数据的连贯性,切换的原则不是简单地按照“三取二”,而是根据原则的表决结果累计当前选择的CPU板错误的次数,只有当连续错误的次数超过一定量后才切换到另一块CPU板。

由于硬件表决器本身就是一个单点,因此系统对此进行了旁路设计。硬件表决器本身可以自检,如果硬件表决器出现暂时的输出错误(如不应同时选择打开2个CPU板或3个CPU板)或表决器无法正常启动,系统默认选择第1块CPU板的输出数据。当然,在冗余计算机工作之前,应对硬件表决器进行全面测试,确保表决器工作正常。

(2)拜占庭冗余。拜占庭将军问题是一种对现实世界的模型化,尤指网络当中由于软硬件错误、网络阻塞及恶意攻击导致的各种未知行为。拜占庭容错系统要解决的是分布式系统中存在恶意节点(即拜占庭节点)时,系统的一致性、正确性等问题。

假设分布式系统拥有 n 台节点,并假设整个系统拜占庭节点不超过 m 台( n ≥3 m +1),拜占庭容错系统需要满足如下两个条件:

①所有非拜占庭节点使用相同的输入信息,产生同样的结果;

②如果输入的信息正确,那么所有非拜占庭节点必须接收这个消息,并计算相应的结果。

另外,拜占庭容错系统需要达成如下两个指标:

①安全性。任何已经完成的请求都不会被更改,它可以在以后请求中看到。

②活性。可以接受并且执行非拜占庭客户端的请求,不会被任何因素影响而导致非拜占庭客户端的请求不能执行。

在分析拜占庭问题的时候,假设信道是可信的。拓展开来,在拜占庭容错系统普遍采用的假设条件包括:

①拜占庭节点的行为可以是任意的,拜占庭节点之间可以共谋;

②节点之间的错误是不相关的;

③节点之间通过异步网络连接,网络中的消息可能丢失、乱序并延时到达,但大部分协议假设消息在有限的时间内能传达到目的地;

④节点之间传递的信息,第三方可以嗅探到,但是不能篡改、伪造信息的内容和破坏信息的完整性。

注意:并非所有的缺陷或故障节点都称为拜占庭节点,拜占庭节点的行为有不可预测、任意性的特点,例如遭黑客破坏、中木马的服务器就是一个拜占庭服务器。

(3)算法容错。另一种典型的空间冗余容错技术是算法相关的容错方法。该方法通过开发具有容错能力的算法来完成容错,其需要针对并行算法的特点来完成容错设计,使得算法具有天然容错的能力。美国圣地亚国家实验室最先开展了该类算法的研究,提出了包括异步并行直接搜索(asynchronous parallel direct search)等具有容错能力的算法,这些算法可保证计算任务在小部分数据丢失的情况下仍能正确执行,而不需要进行故障处理或恢复。另有部分算法研究成果,虽然必须恢复故障丢失的数据才能正确运行,但其数据恢复方法非常高效。还有一类针对矩阵运算应用的算法,其可以针对计算数据进行编码,在算法执行过程中通过检查保留的编码,来判断是否发生了错误。这些算法相关的容错方法通常具有较低的容错开销,但对程序员提出了较高的要求,需要充分利用应用特点或数据特点精心设计独特而高效的容错方案,因而缺乏通用性,难以推广。

2)时间冗余容错技术

当前已有的典型时间冗余容错技术包括并行复算(parallel recomputing)和回滚恢复(rollback-recovery)。

由中国国防科技大学杨学军等人提出的并行复算,是一种具有快速故障恢复能力的容错技术。其核心思想如图2-10所示:当某进程发生故障时,将故障结点因故障丢失的负载分配到其余的无故障结点上进行并行的重算,而无须将全部进程回滚,因此能够有效加快故障恢复速度。并行复算采用时间冗余的方法,利用现有硬件资源,在不要求额外增加资源的情况下加速故障恢复。该方法适用于计算密集型应用,对需要较多通信的应用,并行复算的优势并不明显。

回滚恢复的基本思想是:在计算过程中周期性地保存计算状态,当故障发生后,应用程序回滚到之前保存的某个状态处重新开始执行。回滚恢复方法要求重复执行从故障前的某个状态到故障发生处之间的计算过程,虽然这种方法通常会要求额外的存储空间保存恢复所需的计算状态数据,但在保存和恢复的过程中关键的开销为时间开销,因此在这里仍将回滚恢复方法作为时间冗余容错技术。在分布式和并行计算领域,回滚恢复方法得到普遍关注、使用最为广泛。

图2-10 并行复算基本原理

3)混合冗余容错技术

对于空间冗余,为了完成同样的计算任务,需要占用更多的计算资源,降低了计算资源的利用率;对于时间冗余来说,冗余机制需要引入额外的计算时间来消除错误的影响,机制本身引入了时间开销。随着并行应用规模的不断增大,单纯的空间冗余或时间冗余,其弊端越来越明显。因此,可有效结合两者优点,通过引入故障预测机制,采用较少的空间冗余,配合时间冗余技术,从而有效提高并行计算的容错效率。

基于故障预测机制的容错技术,通常具有主动触发的特点,常被称为主动容错技术。而传统的容错技术如checkpointing技术,则通常被称为被动容错技术。由于故障预测目前无法达到对故障完全准确预测的程度,单纯的主动容错技术仅基于故障预测机制进行容错,当遇到未预测到的故障或者是已预测到但未来得及采取容错措施的故障时,系统可能面临较大的损失。因此,现有的主动容错技术常和被动容错技术结合起来,使得不仅能够利用主动容错技术的优势,而且能够避免故障预测不完全的缺点。

主动容错技术研究的关键在于故障预测方法准确率的高低。现有故障预测方法主要可分为两大类:基于模型的故障预测和基于数据驱动的故障预测。

基于模型的故障预测,需要事先假设系统故障符合某种模型,对于小规模系统中某些类型的故障,采用基于模型的预测方法能够获得较好的预测效果,但是对于由数十万以上部件构成的超级计算机系统,故障建模十分复杂,难以用模型准确描述系统的故障特征。

基于数据驱动的故障预测,主要利用数据挖掘、机器学习等技术对历史数据进行学习,获取故障发生的规律,然后利用学习的结果对所监测系统的实时状态数据进行分析,预测是否有故障发生。 kIDuvlBu/vqDBUcUI4TOlVBGYe/xxPcO++t44tnsrBZTY+m72Fesr9tLDai4ATgS

点击中间区域
呼出菜单
上一章
目录
下一章
×