张洪亮,张 晓
(1.中国西南电子技术研究所,成都 610036;2.空军装备部驻成都地区第三军事代表室,成都 610036)
随着互联网技术的快速发展,各行业应用系统的规模迅速扩大,所产生的数据呈井喷式增长,远远超出传统单台计算机的信息处理能力。因此,分布式大数据处理平台得到快速发展和迭代[1],如Spark、Hadoop等。
目前,分布式系统成为机载传感器领域发展的一个重要方向,采用分布式大数据平台思想设计分布式机载传感器系统也成为研究的一个热点。但机载传感器与互联网的传输、计算有很大的不同,比如系统的确定性、计算实时性、网络可靠性等。
在机载传感器系统架构设计过程中,传输网络的设计一直都是重要内容,在系统设计之初就需要确定网络规模,分析传输数据类型和传输带宽需求等方面内容,并结合上述需求分析来决定网络类型、设计网络的拓扑结构并给出网络传输能力、可靠性分析。
鉴于RapidIO具备可靠传输、低延时、大带宽等众多优点,结合分布式大数据平台设计思想,本文从网络拓扑结构、节点资源、网络资源管理等方面进行设计,将RapidIO网络技术从集中式的设备内扩展至多个设备的分布式互联,并进行了相应的性能评估以及应用说明,为后续RapidIO网络在分布式机载传感器系统工程化应用奠定基础。
本文涉及的分布式机载传感器系统采用开放式的系统架构,分别在结构、硬件、网络、操作系统等方面遵循开放式的思想进行系统设计,并对系统软硬件进行通用化的设计。分布式机载传感器系统由天线前端和分布式机架两部分组成。分布式机架通过交换网络为系统提供通用化的信号、数据处理资源池,为系统提供实时的图像处理、信号处理、协议处理、资源分配管理等。天线前端依据不同的需求分为两种类型:一种类型为由收发天线、信道处理等部分组成,其出口仍为射频信号,这部分功能的AD采样、DA变换、信号处理等依赖机架内部的多通道处理资源进行统一处理与接入网络;另一种类型的天线前端采用了智能蒙皮的思想,除了收发天线外,集成了AD采样、DA变换以及部分信号预处理功能,信号以高速光纤网络形式直接接入交换网络,其功能通过系统网络接入信号、信息处理资源池。图1为分布式机载传感器系统简要框图。
图1 分布式机载传感器系统简要框图
目前大数据平台已经发展到3.0时代[1],其计算引擎和框架技术也将分布式实时计算作为发展的一个重要方向,其特点是高并发、低延时、高准确度、业务连续性,并且平台自身也具备服务发现、负载均衡等一些分布式的网络管理功能,但这些功能与机载传感器系统对传输网络要求有一定差异。以网络低延时要求为例,由于大数据计算平台本身使用商业网络并且重点解决容器化调度、资源管理等问题,对网络延时的要求达到毫秒级的响应速度已经是很高的要求,但在机载传感器系统中,某些传感器功能(例如航空管制)从发射到接收的整体传输延时为微秒级别,对传输网络的延迟要求为微秒甚至纳秒级别。针对这种差别,究其原因,主要有两方面:一方面目前商用领域对实时计算的时间延迟需求可能尚未有更高更迫切的需求;第二,目前商业领域使用的网络主要为公共信息网络加持OSI模型的七层互联通信,在操作系统参与的情况下,其本身响应的速度就已经为毫秒级。以目前的最为主流分布式计算平台Kubernetes[2]为例,其原生系统涉及网络部分功能为服务发现以及负载均衡,服务发现是基于OSI模型的第七层(应用层),依靠URL等应用层信息进行解析从而被发现,负载均衡设计为第四层(传输层)负载均衡——基于IP解析+端口访问的负载均衡。两者的访问的层级较多,延迟比较大,在现行的协议下继续压缩的可能性较小。通过其原生的框架测试表明,其测试延时不小于5 ms。
机载传感器系统对传输的可靠性、准确性、安全性、低延迟、高效传输带宽等方面有着更为严格的要求。
RapidIO网络本身是针对嵌入式互联设计,具备可靠性高、传输带宽大、延迟低、安全性高、支持部件多等优点,非常适合在机载传感器系统,如CNI(Communication,Navigation and Identification)[3]、光电成像[4]、雷达等系统中应用。在网络结构方面,RapidIO网络内的节点可以通过交换芯片进行集中交换,多个交换芯片互联可以构建大规模集中交换,多个集中交换互联又可以构建分布式集群网络。因此,RapidIO非常适合在分布式机载传感器系统中应用。
从RapidIO标准规范的发布来看,RapidIO2.x标准支持的信号速率为1.25 Gb/s、2.5 Gb/s、3.125 Gb/s、5 Gb/s和6.25 Gb/s。
分布式机载传感器系统中主要考虑部署CNI功能、雷达成像处理、光电成像处理等功能。CNI功能众多,但是单个功能的数据量有限,大部分的数据传输以突发方式传输,因此瞬时带宽要求高而平均带宽要求低。雷达成像、光电成像等功能以传输回波数据、图像等块数据为主,数据量大,对带宽要求较高。在对数据分析的基础上,综合考虑实现难度(例如高速连接器选择、高速背板设计复杂度)以及低功耗设计,本网络设计为5Gb/s 4×模式(雷达成像、光电成像)和2.5 Gb/s 1×模式(CNI)。两种模式和速率可通过系统上电、系统重构时,依据不同的部署位置进行动态配置和切换。
RapidIO 规范支持消息通信(Message)、直接内存存取(Direct Memory Access,DMA)等多种通信机制。考虑图像、回波、数字中频等信息使用DMA传输方式效率更高以及芯片厂商对DMA的支持程度(因为系统会涉及到 DSP、PPC、CPU等多类型的芯片,需要都支持相同的通信机制),分布式机载传感器系统中的 RapidIO 采用DMA作为本系统 RapidIO 的通信机制。
网络拓扑设计是系统结构的基础,系统后续的软件设计和硬件设计都将围绕着网络架构展开。
RapidIO 网络拓扑设计最典型的有两种:点点互联和集中交换。点点互联适用于网络节点数量比较少、连接关系相对简单的系统。集中交换是以单个交换芯片或者多个交换芯片组成交换机为核心的方式构建交换网络,节点分别接入各个交换芯片,构成RapidIO集中交换网络。
采用分域式可扩展思想可以对RapidIO 集中交换网络进一步扩展,将多个集中交换网络划分为子网,子网与子网互联可以形成统一的分布式RapidIO网络。这种网络适用于节点规模较多的分布式系统,而且这种架构也便于网络的统一管理和系统后续的扩展,使得系统的开放性更好。本文设计的分布式机载传感器网络的架构如图2所示。
图2 基于分布式的RapidIO网络拓扑
从图1可以看出,分布式机载传感器系统的网络构型是以分布式机架为单位形成RapidIO子网,RapidIO子网内以两个交换机为中心形成双星1+1备份集中交换网络,分布式机架之间通过RapidIO交换机互联,使多个子网形成多星子网互联。子网间通过分布式的网络管理统一控制,形成统一的星群网络。
以往的RapidIO节点是以芯片为单位接入网络,而本文介绍的分布式机载传感器节点是将芯片抽象为多个标准计算单元的方式接入网络,也就是说接入网络的节点是比芯片更加细分的计算单元。这样做的好处是系统将构建统一以计算单元为标准的资源池,计算单元、节点与网络便于统一规划、管理、调度,功能软件的部署仅需向系统申请所需的计算资源、算力、存储与传输资源等需求,资源所在的具体位置(包括机架、模块、甚至芯片所在位置)由平台统一管理。分布式传感器系统主要分为数据处理资源节点、信号处理资源节点以及数据源节点。
2.4.1 数据处理资源节点
数据处理计算单元主要用于完成协议处理、消息处理以及系统管理调度等相关功能,主要包括综合控制处理模块、数据处理模块中的飞腾/PPC等多核处理器,如图3所示。在数据处理计算单元的设计上,采用统一的分区操作系统[5]与虚拟化技术,将多核数据处理芯片抽象为标准的多个分区计算单元,各个计算单元在时间与空间上相对独立,如图3所示。图中核心操作系统和能力支持负责将内核统一管理以及RapidIO物理端口统一处理成软件可直接调用的I/O端口,各分区操作系统配置统一的通信中间件,分区均配置逻辑端口,逻辑端口与I/O端口的内存分区一一映射,片上资源管理器统一对片上分区资源、逻辑端口进行配置、管理、调度。对于分区应用APP来说,分区应用通过中间件处理逻辑端口相关数据,RapidIO物理端口透明。这样实现了多个分区应用与芯片资源、RapidIO网络资源解耦。
图3 数据处理资源节点框图
分系统中的网络管理、系统控制、资源控制、计算节点均可统一动态部署在不同的分区计算单元。
2.4.2 信号处理资源节点
信号处理主要完成数字变频、调制解调、编解码、参数管理、频率同步、测角、抗干扰等处理,主要包括数字预处理模块、信号处理模块中的FPGA和DSP多核处理器,如图4所示。
(a)FPGA节点框图
(b)DSP节点框图图4 信号处理资源节点框图
对于FPGA抽象,依据FPGA逻辑资源大小进行分区使用,由于FPGA本身具备多组可配置RapidIO端口,因此在设计上每个分区均分配独立的RapidIO物理端口,并适配通信中间件抽象为逻辑端口,分区采用动态分区加载技术,从而对FPGA虚拟分割出多组独立具备RapidIO端口的标准处理单元。
对于DSP标准计算单元的处理,与数据处理资源的处理方式类似,利用其多核特性,将每个处理器核加上部分内存、对外接口,并配置独立的操作系统将其虚拟成标准的嵌入式计算处理单元。每个标准计算单元运行效果等同于在一片独立的处理器上运行。由于元器件本身RapidIO物理端口数量限制,一个RapidIO物理端口将被多个内核共同使用,板级操作系统引导将RapidIO物理端口抽象为统一的IO,通过DMA的将数据分配至不同的内存空间,各内核通过统一的通信中间件对各自空间数据写入或者读取,实现对统一端口数据访问。
2.4.3 传感器资源节点
传感器资源主要抽象为数据源节点接入网络,接入方式分为间接入网和直接入网两种。
(1)间接入网
电磁波信号通过天线接收、放大、滤波整形等处理后的射频信号与分布式机架内多通道数字收发模块互联,通过该类模块进行数字变频、量化形成数字中频,数字中频通过其模块内部的FPGA的RapidIO端口接入分布式RapidIO网络,通过RapidIO网络路由至CNI等处理所需的标准计算单元。
(2)直接入网
雷达天线等传感器内部具备射频接收、变频、数字量化等环节,其数字回波信号可以通过天线内FPGA的RapidIO端口接入分布式RapidIO网络,通过RapidIO网络路由至雷达图像、动目标等处理所需的标准计算单元;光电传感器内部具备光电探测器可直接形成图像,通过内部的FPGA的RapidIO端口接入分布式RapidIO网络,通过RapidIO网络由至其图像拼接、目标筛选等图像处理所需的标准计算单元。
图5所示为RapidIO网络资源管理层次框图,下面具体介绍。
图5 RapidIO网络资源管理层次框图
2.5.1 RapidIO端口虚拟
对于RapidIO端口虚拟,主要通过通信中间件在把每个物理网络节点虚拟成一定数量的逻辑节点,不同分区计算资源之间通过逻辑端口互联,整个物理网络抽象成多个逻辑连接通道的集合,通过逻辑互联接口和逻辑通道的配置和使用,实现不同标准嵌入式计算处理单元的应用软件之间互联互通。每个逻辑端口的通信带宽和内存可通过网管软件进行配置,配置的最小颗粒为RapidIO物理端口资源的1/N,N为芯片被抽象为标准单元的个数。
2.5.2 RapidIO网络路由管理
RapidIO网络路由管理的作用是根据系统功能部署/拆除的需要,实时建立或拆除网络路由和逻辑连接,按需提供网络带宽和质量保障。RapidIO网络路由的管理是基于物理端口虚拟和逻辑通道,实现的网络连接管理颗粒度更细、管理更精准。并且,建立或者拆除的目标为路由以和逻辑通道配置,在设计上均可实现为动态的过程,因此单一功能的路由与逻辑通道配置的建立或者拆除对其他节点的影响均可变为最小。
2.5.3 RapidIO网络切片
RapidIO网络切片,本质上是将RapidIO物理网络划分为多个虚拟网络。在机载分布式系统中,CNI功能信号处理、雷达信号处理、光电信号处理等功能对RapidIO网络的时延、带宽、安全性和可靠性等需求不同,并且三类功能运行相对独立,因此可以将物理网络依据功能划分CNI、雷达处理、图像处理等多个切片,切片内部为紧耦合,切片间通过RapidIO网络路由和逻辑管理进行隔离,保证各个切片之间的网络安全、可靠。切片的建立、拆除、扩容、缩减均通过RapidIO网络和路由统一进行动态分配管理。
2.5.4 RapidIO网络编排管理
RapidIO网络编排管理是分布式机载传感器系统的集中控制网络管理。这一层的作用在于网络的状态管理、健康管理、调度管理,使RapidIO网络连接的准确性和可靠性得到提升,使传输的效率达到最大。网络编排管理通过RapidIO节点状态、路由、逻辑通道等查询可以实时获取系统全域的网络资源视图,包括网络互联状态、节点状态、传输状态,依据功能的部署、传输需求为功能分配网络策略,并结合当前的网络状态、传输路径、节点传输压力、网络负荷为功能分配最佳传输路径和带宽分配。
(1)子网余度设计
子网采用双星网络1+1备份设计,当一个网络交换模块故障时,另外一个网络交换模块仍可继续承担该子网的传输任务。
(2)分域设计
两个分布式机架内分别可部署网络管理、系统控制、资源控制等重要节点以及RapidIO普通叶子节点,两个机架在没有物理互联时可独立工作,在物理互联后也可形成统一的RapidIO网络,由统一的网管进行管理,单一分布式机架故障对其他机架无直接影响,增加了系统可靠性。
(3)节点动态迁移
实现资源统一划分、设计、部署,在分区硬件发生故障时,同类型分区可快速接入RapidIO网络,使RapidIO普通叶子节点以及网络管理、系统控制、资源控制等重要节点实现动态部署和迁移,在故障时系统任务仍能正常执行。
(4)网络切片设计
网络切片之间逻辑隔离,切片之间的节点无法直接数据通信,因此通信故障被局限在切片内部,不会蔓延至整个网络。
考虑到分布式网络将承载CNI、雷达、光电等多种不同需求的信号处理、图像处理模型业务,因此在设计时,采用了分级、分类兼容设计。
在架构上采用分级网络设计,支持传感器等数据源节点直接或者间接接入网络,节点之间可以利用网络编排管理,互联形成不同的传输模型,可以灵活支持串行处理、并行处理、大数据混合处理等不同特点的计算模型,如图6所示。
图6 多种计算模型
(1)动态伸缩
由于RapidIO网络采用了动态配置和网络编排管理功能,因此,可以根据飞机平台不同的任务场景对RapidIO网络进行动态伸缩管理,例如,在地面进行战备模式或者起飞阶段,某些传感器不开机的情况下可以将RapidIO网络中不使用的节点进行降速、端口关闭甚至远程物理关断,以降低功耗、热耗;当飞机到达任务区间时,可通过RapidIO网络配置将节点恢复,以满足任务使用需求。
(2)规模可伸缩
由于将资源虚拟为标准计算分区或者计算单元,网络结构具备较好的可伸缩性,在需要系统扩展或者能力升级时仅需要增加传感器节点以及对应的计算单元/分区以及相应的交换模块即可,系统结构裁减时只需要裁减对应的传感器节点、计算单元/分区以及相应的交换模块即可,网络结构整体上均不发生变化。通过规模伸缩,使网络可适配大型飞机多节点复杂网络、无人机少量节点轻型网络等不同场景。
本设计中采用了5 Gb/s 4×模式,单端口传输的数据率达到20 Gb/s。传统的电连接方式由于信号幅度衰减和连接器转换导致的阻抗匹配困难,实现稳定高速传输互连代价很大,而且分布式架构中高速互连的节点芯片数量众多,分布于不同机架内模块。因此,在设计上采用全光互联解决大规模机架内外高速互连,通过高速光电转换设计有效解决信号衰减、阻抗匹配、传输干扰等问题,传输距离由背板传输的米级延长至数百米,使得分布式机架以及各个节点实现了网络位置与实际装机位置无关的特性,为该网络架构部署在大型飞机、无人机等不同场景奠定了基础。
针对本文设计的分布式网络架构进行性能测试,主要选取分布式机架内、两个机架间的节点分别进行误码、带宽、延时测试。
眼图是一系列数字信号在示波器上累积而显示的图形,包含了丰富的信息,从眼图上可以看出码间串扰、噪声等影响,体现了数字信号的整体特性,是评估高速互联系统的传输误码、传输优劣程度等信号完整性分析的重要手段。图7给出了机架内/间节点眼图测试情况。机架内节点经过电光-光电转换后,在接收节点的电接口处测量,光纤长度小于1 m。机架内节点经过电光-光电转换后,在接收节点的电接口处测量,光纤长度25 m。测试模式采用DMA(NWRITE)模式。
图7 机架内/间节点眼图测试
通过眼图可以发现,两次测量的眼图中“眼睛”均能睁开,中心宽度较好,差分电压摆幅超过600 mV,没有信号落在眼图中心的情况。
采用伪随机序列对传输网络进行的误码率测试,每次发送5×1013b数据,连续10次重复测试,未出现误码,误码率满足RapidIO 2.x标准要求的小于10-12的要求。
选择5 Gb/s 4×,根据RapidIO协议计算其理论最大传输带宽如下:
5 Gb/s×4=20 Gb/s,
20 Gb/s×80%=16 Gb/s(80%为串行8B/10B编码效率),
16 Gb/s÷8=2 GB/s,
2 GB×90%=1.8 GB/s(典型RapidIO包开销为28 B,最大有效载荷为256 B,256÷(256+28)≈90%)。
实际测试带宽在机架内外差别不大,图8为分布式机架间采用DSP节点互相传输,主频为1 GHz,模式为5 Gb/s 4×,分别采取不同包大小(64 B~4 kB)进行传输测试的结果。从图8可以看出,在包大小为4 kB时,传输带宽达到最大为1 575.08 MB/s,为理论带宽的85.45%。
图8 节点传输带宽测试
在机架内核机架外分别采用DSP和FPGA节点进行延迟测试,结果如表1所示。
表1 延迟测试结果
从测试结果来看,RapidIO网络在分布式传感器系统中能够继续保证可靠性高、大带宽、低延迟等优点,满足当前机载传感器的传输要求。
分布式体系架构是机载传感器发展的一个热点,未来的机载传感器系统会越来越多采用分布式架构,分布式传输网络的架构也将成为研究的一项重点。本文针对某型飞机分布式机载传感器样件对分布式、大规模RapidIO网络传输需求,开发了基于双机架、多个模拟单元的分布式RapidIO网络架构,在实验室完成了基于CNI功能、SAR图像处理功能、大规模图像模拟传输功能的实验室功能性能测试和环境试验摸底。目前,实物样机已经完成验收,并交付用户单位。
RapidIO网络技术在分布式样件上的研制,初步证明了 RapidIO 技术在分布式机载传感器工程化应用上的可行性,为更进一步地研究机载分布式架构体系提供了思路,为后续大型飞机、无人机等各型工程使用分布式RapidIO 技术奠定了基础。