CN114866493A - Tas异步调用实现系统和方法 - Google Patents
Tas异步调用实现系统和方法 Download PDFInfo
- Publication number
- CN114866493A CN114866493A CN202210236697.7A CN202210236697A CN114866493A CN 114866493 A CN114866493 A CN 114866493A CN 202210236697 A CN202210236697 A CN 202210236697A CN 114866493 A CN114866493 A CN 114866493A
- Authority
- CN
- China
- Prior art keywords
- tas
- module
- algorithm
- scheduling
- fifos
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
- H04L47/568—Calendar queues or timing rings
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种TAS异步调用实现系统和方法。该TAS异步调用实现系统包括:数据包处理管线模块、队列调度模块以及多个发送端口模块,其中,在每个发送端口模块的前端还对应地设置一个TAS算法实现模块,由所述数据包处理管线模块处理的报文发送至所述队列调度模块、并经所述队列调度模块调度至所述TAS算法实现模块,以在每个TAS算法实现模块中对报文执行异步TAS算法。本发明解决了队列数量较多时进行WFQ调度时所增加的TAS时延和抖动问题,让抖动更小,时窗更精确的同时提高网络带宽利用率,同时可让系统易于扩展。
Description
技术领域
本发明涉及以太网时间敏感网络TSN实现范畴领域,尤其涉及一种TAS异步调用实现系统和方法。
背景技术
IEEE 802.1 TSN任务组定义了时间敏感网络,通过一套协议规范构建超低时延和抖动、高可靠的确定性网络。其中在802.1AS时间同步的基础上,802.1Qci、802.1Qbv等协议规范通过仿真时分复用(TDM)来实现时间确定性功能及周期性数据非周期性数据同时传输的功能。
802.1Qbv描述了时间敏感调度算法(TAS),主要方式为在出方向为每一个队列设置一个门控开关,通过门控的开和关操作,形成报文发送的时窗序列,并在相应的时窗内将周期性的时间敏感数据从队列中发送出去,避免非时间敏感数据和其它时间敏感数据的干扰,从而在降低时延的同时保证最大时延。
在交换节点使用硬件(如ASIC/FPGA/NPU等)实现该协议时,通常将门控和队列调度放在一起实现,如图1系统结构所示,RxMac(接收端口)收到报文后,由RxArbiter根据入方向的仲裁算法选择一个报文插入到Packet Processing Pipeline(数据包处理管线)中进行报文处理,之后发送Queue/Schedule/TxSelector模块,并在该模块实现门控功能,如图2队列门控结构所示,报文入对列后,有调度模块执行报文调度算法,调度模块的实现一般是在原有报文调度算法如CBS(基于信用的调度算法)、SP(严格优先级调度)等的基础上增加门控调度(TAS),即给每个队列分配一个门控Gate,通过轮询门控或门控定时器事件(门控开关事件)来调度报文。调度出的报文经TxMac(发送端口)发送出去。
以上现有技术在channel(channel通常和端口或虚端口对应)与channel之间一般通过WFQ(加权公平排队)或近似算法如WDRR(加权差额循环)选择一个channel,然后将该channel下的有效报文根据队列上配置的调度算法及门控开关状态调度出去。
这种方法会因为轮转产生一定的时延和抖动,即排队时延和抖动,特别是当时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流数量受到一定限制。
如果使用定时器事件的方法实现门控调度,即给每个Channel指定一个定时器,极端情况下仍然存在上述情况,如多个定时器同时产生门控打开事件,则这种情况下和轮转情况下所有Channel都有需要的发送的报文类似。
发明内容
为了解决上述技术问题,本发明公开了一种TAS异步调用实现系统和方法,本发明在实现TSN时间调度算法时可大幅度降低因报文排队及调度所带来的时延和抖动,同时在扩展队列(或端口)规模时,时延和抖动不会正比例的增加,从而间接的增加网络有效带宽,扩大网络规模,可有效应用在在高速端口上(如2.5Gbps,10Gbps等)部署规划大规模TSN流的场景等。
为达到上述目的,本发明的技术方案提供了一种TAS异步调用实现系统,其包括:数据包处理管线模块、队列调度模块以及多个发送端口模块,其中,在每个发送端口模块的前端还对应地设置一个TAS算法实现模块,由所述数据包处理管线模块处理的报文发送至所述队列调度模块、并经所述队列调度模块调度至所述TAS算法实现模块,以在每个TAS算法实现模块中对报文执行异步TAS算法。
在进一步的技术方案中,每个TAS算法实现模块包括多个FIFO和多个门控,其中,每个FIFO与一个队列对应,并且每个门控与一个FIFO对应。
在进一步的技术方案中,所述队列调度模块包括一级调度结构和二级调度结构,一级调度结构为多个队列,二级调度结构为多个通道,其中,通过加权公平排队或近似算法来选择一个通道,并将该通道下的有效报文根据队列上配置的调度算法调度到所述TAS算法实现模块的相应FIFO中。
在进一步的技术方案中,在进行队列调度时,在轮转到某一通道时,只要TAS算法实现模块中的FIFO允许就将报文调度到TAS算法实现模块的FIFO中,在TAS算法实现模块中异步对各自模块的多个FIFO中的报文执行TAS算法。
在进一步的技术方案中,通过一个时窗序列或定时器来调度多个FIFO中的报文。
在进一步的技术方案中,每个TAS算法实现模块包括8个FIFO和8个门控,从而异步对8个FIFO中的报文执行TAS算法。
在进一步的技术方案中,每个FIFO用于存储报文和报文的上下文,或者存储报文的上下文和队列调度相关信息。
在进一步的技术方案中,所述系统还包括多个接收端口模块和仲裁算法模块,其中仲裁算法模块从接收端口模块接收报文、并根据入方向的仲裁算法选择一个报文插入到管线处理模块进行报文处理。
本发明的实施方式还提供了一种TAS异步调用实现方法,所述方法使用如上所述的系统对报文实施TAS异步调用。
附图说明
图1是现有的报文调度系统结构示意图;
图2是现有的队列门控结构示意图;
图3是本发明的TAS异步调用系统结构示意图;
图4是本发明的TAS异步调用队列结构示意图;
图5是本发明的异步调用门控结构示意图。
具体实施方式
下面结合具体实施例对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
为了解决如背景技术中提到的技术问题,本发明主要包括一下设计要点:
1.将TAS算法的实现从队列调度模块移动到每个TxMac模块之前。
2.在独立出来的TAS模块中增加FIFO,存储报文或报文的上下文。
3.在每个独立出来TAS模块中异步实施TAS算法。
如图3所示,在本发明的TAS异步调用系统结构中,将TAS的实现从原来的排队调度模块中独立出来,每个端口对应一个,形成若干个单独的FIFO/TAS模块(TAS算法实现模块)。图4展示的是将TAS移出后的队列结构。图5展示的是独立出来的TAS模块结构FIFO/TAS,该模块包含和channel下的队列对应的FIFO,FIFO中可存储报文和报文上下文或仅存储报文上下文(和报文调度相关信息),每个FIFO会向队列模块产生反压信号(backpressure),以避免FIFO溢出。
在进行队列调度时,在轮转到某一channel时,只要FIFO/TAS模块中的FIFO允许就将报文调度到FIFO/TAS模块的FIFO中,在FIFO/TAS模块中异步对各自模块8个FIFO中的报文执行TAS算法,通过一个时窗序列或定时器(精度可以达到主频级别)来调度8个FIFO中的报文,也即每个端口独立实现门控调度算法,这样因轮转所带来的时延和抖动可以大幅度降低,在上述所提到的64Channel系统中,理论上抖动可以降低到原来的1/64。
在具体的实施方式中,本发明提供了一种TAS异步调用实现系统,其包括:数据包处理管线模块(Packet Processing PipLine)、队列调度模块(Queue/Schedule/TxSelector)以及多个发送端口模块(TxMac),其中,在每个发送端口模块的前端还对应地设置一个TAS算法实现模块(FIFO/TAS),由所述数据包处理管线模块处理的报文发送至所述队列调度模块、并经所述队列调度模块调度至所述TAS算法实现模块,以在每个TAS算法实现模块中对报文执行异步TAS算法。
在进一步的技术方案中,如图5所示,每个TAS算法实现模块包括多个FIFO和多个门控,其中,每个FIFO与一个队列对应,并且每个门控与一个FIFO对应。
在进一步的技术方案中,如图4所示,所述队列调度模块包括一级调度结构和二级调度结构,一级调度结构为多个队列,二级调度结构为多个通道(channel),其中,通过加权公平排队或近似算法来选择一个通道,并将该通道下的有效报文根据队列上配置的调度算法调度到所述TAS算法实现模块的相应FIFO中。
在进一步的技术方案中,在进行队列调度时,在轮转到某一通道时,只要TAS算法实现模块中的FIFO允许就将报文调度到TAS算法实现模块的FIFO中,在TAS算法实现模块中异步对各自模块的多个FIFO中的报文执行TAS算法。
在进一步的技术方案中,通过一个时窗序列或定时器来调度多个FIFO中的报文。
在进一步的技术方案中,每个TAS算法实现模块包括8个FIFO和8个门控,从而异步对8个FIFO中的报文执行TAS算法。
在进一步的技术方案中,每个FIFO用于存储报文和报文的上下文,或者存储报文的上下文和队列调度相关信息。
在进一步的技术方案中,所述系统还包括多个接收端口模块和仲裁算法模块,其中仲裁算法模块从接收端口模块接收报文、并根据入方向的仲裁算法选择一个报文插入到管线处理模块进行报文处理。
本发明的实施方式还提供了一种TAS异步调用实现方法,所述方法使用如上所述的系统对报文实施TAS异步调用。
本发明解决了队列数量较多时进行WFQ调度时所增加的TAS时延和抖动问题,让抖动更小,时窗更精确的同时提高网络带宽利用率,同时可让系统易于扩展。
以上所述的仅是本发明的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (9)
1.一种TAS异步调用实现系统,其特征在于,包括:数据包处理管线模块、队列调度模块以及多个发送端口模块,其中,
在每个发送端口模块的前端还对应地设置一个TAS算法实现模块,由所述数据包处理管线模块处理的报文发送至所述队列调度模块、并经所述队列调度模块调度至所述TAS算法实现模块,以在每个TAS算法实现模块中对报文执行异步TAS算法。
2.根据权利要求1所述的系统,其特征在于,每个TAS算法实现模块包括多个FIFO和多个门控,其中,每个FIFO与一个队列对应,并且每个门控与一个FIFO对应。
3.根据权利要求2所述的系统,其特征在于,所述队列调度模块包括一级调度结构和二级调度结构,一级调度结构为多个队列,二级调度结构为多个通道,其中,通过加权公平排队或近似算法来选择一个通道,并将该通道下的有效报文根据队列上配置的调度算法调度到所述TAS算法实现模块的相应FIFO中。
4.根据权利要求3所述的系统,其特征在于,在进行队列调度时,在轮转到某一通道时,只要TAS算法实现模块中的FIFO允许就将报文调度到TAS算法实现模块的FIFO中,在TAS算法实现模块中异步对各自模块的多个FIFO中的报文执行TAS算法。
5.根据权利要求4所述的系统,其特征在于,通过一个时窗序列或定时器来调度多个FIFO中的报文。
6.根据权利要求5所述的系统,其特征在于,每个TAS算法实现模块包括8个FIFO和8个门控,从而异步对8个FIFO中的报文执行TAS算法。
7.根据权利要求6所述的系统,其特征在于,每个FIFO用于存储报文和报文的上下文,或者存储报文的上下文和队列调度相关信息。
8.根据权利要求1-7中任一项所述的系统,其特征在于,所述系统还包括多个接收端口模块和仲裁算法模块,其中仲裁算法模块从接收端口模块接收报文、并根据入方向的仲裁算法选择一个报文插入到管线处理模块进行报文处理。
9.一种TAS异步调用实现方法,其特征在于,所述方法使用如权利要求1-8中任一项所述的系统对报文实施TAS异步调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210236697.7A CN114866493A (zh) | 2022-03-10 | 2022-03-10 | Tas异步调用实现系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210236697.7A CN114866493A (zh) | 2022-03-10 | 2022-03-10 | Tas异步调用实现系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114866493A true CN114866493A (zh) | 2022-08-05 |
Family
ID=82628352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210236697.7A Pending CN114866493A (zh) | 2022-03-10 | 2022-03-10 | Tas异步调用实现系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114866493A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116095055A (zh) * | 2023-01-31 | 2023-05-09 | 安徽工业大学 | 一种支持事件触发的异步tsn流调度方法 |
-
2022
- 2022-03-10 CN CN202210236697.7A patent/CN114866493A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116095055A (zh) * | 2023-01-31 | 2023-05-09 | 安徽工业大学 | 一种支持事件触发的异步tsn流调度方法 |
CN116095055B (zh) * | 2023-01-31 | 2024-04-12 | 安徽工业大学 | 一种支持事件触发的异步tsn流调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Thangamuthu et al. | Analysis of ethernet-switch traffic shapers for in-vehicle networking applications | |
JP6395170B2 (ja) | ネットワークにおけるデータフレームのトラフィックシェーピングの方法並びにそのデバイス及びコンピュータープログラム製品 | |
Craciunas et al. | An overview of scheduling mechanisms for time-sensitive networks | |
Hellmanns et al. | On the performance of stream-based, class-based time-aware shaping and frame preemption in TSN | |
Marau et al. | Enhancing real-time communication over cots ethernet switches | |
EP3491791B1 (en) | Packet processing technique for a communication network | |
CN110870285B (zh) | 在具有部分实时需求的数据网络中高性能数据传输的方法和执行该方法的装置 | |
Nikishin et al. | Schedule time-triggered ethernet | |
Heilmann et al. | Size-based queuing: An approach to improve bandwidth utilization in TSN networks | |
Zhang et al. | Packet-size aware scheduling algorithms in guard band for time sensitive networking | |
CN113678414A (zh) | 用于tsn网络上的增强可调度性和吞吐量的交换设备、控制设备和对应方法 | |
CN113630335B (zh) | 一种交换以太网数据流控制策略优化选择方法 | |
Thiele et al. | Improved formal worst-case timing analysis of weighted round robin scheduling for ethernet | |
Groß et al. | A hardware/software co-design approach for Ethernet controllers to support time-triggered traffic in the upcoming IEEE TSN standards | |
Kim et al. | ETAS: Enhanced time-aware shaper for supporting nonisochronous emergency traffic in time-sensitive networks | |
US6865154B1 (en) | Method and apparatus for providing bandwidth and delay guarantees in combined input-output buffered crossbar switches that implement work-conserving arbitration algorithms | |
CN114866493A (zh) | Tas异步调用实现系统和方法 | |
Zhang et al. | PIPO: Efficient programmable scheduling for time sensitive networking | |
TW202046690A (zh) | 在封包交換網路中藉由通訊實體之電腦手段實施之方法、及其電腦程式及電腦可讀取之非暫時性記錄媒體、以及封包交換網路之通訊實體 | |
Wang et al. | A switch design for real-time industrial networks | |
CN116233257A (zh) | 一种非时钟同步的流量调度方法和系统 | |
Wang et al. | Performance analysis of IEEE 802.1 Qch for automotive networks: Compared with IEEE 802.1 Qbv | |
EP4099649A1 (en) | Integrated scheduler for iec/ieee 60802 end-stations | |
Hassani et al. | Work-in-progress: Layering concerns for the analysis of credit-based shaping in IEEE 802.1 TSN | |
Ma et al. | Evaluation of flexilink as unified real-time protocol for industrial networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |