APP下载

基于ICP的机载FC网络性能评测

2021-04-07崔西宁郝玉锴戴小氐牛玥瑶

测控技术 2021年3期
关键词:传输速率测试方法队列

崔西宁, 郝玉锴, 戴小氐, 吴 姣, 牛玥瑶

(1.航空工业西安航空计算技术研究所,陕西 西安 710065; 2.机载弹载计算机航空技术重点实验室,陕西 西安 710065;3.西安电子科技大学 计算机科学与技术学院,陕西 西安 710071)

随着计算机技术和航空电子技术的快速发展,航空电子系统已经成为衡量飞机性能的主要因素之一。综合核心处理机(Integrated Core Processor,ICP)是飞机航空电子系统的管理和处理中心,其承担了系统管理、战术导航、辅助决策、显示管理、健康管理等众多任务[1],具有综合化、模块化、软件化、网络化等多种特征。ICP本质是一个分布式实时系统,其通过模块化的方式实现不同类别(包括雷达、通信、导航、识别、电子战等)的信号处理、数据处理以及相关多任务处理功能各个模块独立负责的计算、处理任务。由于各模块之间要进行计算结果、语音、图像等内容的传输,早期机载计算机采用1553B总线通信,但由于其速度慢、扩展性差的缺点无法作为新一代机载计算机模块内的通信总线[2-3]。光纤通道(Fiber Channel,FC)是一种串行全双工传输协议,它具有高速率、高可靠、大容量、低延迟的特点,充分满足了当前ICP系统对嵌入式高实时通信的要求[1-2]。为了满足航电环境下对FC通信的要求,ANSI(美国国家标准学会)提出了FC-AE(Fiber Channel Avionics Environment)协议[4-5]。除了上述优点,FC还具有支持多种拓扑结构的特性,这对航电系统传输网络的发展有着巨大意义[6]。本文研究的ICP模块间通信采用FC网络的方式来实现,作为网络中心的交换模块使用了多端口的FC包交换机,同时支持交换机的级联,它是网络支持模块(Network Support Module,NSM)中的一部分[7-8]。因此,当前针对单个接口的点对点传输性能测试方法,远远不能满足ICP中常用的广播式传输和多对并发传输的需要。

光纤通道FC协议总线已广泛用于美国航空电子系统中[9-11],因此其FC网络性能测试方法方面的研究比国内起步早且更为成熟,现已开发出了投放市场的产品。美国Keysight公司已将针对FC网络应用的测试系统做成产品,例如1735A光纤通道测试仪,它可以对FC设备进行帧计数、吞吐量、错帧、乱序、误码、延迟等方面的测试[12]。Spirent公司HyperMetrics测试仪支持FC接口与FCoE(光纤通道以太网)基准测试和性能测试[13]。美国Finisar公司的Xgig分布式测试系统可以帮助工程师在开发、调试FC局域存储网时解决相关问题[14-15]。

在我国,FC网络在航电系统中应用得并不广泛,与一些欧美先进国家相比,存在明显的差距。我国现已将FC网络在航电系统中的广泛应用作为提升战斗机通信能力的重要途径。目前,国内已经有一些研究所、高等院校和公司对FC相关协议、技术进行了研究和尝试,例如:北京航空航天大学对FC-AE网络的调度算法、协议功能、流量控制等方面都做了深入研究;航空工业计算技术研究所对FC-AE网络的仿真建模、FC-AE板卡的设计等进行了一定的研究。随着FC相关技术研究的不断深入,FC-AE-ASM协议越来越多地应用到航电系统中。但在ICP上对FC-AE-ASM协议网络的性能测评的研究很少,因此,笔者针对ICP中FC网络的测试指标和测试方法进行了研究。

1 光纤通道(FC)协议

FC协议是一种高速串行全双工通信协议[10],当前光纤通道链路速度向10 Gbit/s或更高发展[15]。FC协议主要包括网络传输和通道传输两种方式,它可以为应用提供不同传输质量、不同传输带宽的通信服务。FC技术还对SCSI、IP、ATM等多种高层应用协议提供支持,以满足不同通信的需求。由于航空电子系统对通信网络的实时性有着严格的要求,ANSI在FC协议的基础上提出了FC-AE,同时还推荐了匿名消息传输(Anonymous Message Transfer,ASM)、MIL-STD-1553B映射协议、虚拟接口(Virtual Interface,VI)、FC轻量协议(Fiber Channel Lightweight Protocol,FC-LP)和远程直接内存访问(Remote Direct Memory Access, RDMA)5种高层协议。

FC协议与TCP/IP协议类似,采用了分层的方式来组织,一般分为5层,每一层对上层都是透明的。常用的FC网络拓扑结构有3种:点对点拓扑、仲裁环拓扑和交换网络拓扑。

FC协议根据不同的应用环境定义了6种不同类型的服务,涵盖了当前FC网络所使用的全部服务。不同服务类型间的主要差别在于它们有着不同的流量控制方式。

FC-AE-ASM协议,即航电环境中光纤通道的匿名消息传输协议,它是航电系统的FC网络中常用的一种上层协议,用于航电系统处理器、存储设备、传感器和显示设备间的通信,能很好地满足航电系统对通信网络高可靠、高实时、高容错的要求[16]。

FC-AE-ASM协议提供对多帧消息的处理,当多帧序列来源于一个节点时,接收节点会根据帧ID和数据偏移量对帧数据重新排列。FC-AE-ASM帧格式是在FC帧基础上构成的,把每个FC帧的有效载荷部分的前4个字用作ASM帧的头部,其中包含ASM帧的消息标识、安全字段、消息长度、优先级和消息负载长度等信息[17]。在发送多帧序列时,各帧拥有相同内容的帧头。ASM帧头部格式如图1所示。

图1 FC-AE-ASM帧头部格式

消息标识:第0~3 B为消息ID,它是一个消息唯一的标识。

安全性:第4~7 B为安全信息所保留,当这一字段不使用时,应填充为hex00000000;第8~11 B暂时保留,应把该字段设为hex00000000。

消息长度:即第12 B的最高位,它会因消息负载长度变化。当消息负载长度不为hex00000000时,此位无意义。当负载长度为hex00000000时,该位为1表示整个消息的负载长度为0字节;该位为0表示整个消息负载长度为16777216 B。

优先级:指第12 B的低7位,其值与FC帧中的CS_CTL/PRIO值相同。

消息负载长度:指第13~15 B,表示在单帧或多帧传输环境下,相同消息ID的数据帧所保有的负载的总和。

FC-AE-ASM协议为一些操作特性给出了明确定义,包括优先级、扩展链接服务,设备注册/注销和拓扑结构等。

2 FC网络性能测试方法

2.1 测试环境搭建

在进行FC网络测试前,需要搭建一套完备的测试环境,包括软件部分和硬件部分。随后在测试环境中设计FC网络底层软件,进行FC网络性能测试。

测试节点采用HKSFCFS-2G芯片,它具有ARM922T处理器,这是一种RISC架构的处理器,其高性能低功耗的特点可满足航电系统的要求。该芯片还包含光纤通道接口(Fiber Channel Interface,FCI/F)、SDRAM控制器、片上SRAM、实时时钟(RTC)、看门狗(Watch Dod Timer,WDT)、DMAC等。整个FC网络的交换机采用Brocade公司的Silkworm3250型FC交换机。

测试平台选用的FC接口链路速率为2.125 Gbit/s,采用8 B/10 B编码,通过计算得到FC传输速率理论值为217.6 MB/s。数据存储区的32 KB×32-bit作为数据接收区,其中最小帧长52 B,最大帧长2100 B。因此,数据接收区的帧缓存应为2100 B,帧的CRC校验值不需要存储。同时由于缓存长度为32-bit,使得每个帧的缓存空间为2096 B,这样32 K×32-bit的空间最多可以缓存62帧。

搭建测试环境的软件部分时,在上述硬件平台上使用FC-AE-ASM上层协议,操作系统使用VxWorks 5.5嵌入式系统,支持优先级和多任务,以满足测试平台的要求。

2.2 FC测试网络拓扑结构分析

ICP采用模块化的方式来构成整个系统,常见的有通用处理模块(General Purpose Processing,GPP)、通用I/O模块(General Purpose I/O,GPIO)、信号处理模块(Signal Propossing Module,SPM)、大容量存储模块(Mass Memory Module,MMM)和网络支持模块(NSM)。其中,NSM模块作为整个ICP的FC网络交换核心,实质是FC网络交换器件。一个模块到另一个模块的通信都通过NSM模块进行转发的,因此整个ICP的FC网络逻辑拓扑为星形网络。为了模拟在这种拓扑结构下FC网络的性能,测试环境选用4个HKSFCFS-2G芯片作为端点器件,用Silkworm3250交换机作为中心交换器件,每个端点器件都与一台PC相连接,通过PC来控制端点器件的发送和接收功能。所搭建的FC网络性能测试环境的拓扑结构如图2所示。

图2 FC实验环境下FC网络拓扑图

2.3 FC网络测试软件

