RapidIO 网络集群管理技术*

2020-06-08 10:08高逸龙
通信技术 2020年5期
关键词:板卡网络管理机箱

高逸龙

(中国电子科技集团公司第十研究所,四川 成都 610036)

0 引 言

近年来RapidIO 总线作为嵌入式领域的总线互联标准以其高性能低延迟低引脚和低功耗[1-3]等特点得到了广泛关注,基于RapidO 总线互联的嵌入式系统硬件技术日益成熟。支持RapidIO 总线的嵌入式节点FPGA、PPC、DSP[4-6]等器件以高速并行/串行计算能力,与分布式计算系统中计算节点的需求不谋而合,但是工程中对RapidIO 网络的管理技术还处于针对硬件结构的定制化管理方式,如固定路由,固定规模等不支持扩展的方式[7]。为适应分布式计算系统中快速部署,任意嵌入式节点间高速通信等需求,本文研究了一套可扩展的分布式RapidIO 网络管理技术。

1 网络集群管理技术

1.1 系统拓扑

RapidIO 网络集群管理软件包含ETCD(数据库软件),CNMS(机箱间网络管理软件)、NMS (机箱内网络管理软件)以及CNMS 软件提供的对外接口,如图1 所示。

图1 系统拓扑

一个机箱是一个系统可扩展单元的最小单位,一个系统含有多个机箱,每个机箱内有两个网络管理模块,分别部署主NMS 软件和备NMS 软件,主备NMS 软件只有一个在工作,另外一个软件作为热备份。NMS 软件通过RapidIO 的维护操作和portWrite 中断包管理机箱内所有的物理节点,包括动态配置ID、配置机箱内路由、配置边缘路由、退网入网管理等功能。NMS 将所有管理的数据都存放在ETCD 数据库中,这样假如其中一个NMS 宕机,切换到备份NMS 后,也可以从ETCD 数据库中获取数据重新开始管理机箱内网络。CNMS 集群软件通过以太网与机箱内NMS 进行通信,将所有机箱内节点汇集到一起,进行统一管理。CNMS 对外提供统一的监管接口。

1.2 机箱内网络管理

NSM 的工作机制如图2 所示,系统初始化模块完成RapidIO 网络的初始配置工作,并将扫描到的节点信息保存在ETCD 中,通过ETCD 的数据监控功能,通知到CNMS 软件。路由配置模块接收CNMS 下发的路由配置任务,完成机箱内路由配置和机箱间路由配置。硬件事件处理模块通过RapidIO 交换芯片portWrite 数据包监听机箱内RapidIO 节点的退网和入网情况,并记录变化到ETCD,同时通知CNMS。

图2 NMS 工作机制

机箱内的RapidIO 网络是由多个物理板卡通过底层背板连接起来的,由于物理板卡及背板物理连线的去定性,所以整个网络的连接关系是固定的,NMS 每次初始化的连接拓扑都是最大网络拓扑的子集,如图3 所示。预先设定最大网络中每个节点的关键信息,并将最大网络信息保存于ETCD 中,形成网络模板,使得系统初始化的每个节点,必然可以在模板网络中找到对应的节点,枚举的每个节点的关键信息(如网络ID,物理地址)均可从模板拓扑中提取,CNMS 下发的路由配置携带的ID 信息也从网络模板中提取。

图3 网络模板与实际网络

由于在网络初始化的过程中,对每个节点的网络ID 都是从模板拓扑中提取的,因此枚举的结果与枚举的起始节点也没有任何关系,同时,由于主机节点不需要从被处理节点中提取物理地址等信息,避免了主机节点获取拓扑时对其它节点的依赖,减少系统节点之间的关联性,从而增强系统稳 定性。

路由配置分为两种情况,机箱内路由和机箱间路由。对于机箱内部,板卡的连接关系是固定的,但是板卡的数目不是固定的,如果采用固定路由,则可能由于板卡的缺失,导致某些节点之间无法通信。NMS 采用A 星最短路径搜索算法实现路由动态分配策略[8],根据实际枚举到的网络拓扑,动态配置路由。

1.3 机箱间网络管理

CNMS 的工作机制如图4 所示,在网络初始化阶段从ETCD 获取每个机箱的网络信息,组合成为机箱间网络拓扑。数据监听模块监听ETCD 数据库中各机箱中的网络信息,随时更新整个网络拓扑。命令解析模块查询机箱间网络拓扑,分解对外接口下发的路由配置命令,通过数据分发模块下发给相关的NMS 网管进行路由配置。

图4 CNMS 工作机制

图5 为系统中节点和机箱之间的RapidIO 连接关系,节点在机箱内部通过电信号连接到交换芯片组成的交换网络中,交换网络中有一个或者几个交换芯片作为桥接交换芯片,与其他机箱的桥接交换芯片通过光纤连接,通过这种方式使所有节点物理上可达。配置机箱间的路由以节点为主体,如配置a 机箱1001 节点至b 机箱3002 节点的路由,而非以配置a 机箱至b 机箱路由,机箱内节点至桥交换芯片--桥交换芯片至桥交换芯片--桥芯片至机箱内节点组成了一段完成的跨机箱路由。对于机箱间路由,NMS 会将非本机箱的目的节点模拟枚举到网络中边缘桥芯片上,然后再使用A 星最短路径搜索算法配置本机箱节点到边缘桥芯片上虚拟目的节点的路由。通过多个机箱NMS 配置的本地节点至桥交换芯片路由,最终完成跨机箱路由配置。

