TSN时间敏感流量带宽分配与优化
2022-05-23赵长啸李二帅
赵长啸, 李二帅, 何 锋, 王 鹏,*
(1. 中国民航大学安全科学与工程学院, 天津 300300;2. 北京航空航天大学电子信息工程学院, 北京 100191)
0 引 言
分布式综合模块化航空电子(distributed integrated modular avionics,DIMA)系统已成为未来新一代航空电子系统的发展方向,DIMA中要求不断实现高带宽、高实时性和高可靠性的机载组网优化设计,从而满足种类繁杂与指标严苛的机载设备流量传输需求。时间敏感网络(time sensitive networking,TSN)中定义流量的整形与调度机制,实现了对流量传输冲突的控制。TSN利用流控机制,建立流量的带宽占用与延迟保证之间的相关性,提供了流量确定性传输的技术保障基础,这使得TSN有望成为DIMA下的骨干组网技术。
为满足航空电子系统的安全性组网要求,必须要保障并实现网络流量传输的实时性,如,满足截止期限要求和缓冲无溢出等需求。针对TSN中时间敏感流量实时性保障的实施内容,文献[9]考虑时间敏感流量传输的路由优化问题,使得所有流量能够被调度并实现最坏端到端延迟的最小化。文献[10]针对时间触发(time-triggered,TT)流量的调度表设计问题,综合考虑了时间敏感流量的路由因素,使得联合调度结果能够实现所有流量的实时性保障。吴源针对TSN的调度机制与配置参数进行研究,认为考虑参数的优化设计,能够实现网络性能的优化提升。
然而,针对航空电子系统中流量的实时性传输保障问题,不仅仅要考虑路由与调度优化,更要研究流控机制下基于带宽的分配与优化管理,从而确保流量能够实时传输并进一步提高网络的带宽利用率。TSN采用基于信用量的整形(credit-based shaping,CBS)机制,为时间敏感流量预留了传输逻辑带宽。由于过少的预留带宽容易导致产生丢包,而过多的预留带宽则会增加流量的突发性,对后级节点形成较多干扰,因而有必要对时间敏感流量的带宽分配与优化问题进行研究。
现有关于流量带宽分配的研究工作,主要从两个方面展开,一方面考虑带宽分配下的网络设计内容;另一方面针对带宽分配的网络性能进行评估。针对考虑带宽分配的网络设计研究,文献[14]基于OMNeT++平台,采用建模仿真手段,对TSN中TT流量的带宽分配优化进行研究,利用仿真结果可指导数据包长的设置;文献[15]为减少TSN网络中由于保护带(guard band,GB)的存在而造成的带宽浪费,提出一种基于长度的消息排队方法,分别为不同消息长度的队列提供足够的带宽资源,从而提高了网络带宽的利用率;文献[16]提出一种用于限制流量突发的整形器(burst limiting shaper,BLS),其中主要定义了网络带宽的预留方法。关于网络带宽预留与分配下的性能评估与保障研究工作,文献[17]针对网络中实时数据传输的服务质量(quality of service,QoS)保障问题,分别建立了最大化可传输数据与最大化可调度数量两种带宽服务评价方式,并利用启发式算法进行优化,实现了整体调度性能的提高;文献[18]提出在单节点下采用CBS合格区间的带宽预留方法,并与基于忙区间的方法进行性能对比,最坏响应时间的对比结果显示其提高了带宽的利用效率。
综合以上研究内容,针对TSN中时间敏感流量的带宽分配问题,需要评估不同带宽分配下流量传输的实时性,如最大端到端延迟,从而为网络的QoS保障设计提供参考。之前有关带宽分配的研究工作,是基于合格区间的实时性分析方法,仅能实现网络单节点的带宽分配预留。本文的改进之处在于,采用基于网络演算的方法对CBS的整形过程进行实时性建模,并增加考虑了当网络中存在控制数据流量(control data traffic,CDT)时对带宽分配的影响内容。另外,本文还进一步考虑针对整网的带宽分配优化,借助启发式优化算法,可以实现整网带宽利用率的优化提升。
本文首先以CBS中的逻辑带宽配置参数为出发点,基于CBS的网络性能评估模型,提出了整网下带宽分配优化的流程与方法,并利用启发式优化算法,实现了满足实时性能约束的带宽分配方案,从而为网络设计者提供了TSN带宽的预留规划与分配占比的参考内容。
1 整形机制下带宽的分配与评估
为解决异步流量传输时不确定地连续性突发问题,TSN网络采用CBS整形机制,用于时间敏感流量的输出规整,从而降低竞争流量之间的互相干扰。CBS基于优先级的调度(包含A、B类型流量,并且A的优先级高于B),将流量的排队等待与传输发送和信用量的增长与消耗过程进行关联对应,并通过可配置的信用量变化速率参数idleslope/sendslope,实现对时间敏感流量不确定性突发的约束控制,为不同优先级类型流量端到端传输时延的有界性提供了技术保障。然而,针对流量传输实时性需求的满足问题,还需要进行网络性能的评估,如基于网络演算建立评估模型,计算网络最坏情况下的最大延迟与积压,从而为组网设计与实施提供参考和支撑。
1.1 基于CBS逻辑带宽的流量传输
考虑一个采用CBS进行流量排队与传输的初始场景,流量的信用量变化曲线如图1中所示;其中,A、A、B、B分别表示A、B两类流量的第0、1个数据帧;初始时刻时尽力传输(best effort,BE)流量恰好稍早于A、B类型流量开始发送,并且由于网络采用非抢占原则,A、B类型流量的传输会被阻塞,因而其信用量将在排队等待BE流量传输完成的过程中持续积累,积累速率分别是idleSlope和idleSlope;BE流量传输完成后,A类型流量首先开始传输,其传输过程中信用量降低速率为sendSlope,当信用量小于0后不允许发送新的数据包;同理,B类型流量在A类型流量之后获得传输机会,并且其信用量降低速率为sendSlope。另外,A、B类型流量的信用量增长速率和降低速率满足如下条件:
图1 CBS下流量传输与信用量变化示意图
(1)
根据图1中信用量的变化内容,可以看出:
(1) 针对A、B类型流量最大信用量的对比,流量的平均传输机会主要取决于信用量的增长速率idleSlope,而不是信用量值的绝对大小,由此我们可以将idleSlope看作流量传输的逻辑带宽;
(2) 当idleSlope的值越大,流量的信用量增长恢复时间便会越短,这使得对应流量总体上可获得更多的传输机会;
(3) 针对流量的到达与发送顺序,即使B先于A到达,但高优先级的A比低优先级的B拥有更早的传输机会。
基于此,针对CBS下A、B类型流量传输的实时性保障问题,必须要合理化配置逻辑带宽参数idleSlope,即,保证带宽分配方案能够使得流量的传输延迟不大于截止期限,并且网络的队列缓冲不会发生溢出,具体的带宽分配效果可以采用解析方法进行建模评估,如采用网络演算。
1.2 基于网络演算的性能评估
针对TSN中时间敏感流量的实时性保障与评估问题,目前主要采用网络演算方法进行建模分析,网络演算方法主要对两种网络元素建模描述,包括网络流量和流量服务机制,分别由到达曲线与服务曲线具体描述。
到达曲线描述了网络中流量的基本属性,如周期和最大数据包长度,采用漏桶模型进行约束建模,可以得到流量的到达曲线应满足:
()=·+
(2)
式中:为漏桶的速率;是漏桶的深度。计算方式分别为
(3)
同时,考虑流量在网络中传输的汇聚及链路速率的约束,可以得到聚合后的流量应满足:
(4)
服务曲线描述基于优先级调度下CBS的转发与服务能力,主要包括节点的服务速率和初始延迟,CBS服务曲线的形式通常满足:
()=·(-)
(5)
另外,针对TSN中具有独立时间传输窗口的CDT,需要考虑CDT占有的时间窗口对时间敏感流量服务曲线的影响内容,从而实现评估建模的准确性与合理性。最终,根据到达曲线和服务曲线,可以计算得到延迟上界与最大积压,分别是两条曲线的最大水平距离与最大垂直距离:
(6)
2 模型构建与优化
如图2所示,是TSN中时间敏感流量的带宽分配与优化设计流程,其中,输入信息是网络的拓扑与流量等内容,设定优化目标后,执行完成将输出得到网络的带宽分配方案,其中主要包含以下步骤。
图2 带宽分配优化流程
建立网络性能评估模型。初始化网络节点的带宽分配,从而根据网络的输入信息,建立到达曲线与服务曲线模型。
优化带宽分配。设定目标函数,并根据网络性能评估模型和优化算法计算目标函数的结果,持续迭代,直到满足终止条件。
判断带宽分配结果。对优化后的带宽分配结果是否满足所有的约束条件进行判断,形成设计上的反馈。
输出带宽分配方案。若优化后的结果满足所有约束条件,则该结果便是最终的网络带宽分配方案,流程结束;否则,需要调整网络的参数,如流量的负载、CDT时间窗口长度等,返回到步骤1再次执行优化流程。
2.1 评估模型的建立
针对时间敏感流量的评估建模内容,主要是考虑当存在CDT时间窗口时,建立采用CBS的服务曲线模型。根据时间感知整形器(time-aware shaping,TAS)中的定义,CDT与时间敏感流量会在不同的时间窗口内隔离分开传输,并且用于CDT传输的时间窗口开启时,时间敏感流量的信用量将冻结不变,由此整体上可以把CDT的时间窗口考虑为一种漏桶模型,具体形式为
()=·+
(7)
式中:是CDT的稳定持续速率;是CDT的最大突发。基于此,可以进一步计算得到存在多个CDT窗口时针对A类型流量的服务速率与初始延迟,分别为
(8)
同理,可以得到针对B类型流量的服务速率和初始延迟,分别为
(9)
针对网络中流量端到端的传输延迟计算,考虑流量沿传输路径的逐跳过程,流量从源端talker开始发送,中间经过交换节点bridge,最后到达目的端listener,因此流量的端到端延迟是将除目的端之外每个节点的延迟上界结果进行累加,其结果为
(10)
为对网络中所有流量的延迟进行建模评估,从而实现整网带宽分配的优化,需要对网络本身进行建模,主要包括网络流量、网络拓扑和传输路径3个方面的内容。针对网络中的任一流量∈,其中,是网络中所有流量的集合,均具有以下的属性,包括流量类型,周期和数据包长度,具体可表示为
(11)
同时,为对网络拓扑进行建模描述,首先定义(,),其中,是网络中所有节点的集合,是网络中节点之间的关联,表示为
∀,∈:(,)∈
(12)
为说明网络拓扑中不同节点之间的拓扑连接关系,定义大小为×的网络连接矩阵:
(13)
其中,若两个节点、实际相连,则(,)的值为1,否则为0。
最后,考虑流量在网络中的传输路径,建立路径为
=[(,),(,),…,(-1,)]
(14)
式中:代表节点;和分别表示源节点和目的节点。
2.2 约束分析
考虑网络总是要在有限带宽资源的条件下满足流量传输的需求,如端到端延迟内容。通过将网络节点中A、B类型流量的逻辑带宽参数设为未知数,然后建立与需求满足有关的一系列约束条件,可以实现网络带宽分配问题的解决,这也为下一步的带宽分配优化奠定基础;其中,约束主要分为以下几种类型:
(1) 基本的端口约束;
(2) 考虑CDT的逻辑带宽约束;
(3) 延迟约束。
针对基本的端口约束内容,由于网络中存在较低优先级的BE流量,为保证BE流量的正常传输,CBS整形机制中A、B类型流量应具有预留逻辑带宽的上限值。本文考虑80%的逻辑带宽上限情况,由此可以得到端口约束条件为
(15)
考虑网络中具有最高优先级的CDT所占用的时间窗口,为利用网络演算进行性能评估,需要保证CBS下聚合流量的到达速率不大于节点提供的服务速率,由此得到逻辑带宽约束条件为
(16)
(17)
2.3 基于启发式算法的带宽分配优化
根据以上的网络性能评估模型及约束条件,结合网络与流量信息,基于网络演算方法,可以计算得到网络中所有流量的端到端延迟。同时,设置优化目标函数,采用遗传算法(genetic algorithm,GA)与粒子群优化(particle swarm optimization,PSO),分别对带宽分配结果进行迭代计算,并对比两种优化方法下的带宽分配方案,最终可实现整网带宽分配方案的判定;其中,GA和PSO均以网络中所有流量端到端延迟累计和的最小化为优化目标,具体计算与优化的过程如下。
(1) 根据待求解网络信息,输入网络拓扑、CDT时间窗口长度、流量与传输路径等内容,提取并生成相关的约束条件。
(2) 将网络节点中A、B类型流量的逻辑带宽参数设置作为未知数,建立基于网络演算下的性能评估模型。
(3) 建立优化目标函数,设置优化目标为
(18)
式中:是流量端到端延迟的权重值。
(4) 运行优化算法,直到达到优化终止条件。
(5) 输出得到整网所有节点的逻辑带宽分配结果。
3 案例结果与分析
为对本文提出的带宽分配与优化方法的效果进行验证,本节包含以下内容:
(1) 场景1针对本文带宽分配方法的实时性分析,采用网络单节点设置,将本文方法与文献[18]中的结果进行对比,从而说明本文实时性评估改进的有效性;
(2) 场景2针对网络不同的链路负载率情况,采用综合案例拓扑,在保持A、B类型流量相同占比的基础上,计算逻辑带宽的优化分配结果,从而验证采用CBS进行带宽预留的实时性能保障效果;
(3) 场景3针对相同的链路负载率,采用综合案例拓扑,研究如何设置网络中A、B类型流量的占比,从而使得所有流量端到端延迟总和为最小值。
由于文献[18]中的实时性分析方法只针对网络单节点,并且没有考虑到CDT,因此在单节点对比时暂不考虑设置CDT,而在综合案例中设置CDT可占有的链路带宽大小为10 Mbps。利用单节点对比结果,可以说明本文方法改进的有效性,更进一步地,通过综合案例的验证结果,可以说明本文带宽分配方法在整网情况下的有效性,从而为网络流量的类型设置和逻辑带宽分配提供参考设计。
针对时间敏感流量的带宽优化问题,由于基于启发式优化方法中,关键参数是影响算法收敛性和优化结果的重要因素,包括种群大小、迭代次数、交叉与变异概率、惯性系数与加速常数等。为保证每次带宽优化时,得到的分配结果能够根据优化目标表现出一致收敛性,而不会明显取决于优化参数的设定,综合案例中分别采用了GA和PSO两种方法,对优化结果进行参照对比,从而说明带宽分配优化结果的合理性与一致性。案例中主要参数的设置具体如表1所示。
表1 案例中主要的参数设置
综合案例中,采用了文献[26]针对航电组网应用的典型拓扑,具体连接关系如图3所示,其中包含8个端系统(end system, ES),标记为ES1~ES8,以及3个交换机作为Bridge,分别标记为SW1、SW2、SW3。针对综合案例中的传输流量,其虚拟链路(virtual link, VL)总数始终保持不变为100条,标记为VL1~VL100。红色为A类型流量,黑色为B类型流量。通过改变网络中A、B类型流量的速率大小,可以实现对链路负载率与不同类型流量占比情况的调整。
图3 网络的拓扑
最后,图3中链路速率为100 Mbps,并且设置所有时间敏感流量最大占用80%的总逻辑带宽上限,从而为BE流量的正常传输提供一定的带宽保证。由于A和B类型流量最大总是占有80%的总逻辑带宽,因此案例仅以A类型流量的说明带宽分配优化结果,B类型流量的带宽分配结果可通过总逻辑带宽与A类型流量的值相减得到。
3.1 单节点实时性分析对比
针对本文带宽分配中的实时性改进内容,在单节点的情况下,需要对比本文方法和文献[18]中A、B类型流量的延迟评估结果,从而说明本文实时性分析改进的有效性。由于单节点场景中不涉及CDT的存在,因而只需考虑A、B类型流量的相关设置,其分别占用的网络带宽大小为16 Mbps和40 Mbps。通过调整A、B类型流量的逻辑带宽,具体对应取值的大小为{(18.75, 56.25),(26.25, 48.75),(33.75, 41.25),(41.25, 33.75),(48.76, 26.24),(56.25, 18.75)}这6种配置情况。从配置1到配置6,A类型流量的逻辑带宽不断增加,而B类型流量的逻辑带宽相应不断减少。
根据图4中的对比结果,可以发现,本文方法下A、B类型流量的延迟评估结果总会小于文献[18],并且A和B类型流量的延迟结果均在配置较少逻辑带宽的情况下显示出更加明显的差距性,其中针对A类型流量本文方法最大可降低61%,B类型流量最大可降低74%。基于以上的对比结果,可以认为,本文的改进方法能够有效降低流量的实时性评估结果,从而可以根据实时性的满足条件接纳允许更多流量进行传输,由此为TSN中时间敏感流量的带宽分配与优化提供更合理的参考结果。
图4 单节点实时性分析的对比
以上有关单节点的对比结果显示出本文的实时性分析方法的有效性,然而,针对其在整网中的有效性,还需要采用综合案例进行验证,从而说明基于该方法在普遍网络中的一般适用性。为验证带宽分配与优化的效果,后面两个场景均采用文献[26]中针对航电组网应用的典型拓扑进行示例,说明本文带宽分配与优化方法在综合场景下的有效性和可行性。
3.2 不同链路负载率下的逻辑带宽分配
为研究不同链路负载率对时间敏感流量带宽分配的影响,场景2首先在保持A、B类型流量为50%的相同占比情况下,通过调整A、B类型流量的实际带宽和与最大可占用带宽之间的比值,研究相同占比时不同链路负载下的带宽分配内容,其中最大链路可占用带宽为64 Mbps,带宽比值的调整范围是10%~100%。然后,分别利用GA和PSO,多次进行带宽分配的优化。最终,根据优化输出结果,计算所有端口针对A类型流量的平均,并采用箱形图的统计方式,绘制端口平均结果的分布情况,具体结果如图5中所示。箱形图中,红色为采用GA的结果,蓝色为PSO的带宽分配优化结果。
图5 A、B占比不变时输出端口的带宽分配结果
根据图5中的结果,可以看出,在保持A、B类型流量占比不变的前提下,无论是GA或PSO,箱形图中上四分位数和下四分位数并没有随链路负载的增加而显著增长,矩形盒的位置多数处于35~45 Mbps之间,具有稳定的分布带。基于此,可以认为本文的带宽分配评估模型,能够在不同的链路负载率下,表现出稳定的最优带宽分配效果,具有一定的普适性。
同时,通过对比GA和PSO的结果,发现箱形图中其端口平均在分布上具有一定的差异性,其主要原因是案例中以所有流量端到端延迟和为优化目标,因而每次优化时,由于流量沿传输路径会经过多个输出端口,通过调整路径上不同节点的端口带宽值,同样可以优化获得相同的端到端延迟结果。因此,每次优化后,采用GA和PSO输出得到的带宽分配结果并不会完全相同,但所有流量的端到端延迟和在不同的链路负载率下总是相等,并且延迟和随着链路负载率的增加而逐渐变大,具体如图6中所示。
图6 负载率增加时所有流量的端到端延迟总和
另外,针对如何将网络中具有不同QoS需求的流量映射为A或B类型,从而确定带宽分配下A、B类型流量的最佳占比设置值,实现网络中所有流量延迟总和的最小化,这一内容将在场景3中进行具体验证。
3.3 不同占比下的逻辑带宽分配
为确定网络中A、B类型流量的最佳匹配占比,场景3在保持最大链路负载为64 Mbps不变的基础上,通过调整A、B类型流量的占比设置,其针对A类型流量的变化范围是10%~90%,并以所有流量端到端延迟累计和的最小化为优化目标,分别利用GA和PSO方法进行带宽分配的优化,输出得到的结果如图7所示。
图7 A类型流量在不同占比时的带宽分配结果
根据图7中的结果,可以看出,在保持链路负载不变的前提下,采用GA与PSO输出得到的端口平均,其优化结果均随A类型流量占比的增加而不断增长。
同时,为确定A、B类型流量的最佳带宽分配设置,可以调整网络中CDT时间窗口的长度,分别观察不同CDT占用比例下的延迟结果。针对每一种CDT占比情况,需要对比A类型流量在不同分配比例下所有流量端到端延迟之和。根据图8中的结果,在链路负载率不变的情况下,GA与PSO输出优化得到所有流量端到端延迟总和始终保持一致,并随着A类型流量分配占比的增加,呈现出先降低后增长的趋势,其中延迟和的最小化结果是在A类型流量的分配占比为70%时产生。由于A类型流量的优先级高于B类型流量,其中任一种的分配占比过大时,都无法使得A、B类型流量获得充分的预留带宽,从而导致端到端延迟较大。因此,综合案例中,当设置A类型流量的分配占比为70%,可以得到总体上延迟总和最小的带宽分配结果。
图8 网络中流量端到端延迟的总和
另外,针对不同网络应用场景中延迟最小时的流量类型具体占比值,其可能会受到网络配置环境、节点数量等因素的影响。针对这一问题,本文提供了不同网络设置下如何得到最佳占比适配值的流程和方法,可以为更多的一般普遍网络场景中所采用,从而为不同网络的针对性优化设计提供参考。
4 结 论
本文为解决TSN中时间敏感流量的带宽分配与优化问题,首先基于网络演算,建立网络性能评估模型。然后,结合网络带宽分配的约束条件,采用启发式优化方法,研究不同因素对带宽分配的影响,包括CDT的时间窗口长度、链路的负载率和流量类型的分配占比。最后,利用场景案例,对比给出了可使得延迟总和最小化的流量类型占比分配值。案例验证发现,本文实时性分析方法可获得较小的流量延迟评估结果;同时,针对不同的链路负载率,当保持流量类型占比不变时,可以得到相对稳定的带宽分配优化结果;另外,针对不同类型流量的带宽分配设置问题,案例中设置A类型流量的占比为70%时,可使得综合案例中所有流量端到端延迟的总和最小,即TSN网络中存在最佳的流量占比适配值。