测试软件主要由初始化、发送和接收中断处理函数以及发送和接收双优先级调度队列3个部分组成。其中,发送和接收中断处理函数为测试软件的核心,而优先级队列则用来保证不同优先级的消息都能正常、及时发送。以下为各模块主要工作过程。

初始化的作用是使FC接口器件使能,随后设置超时时间、发送和接收速率。打开FC中断并对器件中的各种寄存器进行初始化。通过intConnect()注册中断处理函数,并创建两个双优先级队列,分别用于发送和接收调度任务。

FC发送中断处理函数的主要工作是先关闭FC外部中断并清除RAM邮箱中断;然后触发中断使,通过帧的起始地址、帧长度、优先级大小等字段把数据帧从RAM取出;接着把得到的帧送入SDRAM中对应的优先级队列;最后复位中断允许标志位。FC接收中断处理函数会在一帧到达时触发中断,迫使CPU来进行处理。首先通过CRC校验值对数据帧的完整性进行判断。然后通过DMA方式把接收到的帧送入SDRAM中。

FC发送调度任务在发送前要先对流量控制机制是否触发进行判断。当未触发流量控制时,将最高优先级发送队列中的帧通过DMA方式传输到FC接口,随后FC接口将该帧发出。当最高优先级调度队列为空时,调度次优先级发送队列。当触发流量监控时,对接口进行轮询,等待流控状态结束再进入发送调度。FC接收调度任务首先将帧从SDRAM中的帧接收队列取出,然后把数据帧写入双口RAM。这两个任务的不同之处在于要先查看双口RAM中设置的中断允许标志位是否置为1。若为1,则通过接收任务把数据帧从SDRAM放入双口RAM;若不为1,则要等待获取存储空间,然后才能将帧放入双口RAM。

2.4 基于权值轮询的双优先级队列调度算法

队列调度算法在整个ICP的FC网络中主要负责交换器件对两个不同优先级发送或接收队列进行调度管理。当有数据帧到达交换器件时,先将其放入缓冲队列。假设有n个数据缓冲队列,队列调度算法会选择其中的一个数据队列进行处理,并转发其中的数据帧。根据不同的系统设计要求,会选择不同的调度策略,如优先级调度、随机调度、循环调度、处理机共享等;根据调度的对象、原则不同,可分为基于速率调度和基于时延调度两类;根据网络介质的不同,可分为有线网络调度算法和无线网络调度算法两类;根据算法的工作方式不同,可分为工作保持型调度和非工作保持型调度。工作保持调度算法要求当前存在等待发送的数据时,调度算法就必定会工作;当使用非工作保持调度算法时,可能出现存在等待处理的数据帧,但是调度算法也不工作的现象。

队列调度算法主要有公平性、复杂性和时延性能3个方面的要求。常见的调度算法有先来先服务调度算法(First Come First Served,FCFS)、优先级队列调度算法(Priority Queue,PQ)、加权轮询调度算法(Weighted Round-Robin,WRR)、随机公平队列调度算法(Stochastic Fairness Queueing,SFQ)等。

在本文的FC网络测试中使用优先级队列调度和加权轮询调度算法相结合的调度算法,即PQ+WRR算法。在实际发送中为满足ICP系统对关键消息的实时要求,设有高优先级的紧急消息,当目的器件接收到紧急消息后,会产生一个中断,通知目的器件读取并处理该消息。因此,设计两个优先级缓冲队列,其中高优先级队列的权值为80,低优先级队列的权值为20。紧急消息放入高优先级队列,普通消息放入低优先级队列,当高优先级缓冲队列为空时,切换到低优先级队列进行调度。采用PQ+WRR调度的策略能在一定程度上保证数据传输的实时性,同时充分利用带宽。使用这种调度算法可以充分满足ICP对FC通信网络双优先级发送的要求,保证测试满足实际环境,使测试结果更准确、更具有参考意义。

3 FC网络测试的实现

3.1 FC性能测试指标

为了测试ICP中FC网络的性能,直观反映出FC网络的数据传输能力,在本文实验中选用端口传输速率和端口传输延迟两个指标。端口的传输速率是指单位时间内通信信道的信息量或一定时间内某台计算机或设备所能完成的通信量。传输速率还可以反映一个器件接口的突发传输能力和带宽利用率。传输时延是指从源端点发送消息开始到目的端点成功接收该消息所用的时间。但由于存在不同的网络模型和运行环境,传输速率的具体含义和计算方法不统一。

在此,给出网络测试中平均传输速率S的定义:端点发送的消息总量为NB,其消耗的时间为T,则网络的平均传输速率为

S=N/T

