TAS异步调用实现系统和方法技术方案

技术编号:34436750 阅读:27 留言:0更新日期:2022-08-06 16:21
本发明专利技术提供一种TAS异步调用实现系统和方法。该TAS异步调用实现系统包括:数据包处理管线模块、队列调度模块以及多个发送端口模块,其中,在每个发送端口模块的前端还对应地设置一个TAS算法实现模块,由所述数据包处理管线模块处理的报文发送至所述队列调度模块、并经所述队列调度模块调度至所述TAS算法实现模块,以在每个TAS算法实现模块中对报文执行异步TAS算法。本发明专利技术解决了队列数量较多时进行WFQ调度时所增加的TAS时延和抖动问题,让抖动更小,时窗更精确的同时提高网络带宽利用率,同时可让系统易于扩展。同时可让系统易于扩展。同时可让系统易于扩展。

【技术实现步骤摘要】
TAS异步调用实现系统和方法


[0001]本专利技术涉及以太网时间敏感网络TSN实现范畴领域,尤其涉及一种TAS异步调用实现系统和方法。

技术介绍

[0002]IEEE 802.1 TSN任务组定义了时间敏感网络,通过一套协议规范构建超低时延和抖动、高可靠的确定性网络。其中在802.1AS时间同步的基础上,802.1Qci、802.1Qbv等协议规范通过仿真时分复用(TDM)来实现时间确定性功能及周期性数据非周期性数据同时传输的功能。
[0003]802.1Qbv描述了时间敏感调度算法(TAS),主要方式为在出方向为每一个队列设置一个门控开关,通过门控的开和关操作,形成报文发送的时窗序列,并在相应的时窗内将周期性的时间敏感数据从队列中发送出去,避免非时间敏感数据和其它时间敏感数据的干扰,从而在降低时延的同时保证最大时延。
[0004]在交换节点使用硬件(如ASIC/FPGA/NPU等)实现该协议时,通常将门控和队列调度放在一起实现,如图1系统结构所示,RxMac(接收端口)收到报文后,由RxArbiter根据入方向的仲裁算法选择一个报文插入到Packet Processing Pipeline(数据包处理管线)中进行报文处理,之后发送Queue/Schedule/TxSelector模块,并在该模块实现门控功能,如图2队列门控结构所示,报文入对列后,有调度模块执行报文调度算法,调度模块的实现一般是在原有报文调度算法如CBS(基于信用的调度算法)、SP(严格优先级调度)等的基础上增加门控调度(TAS),即给每个队列分配一个门控Gate,通过轮询门控或门控定时器事件(门控开关事件)来调度报文。调度出的报文经TxMac(发送端口)发送出去。
[0005]以上现有技术在channel(channel通常和端口或虚端口对应)与channel之间一般通过WFQ(加权公平排队)或近似算法如WDRR(加权差额循环)选择一个channel,然后将该channel下的有效报文根据队列上配置的调度算法及门控开关状态调度出去。
[0006]这种方法会因为轮转产生一定的时延和抖动,即排队时延和抖动,特别是当时channel数量或queue数量比较多时,比如一个具有64channel的系统,最差情况下,在同一时刻除channel0外,其它每个channel都有待发送的TSN报文,调度器当前工作在channel0上,channel0上的queue6包含即将发送的TSN报文,该TSN报文所在queue的门控因为相差30ns才能被打开,从而错过本轮调度,若每调度一个channel需要花费50ns,则再次调度到channel0时,已经经过了3.15us(63*50ns),则channel0上的queue6的TSN报文要比理想情况晚3.1us(3.15us

50ns)才能被调度出去,为了在该轮调度能正确的将该queue6上的TSN报文调度出去,需要在配置规划该TSN窗口时将TSN窗口加大至可以覆盖到因轮转调度所带来的最大时延,这样做的结果增加了TSN报文时延和抖动的,也降低了有效的数据传输带宽。该抖动会随着跳数的增加而累加,若每个交换节点带来的抖动是3us,则经过7台交换设备时,该抖动会增大至21us,这意味着该TSN流在最后一个交换节点的TSN窗口配置将比第一个节点大21us,这样在整个网络中能够配置的TSN流数量受到一定限制。
[0007]如果使用定时器事件的方法实现门控调度,即给每个Channel指定一个定时器,极端情况下仍然存在上述情况,如多个定时器同时产生门控打开事件,则这种情况下和轮转情况下所有Channel都有需要的发送的报文类似。

技术实现思路