图5 RapidIO 连接关系

1.4 ETCD 轻量级数据库集群

ETCD 是一个高可用的键值存储系统,主要用于共享配置和服务发现。通过Raft 一致性算法处理日志复制以保证强一致性,Raft 是一个新的一致性算法,适用于分布式系统,Raft 通过选举的方式来实现一致性。在分布式系统中,如何管理节点间的状态一直是一个难题,ETCD 像是专门为集群环境的服务发现和注册而设计,它提供了数据TTL 失效、数据改变监视、多值、目录监听、分布式锁原子操作等功能,可以方便的跟踪并管理集群节点的状态,具有简单、安全、快速、可靠等特征。

在RapidIO 集群网络管理技术中,ETCD 一方面存储各个机箱内部的网络状态信息,同时也为集群网络提供服务发现服务,如图6 所示。

图6 ETCD 目录结构示意图

每个机箱内部的NMS 将扫描到的RapidIO 板卡、通信节点及交换芯片、物理端口等网络信息存储在ETCD 当中,自身只存储少量RapidIO 网络信息以加快处理速度,并且该信息可以通过查询ETCD 数据库后快速重建。ETCD 支持网络集群技术,可以保证数据可靠性。当机箱内发生主备网络切换的时候,备网管可以通过读取ETCD 数据库,恢复网络状态,快速进入工作状态。

作为系统中的关键节点,CNMS 需要做多节点备份,形成集群,NMS 在机箱内部也做了主备备份。系统控制需要和CNMS 进行通信,以控制和获取整个网络的状态,由于具有多个CNMS 节点,所以需要使用到ETCD 的服务发现功能。多个CNMS 需要将自己的IP 地址周期性的注册到ETCD中的/CNMS 文件夹下,形如/CNMS/1,/CNMS/2,/CNMS/3,设置TTL(保活时间)为5 s。外部接口首先遍历/CNMS/文件夹,并以最小遍历到的数字对应的文件中的IP 作为当前CNMS 对外的IP 地址,同时监控 /CNMS 目录的变化,以获得最新的CNMS网管地址。这里需要注意每个ETCD peer 需要先进行时间校准,避免出现TTL 设置不准确的问题。

外部接口发出的监控命令,是由NMS 最终处理,并将结果返回给CNMS,然后再由CNMS 将结果组合,返回给外部接口。在同一个机箱内具有一个主NMS 和一个备NMS,主备NMS 是热备份的关系,主备之间通过多种总线的心跳包来作为主备切换的依据。主备网管也在ETCD 中注册了IP 地址,形如/BOX/1/NMS/1,/BOX/1/NMS/2。CNMS 需要遍历所有的/BOX/目录,以确定网络规模,同时,通过/BOX/1/NMS/目录下的最大数字对应的IP,确定现在该机箱内正在工作的NMS 的IP 地址,同时监听 /BOX 目录,响应机箱内主备切换事件。

2 性能评估

采用RapidIO 网络集群管理技术,对两个机箱进行管理,分别对机箱内通信和机箱将通信速率进行测试。硬件测试环境如图7 所示,PPC1 和PPC2在机箱1 中,通过内部交换网络3 跳互连。PPC1和PPC3 通过机箱1 的内部交换网- -光纤- -机箱2 的内部交换网络总共6 跳互连。整个网络为4x 2.5 Gbps 的传输速率。

测试用例使用RapidIO DirectIO 通信方式[9],对比从256BYTE 到4MBYTE 数据包传输在机箱内和机箱间传输的带宽差异,结果如图8 所示,可以看出机箱间通过光纤连接并没有显著降低通信带宽。

图7 测试环境

图8 通信带宽

3 结 语

相较于传统的RapidIO 网络管理方式,集群网络管理技术不仅没有约束机箱内板卡实际工作状态,而是参考模板网络,枚举出实际网络,同时动态监控板卡工作状态,支持RapidIO 节点动态退网入网,同时使用A 星最短路径算法动态配置最优路由;并且也支持机箱与机箱之间的高速RapidIO通信,对嵌入式系统的扩展提供了强力支撑,是分布式框架管理嵌入式节点的基础,具有较高的使用价值。

猜你喜欢
板卡网络管理机箱
数控机床DNC网络管理平台在智能制造中的应用
车载控制器CVRE板卡显红故障分析及处理
“翻转课堂”教学模式在《Windows网络管理》课程中的应用
基于OpenStack虚拟化网络管理平台的设计与实现
基于组态王软件和泓格PIO-D64 板卡的流水灯控制
小而美——航嘉MVP MINI Ⅱ机箱
一种基于光纤数据传输的多板卡软件程序烧写技术
流量分析在网络管理中的应用探析
大学MM你爱谁迷你机箱Party Show
冷与静 2009上半年中高端机箱的舞台秀