针对延迟当前有两种测试方式,分别是数据包单向延迟测试(OWDP)和数据包回环延迟测试(RTDP)。数据包单向延迟测试的基本原理是由源节点向目的节点发送带有本地时间戳的数据包。目的节点的测试软件一旦收到数据包,就打上本地时间戳,通过这两个时间戳计算出传输时延。但是这种方式存在时钟同步和时钟漂移的问题,为了使测试平台时钟同步,应增加主机作为全局时钟同步节点。

RTDP测试相对简单,其原理是由源节点发送数据包记录当前发送时间,目的节点接收到数据包后,立即向源端点发送响应数据包,源端点收到目的端点发来的数据包后,记录当前时间,通过源端点的本地时钟确定传输时延。在本文实验中均采用数据包回环延迟测试方法确定FC网络中端口的传输时延。下面对端口平均传输时延进行定义:采用RTDP测试方法,在T1时刻源端点开始向目的端点发送N个消息,目的端点收到该消息后立即将其返回,在T2时刻源端点接收到返回的消息。则该消息的平均传输时延为

t=(T2-T1)/2N

3.2 FC性能测试方法

当前FC的性能测试主要集中在单接口的传输速率和时延上,这种方式无法充分反映FC网络的传输性能。更无法在得出的测试结果上进行改进。针对这一问题,本文在传统单接口传输性能测试基础上,额外提出了广播式传输性能测试和有负载的多对并发传输性能测试两种测试方法,并把3种测试方法得到的结果进行对比,从而更全面地反映FC网络的传输能力。

在传统单接口传输的测试方式中,数据帧从源器件出发到达目的器件,在发送数据帧前记录时间T1,数据帧发送至目的器件FC接口,当数据全部发送完成时,记录时间T2。通过得到的时间间隔和成功接收的帧的数据量得到发送接口的平均传输速率。在测试过程中,不断增大数据包的有效载荷,测得在这一过程中不断变化的接口平均传输速率和平均传输时延。

除了传统单接口传输测试,还进行了广播式传输性能测试。根据设计的测试模型,随机选取1个节点作为源器件,剩下3个器件作为目的器件,由源器件依次向目的器件发送数据帧,不断增大数据量,得到被测接口的平均传输速率,并在该测试方法下得到通信接口的平均传输时延。广播式传输平均传输速率测试流程图如图3所示。在前两种方法的基础上,还提出了有负载的多对并发的测试方法。在测试系统中不断采用随机生成的方式为FC网络添加负载。负载发送程序循环生成数据,并把它推入FC。通过这种方式来测试负载环境下FC网络的传输性能。

图3 广播式传输平均传输速率测试流程图

实现过程中,任意选取两个端点器件构成一组,总共两个通信组,在此基础上进行并发测试。源器件1通过中心交换器件向目的器件1发送数据帧,在这过程中源器件2也向目的器件2发送数据帧,两对通信共享交换器件带宽,这种测试能反映真实环境下整个FC网络的通信能力。其中第2组通信用于产生网络负载,由于ICP中FC网络逻辑拓扑为星形网络,这种方式传输更能反映中心交换器件在一定负载压力下整个网络传输能力的变化。有负载的多对并发传输的平均传输速率测试流程如图4所示。

图4 有负载的多对并发传输平均传输速率测试流程图

通过以上3种方法,从不同的角度来对FC网络性能进行测试,可以充分反映在当前硬件和拓扑结构下ICP板间通信的性能,可以更好地为航电系统中FC网络的发展提供重要的参考依据。

4 实验结果与分析

在FC测试程序启动后,先对整个网络的硬件进行初始化,设置相关寄存器的值并给每个器件分配单独的ID,该值将会作为通信的地址和交换器件路由表中的信息,随后挂接相关中断处理函数。经过这一系列初始化阶段,可以在设计的测试平台下执行测试函数。为了消除测试结果波动给实验分析带来的不利影响,在实验中采用多次测量取平均值的方法予以消除。

4.1 FC接口现有单接口传输测试实验

在实验中测试次数设定为5000次,单次测试中设置发送的有效数据从0 KB开始,按照64 KB的步长逐渐增长到1 MB。根据现有的FC接口测试算法得到的平均传输速率和平均传输时延如图5所示。

图5 传统单接口传输下平均传输速率与平均传输时延

4.2 FC网络广播式传输测试实验

在进行广播式传输测试实验时,仍将测试次数设置为5000次。每次测试由1个源器件依次向3个目的器件发送数据帧。在发送时,设置发送数据量从0 KB有效载荷开始,以64 KB为步长不断增大到1 MB,得到变化的测试结果。广播式传输测试与单接口传输测试的结果对比如图6所示。

图6 单接口传输与广播式传输测试方法结果对比