[0008]为了解决上述技术问题,本专利技术公开了一种TAS异步调用实现系统和方法,本专利技术在实现TSN时间调度算法时可大幅度降低因报文排队及调度所带来的时延和抖动,同时在扩展队列(或端口)规模时,时延和抖动不会正比例的增加,从而间接的增加网络有效带宽,扩大网络规模,可有效应用在在高速端口上(如2.5Gbps,10Gbps等)部署规划大规模TSN流的场景等。
[0009]为达到上述目的,本专利技术的技术方案提供了一种TAS异步调用实现系统,其包括:数据包处理管线模块、队列调度模块以及多个发送端口模块,其中,在每个发送端口模块的前端还对应地设置一个TAS算法实现模块,由所述数据包处理管线模块处理的报文发送至所述队列调度模块、并经所述队列调度模块调度至所述TAS算法实现模块,以在每个TAS算法实现模块中对报文执行异步TAS算法。
[0010]在进一步的技术方案中,每个TAS算法实现模块包括多个FIFO和多个门控,其中,每个FIFO与一个队列对应,并且每个门控与一个FIFO对应。
[0011]在进一步的技术方案中,所述队列调度模块包括一级调度结构和二级调度结构,一级调度结构为多个队列,二级调度结构为多个通道,其中,通过加权公平排队或近似算法来选择一个通道,并将该通道下的有效报文根据队列上配置的调度算法调度到所述TAS算法实现模块的相应FIFO中。
[0012]在进一步的技术方案中,在进行队列调度时,在轮转到某一通道时,只要TAS算法实现模块中的FIFO允许就将报文调度到TAS算法实现模块的FIFO中,在TAS算法实现模块中异步对各自模块的多个FIFO中的报文执行TAS算法。
[0013]在进一步的技术方案中,通过一个时窗序列或定时器来调度多个FIFO中的报文。
[0014]在进一步的技术方案中,每个TAS算法实现模块包括8个FIFO和8个门控,从而异步对8个FIFO中的报文执行TAS算法。
[0015]在进一步的技术方案中,每个FIFO用于存储报文和报文的上下文,或者存储报文的上下文和队列调度相关信息。
[0016]在进一步的技术方案中,所述系统还包括多个接收端口模块和仲裁算法模块,其中仲裁算法模块从接收端口模块接收报文、并根据入方向的仲裁算法选择一个报文插入到管线处理模块进行报文处理。
[0017]本专利技术的实施方式还提供了一种TAS异步调用实现方法,所述方法使用如上所述的系统对报文实施TAS异步调用。
附图说明
[0018]图1是现有的报文调度系统结构示意图;
[0019]图2是现有的队列门控结构示意图;
[0020]图3是本专利技术的TAS异步调用系统结构示意图;
[0021]图4是本专利技术的TAS异步调用队列结构示意图;
[0022]图5是本专利技术的异步调用门控结构示意图。
具体实施方式
[0023]下面结合具体实施例对本专利技术的技术方案作进一步的描述,但本专利技术并不限于这些实施例。
[0024]为了解决如
技术介绍
中提到的技术问题,本专利技术主要包括一下设计要点:
[0025]1.将TAS算法的实现从队列调度模块移动到每个TxMac模块之前。
[0026]2.在独立出来的TAS模块中增加FIFO,存储报文或报文的上下文。...

【技术保护点】

【技术特征摘要】
1.一种TAS异步调用实现系统,其特征在于,包括:数据包处理管线模块、队列调度模块以及多个发送端口模块,其中,在每个发送端口模块的前端还对应地设置一个TAS算法实现模块,由所述数据包处理管线模块处理的报文发送至所述队列调度模块、并经所述队列调度模块调度至所述TAS算法实现模块,以在每个TAS算法实现模块中对报文执行异步TAS算法。2.根据权利要求1所述的系统,其特征在于,每个TAS算法实现模块包括多个FIFO和多个门控,其中,每个FIFO与一个队列对应,并且每个门控与一个FIFO对应。3.根据权利要求2所述的系统,其特征在于,所述队列调度模块包括一级调度结构和二级调度结构,一级调度结构为多个队列,二级调度结构为多个通道,其中,通过加权公平排队或近似算法来选择一个通道,并将该通道下的有效报文根据队列上配置的调度算法调度到所述TAS算法实现模块的相应FIFO中。4.根据权利要求3所述的系统,其特征在于,在进行队列调度时,在轮转到某一通道时,只要TAS算法实现模块中的F...

【专利技术属性】
技术研发人员:刘端
申请(专利权)人:昆高新芯微电子江苏有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1