图6中,当数据量小于448 KB时,广播式传输平均传输速率增长较快,并且传输速率也始终比单接口传输方式下的传输速率快;当数据量超过448 KB时,广播式传输平均传输速率随着数据量的增大而缓慢增大,但仍比单接口传输方式的传输速率快,但是两者有趋近峰值的走势;当数据量达到640 KB时,广播式传输得到的平均传输速率值已经稳定,到达稳定状态比单接口传输早;当数据量达到960 KB时,两种方法所得的平均传输速率保持一致,大小为207 MB/s。平均传输时延在数据量小于512 KB时,广播式传输时延曲线始终位于单接口传输上方;在数据量大于512 KB时,广播式传输时延增长加快,其曲线斜率比单接口传输下时延曲线斜率大。

4.3 FC网络随机负载下测试实验

进行有负载的多对并发传输测试实验时同样设置实验次数为5000,根据测试系统模型分为两组进行并发通信,一个发送端点为被测接口,另一个发送端点为负载产生端点。每次测试发送数据量从0 KB开始,以64 KB为步长增大到1 MB。以此反映在有负载的多对并发环境下FC网络的传输性能,并将其结果与单接口传输测试结果进行比较,如图7所示。

图7 单接口传输与有负载的多对并发传输测试方法结果对比

由图7可知,有负载的多对并发结果曲线始终位于单接口传输曲线下方。由于部分带宽被负载数据占用,导致平均传输速率始终比单接口传输的传输速率慢。当数据量达到800 KB时,两者都逐渐到达稳定状态。但是单接口传输的峰值平均传输速率比有负载的多对并发的传输速率快。对比两种测试方法下得到的平均传输时延发现,在数据量达到256 KB前,两种测试方法的时延相差较小,基本保持一致。当数据量超过400 KB时,有负载的多对并发方法得到的传输时延与单接口传输相比,越来越大,而且曲线斜率也逐渐变大,此时得到的平均传输时延始终大于单接口传输的平均时延。

4.4 实验结果小结

本文实验使用的FC硬件接口的链路速率为2.125 Gbit/s,上层协议为FC-AE-ASM协议,采用8 B/10 B编码,由此得到FC网络的传输速率峰值为217.6 MB/s。实际测试中,由于受软件层、时间获取函数精度的影响,使得传输速率不可能达到上述的理论峰值。

从3种测试方法所得平均传输速率来看,当数据量小于400 KB时增长较快;数据量超过400 KB时,增长相对平缓;当数据量达到900 KB时,保持稳定。并且3种测试方法得到的平均传输时延在600 KB后呈现出线性增长的趋势。

对比3种测试方法,在传输大数据量时,平均传输速率基本保持一致。由于引入负载因素,使得并发传输的平均传输速率始终小于单接口传输,因此,可以说广播式通信对整个FC网络性能的影响较小,并发式通信由于在星形拓扑网络中引入负载因素,使得这种传输方式对FC网络的传输性能系统影响较大。

对比3种方法结果发现,第3种测试方法得到的平均传输速率远比前两种方法所得结果低为194 MB/s,与第一种方法测试结果相比差13 MB/s,为单接口测试结果的6.28%。在实际的嵌入式系统设计中,应提高中心节点传输性能以满足测试需求,或者改变FC网络的拓扑结构以满足设计需求。

5 结束语

本文给出了ICP的FC网络测试硬件和系统环境,实验选用HKSFCFS-2G芯片、Silkworm3250型FC交换机和VxWorks 5.5操作系统平台,设计了测试软件和拓扑模型,详细分析了交换器件需要的调度算法。设计了优先级队列缓存并使用基于加权轮询的双优先级队列调度算法对FC网络中普通消息和紧急消息进行及时响应。在搭建的实验环境上进行了FC单接口传输测试、广播式传输测试和随机负载下测试3种测试方法实验,并对实验结果进行了对比与分析,在性能测试指标方面选取了应用广泛并较为直观的平均传输速率和平均传输时延两个指标,通过在拓扑模型上进行实验,模拟ICP工作环境下FC网络的性能。对ICP的FC网络的性能进行了评价,为ICP系统和IMA航空电子系统的整体性能改进提供了参考依据。

猜你喜欢

传输速率测试方法队列
基于泊松对相关的伪随机数发生器的统计测试方法
队列里的小秘密
三星利用5G毫米波 实现创纪录传输速率
基于多队列切换的SDN拥塞控制*
基于云计算的软件自动化测试方法
DLD-100C型雷达测试方法和应用
在队列里
丰田加速驶入自动驾驶队列
跨山通信中频段选择与传输速率的分析
数据传输速率