CN115086238B - 一种tsn网络端口输出调度装置 - Google Patents
一种tsn网络端口输出调度装置 Download PDFInfo
- Publication number
- CN115086238B CN115086238B CN202211010674.0A CN202211010674A CN115086238B CN 115086238 B CN115086238 B CN 115086238B CN 202211010674 A CN202211010674 A CN 202211010674A CN 115086238 B CN115086238 B CN 115086238B
- Authority
- CN
- China
- Prior art keywords
- scheduling
- module
- packet
- submodule
- enqueue
- 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.)
- Active
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/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- 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/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/72—Admission control; Resource allocation using reservation actions during connection setup
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种TSN网络端口输出调度装置,包括:端口调度模块和分组集中缓存模块;分组集中缓存模块与端口调度模块连接,用于为端口调度模块缓存分组;端口调度模块包括入队控制模块、队列管理模块、分组描述符缓存模块和出队调度模块;入队控制模块与队列管理模块连接;队列管理模块分别与分组描述符缓存模块和出队调度模块连接;分组描述符缓存模块用于存储调度所需参数。该装置结构简单,安全、有效、可靠且操作简便,该装置可以有效提高TSN端口调度的扩展性。
Description
技术领域
本发明涉及TSN网络调度技术领域,特别是涉及一种TSN网络端口输出调度装置。
背景技术
时间敏感网络(Time Sensitive Networking, TSN)技术通过在标准以太网的基础上引入时间同步、确定性分组转发、帧复制与消除等功能,对传统以太网在实时性、容错性方面进行增强,旨在为时间敏感流量提供确定性、可靠性的服务,在航空航天、5G、高端装备制造等领域有良好的应用前景。
时间敏感网络中存在着三种典型的流量类型,分别是具有硬实时要求的时间敏感流量(ST流)、具有软实时要求的音视频类流量(AVB流)、以及对实时性没有要求的尽力而为流量(BE流)。其中时间敏感流量是一类需要满足低延迟、低抖动需求的周期性流量,该类流量是保证时间敏感网络实时性、确定性的关键。因此,在TSN网络中时间敏感流量通常被设置为最高优先级,具有软实时要求的音视频流量优先级次之,对实时性没有要求的尽力而为流量优先级最低。在各流量中还可以进一步区分优先级进行服务等级的区分。为了保障时间敏感流量的实时性和确定性,需要采用片上存储资源对流量的分组数据和分组描述符进行缓存。
随着各类实时应用场景中时间敏感流量的数目越来越多,例如在车载网络中,随着车上传感器数量成倍的提升,网络中时间敏感流的数目成倍增长。流量数目的增长直接导致片上存储资源成为了制约时间敏感网络交换芯片设计的瓶颈,尤其是嵌入式应用场景中芯片资源受限情况下,传统基于端口优先级队列的分布式分组缓存与调度方法显然是对片上有限存储资源的极大浪费,不利于TSN输出调度能力的扩展。
现有的TSN交换机上常采用集中式分组缓存实现多个输出处理模块共享,以提高缓冲区资源的利用率,但其输出调度仍然采用标准提出的优先级队列的方式,即针对每个优先级单独设置缓存队列对分组描述符进行缓存。为支持交换极端处理情况,各优先级队列需要设置的深度要与集中缓存所能存储的分组数量保持一致,从而导致各端口分组描述符缓存仍然存储大量的浪费,使得TSN输出调度可扩展性受限。
因此,提供一种基于共享缓存的高可扩展性的TSN网络端口输出调度装置是本领域技术人员亟待解决的问题。
发明内容
本发明的目的在于提供一种TSN网络端口输出调度装置,该装置结构简单,安全、有效、可靠且操作简便,该装置可以有效提高TSN端口调度的扩展性。
基于以上目的,本发明提供的技术方案如下:
一种TSN网络端口输出调度装置,包括:端口调度模块和分组集中缓存模块;
所述分组集中缓存模块与所述端口调度模块连接,用于为所述端口调度模块缓存分组;
所述端口调度模块包括入队控制模块、队列管理模块、分组描述符缓存模块和出队调度模块;
所述入队控制模块与所述队列管理模块连接;
所述队列管理模块分别与所述分组描述符缓存模块和出队调度模块连接;
所述分组描述符缓存模块用于存储调度所需参数。
优选地,还包括:输入处理模块和输出处理模块;
所述输入处理模块与所述入队控制模块连接,用于向所述入队控制模块输入分组描述符;
所述输出处理模块分别与所述出队调度模块和所述分组集中缓存模块连接。
优选地,所述分组描述符内包括:分组调度所需信息;
所述分组调度所需信息包括:分组所属的流ID、分组集中缓存ID、分组入队优先级、分组入队流门控ID、分组令牌桶ID、分组达到端口时间和分组长度。
优选地,还包括:
所述分组描述符缓存模块用于存储所述下一个分组集中缓存ID、所述分组令牌桶ID和所述分组长度;
所述分组描述符缓存模块与所述分组集中缓存模块中所存储的分组数量相同,且所述分组描述符缓存模块与所述分组集中缓存模块一一对应。
优选地,所述入队控制模块包括:ST入队控制子模块、AVB入队控制子模块和BE入队控制子模块;
所述ST入队控制子模块、所述AVB入队控制子模块和所述BE入队控制子模块均与所述输入处理模块连接,均用于根据预设规则对带有所述分组描述符的数据进行处理。
优选地,所述入队控制模块还包括:入队门控表;
所述ST入队控制子模块、所述AVB入队控制子模块和所述BE入队控制子模块均与所述队列管理模块连接;
所述ST入队控制子模块用于根据所述分组描述符中的所述分组入队流门控ID和当前调度时间槽,查找所述入队门控表,并根据反馈结果判断是否发送ST分组数据至所述队列管理模块中按所述分组入队优先级存储;
所述AVB入队控制子模块用于直接发送AVB分组数据至所述队列管理模块中按所述分组入队优先级存储;
所述BE入队控制子模块用于直接发送BE分组数据至所述队列管理模块中按所述分组入队优先级存储。
优选地,所述队列管理模块包括:若干个分组集中缓存ID寄存器对;
每个所述分组集中缓存ID寄存器对与每个优先级队列一一对应;
所述分组集中缓存ID寄存器对用于标识对应优先级队列的队首分组集中缓存ID和队尾分组集中缓存ID,并根据所述分组集中缓存ID、所述分组令牌桶ID、所述分组长度和所述队尾分组缓存ID更新所述分组描述符缓存模块。
优选地,所述出队调度模块包括:出队门控表、令牌桶信息表和轮询调度子模块;
所述轮询调度子模块用于根据所述输出处理模块所反馈的空闲信息、所述队列管理模块中若干个分组集中缓存ID寄存器对的状态、所述出队门控表和所述令牌桶信息表,对各个优先级队列中的分组描述符进行轮询调度。
优选地,所述轮询调度子模块包括:ST调度子模块、AVB调度子模块、BE调度子模块和调度控制子模块;
所述调度控制子模块分别与所述ST调度子模块、所述AVB调度子模块和所述BE调度子模块连接;
所述调度控制子模块用于在空闲状态下调用所述ST调度子模块,进入ST调度状态;
所述ST调度子模块用于在进入ST状态后,执行ST调度;
所述调度控制子模块还用于在满足第一预设条件时调用所述AVB调度子模块,进入AVB调度状态;
所述AVB调度子模块用于在进入AVB调度状态后,执行AVB调度;
所述调度控制子模块还用于在满足第二预设条件时调用所述BE调度子模块,进入BE调度状态;
所述BE调度子模块用于在进入BE调度状态后,执行BE调度。
优选地,还包括:所述输出处理模块用于根据所述出队调度模块中的分组集中缓存ID,从所述分组集中缓存模块中获取对应的分组数据输出,并在输出完成后向所述出队调度模块反馈空闲信息。
本发明所提供的TSN网络端口输出调度装置,设置有端口调度模块和分组集中缓存模块;分组调度模块中设置有入队控制模块、队列管理模块、分组描述符缓存模块和出队调度模块;入队控制模块与队列管理模块连接,队列管理模块分别与分组描述符缓存模块和出队调度模块连接,其中,分组描述符缓存模块用于存储调度所需参数。工作过程中,通过向入队控制模块输入的分组描述符,即分组调度所需的控制信息,入队控制模块根据分组描述符中的分组入队优先级进行区分处理,随后将允许入队调度的分组描述符输入至队列管理模块,队列管理模块将分组描述符输入至分组描述符缓存模块中,分组描述符缓存模块存储调度所需参数;队列管理模块更新分组描述符缓存模块中的调度所需参数,并将调度所需参数输入至出队调度模块中;出队调度模块根据调度所需参数对不同优先级的分组描述符采用不同的调度方法以保障TSN调度实时性和确定性,并提高网络带宽利用率。所设置的分组描述符缓存模块是单条无序的缓存队列,可以实现多优先级队列存储资源的共享,能够节约大量端口优先级队列资源,提升TSN端口输出调度能力的可扩展性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种TSN网络端口输出调度装置结构示意图;
图2为本发明实施例提供的一种TSN网络端口输出调度装置具体结构示意图;
图3为本发明实施例提供的轮询调度子模块工作状态示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例采用递进的方式撰写。
本发明实施例提供了一种TSN网络端口输出调度装置。主要解决现有技术中,现有TSN交换机采用的基于端口独立优先级队列调度存在的端口调度能力可扩展性较低的技术问题。
一种TSN网络端口输出调度装置,包括:端口调度模块和分组集中缓存模块;
分组集中缓存模块与端口调度模块连接,用于为端口调度模块缓存分组;
端口调度模块包括入队控制模块、队列管理模块、分组描述符缓存模块和出队调度模块;
入队控制模块与队列管理模块连接;
队列管理模块分别与分组描述符缓存模块和出队调度模块连接;
分组描述符缓存模块用于存储调度所需参数。
本发明所提供的TSN网络端口输出调度装置,设置有端口调度模块和分组集中缓存模块;分组调度模块中设置有入队控制模块、队列管理模块、分组描述符缓存模块和出队调度模块;入队控制模块与队列管理模块连接,队列管理模块分别与分组描述符缓存模块和出队调度模块连接,其中,分组描述符缓存模块用于存储调度所需参数。工作过程中,通过向入队控制模块输入的分组描述符,即分组调度所需的控制信息,入队控制模块根据分组描述符中的分组入队优先级进行区分处理,随后将允许入队调度的分组描述符输入至队列管理模块,队列管理模块将分组描述符输入至分组描述符缓存模块中,分组描述符缓存模块存储调度所需参数;队列管理模块更新分组描述符缓存模块中的调度所需参数,并将调度所需参数输入至出队调度模块中;出队调度模块根据调度所需参数对不同优先级的分组描述符采用不同的调度方法以保障TSN调度实时性和确定性,并提高网络带宽利用率。所设置的分组描述符缓存模块是单条无序的缓存队列,可以实现多优先级队列存储资源的共享,能够节约大量端口优先级队列资源,提升TSN端口输出调度能力的可扩展性。
优选地,还包括:输入处理模块和输出处理模块;
输入处理模块与入队控制模块连接,用于向入队控制模块输入分组描述符;
输出处理模块分别与出队调度模块和分组集中缓存模块连接。
实际运用过程中,还设置有输入处理模块和输出处理模块,输入处理模块和入队控制模块连接,从网络接口接收的分组通过输入处理模块向入队控制模块中输入用于记录输入分组调度相关控制信息的分组描述符(分组本身则被缓存到分组描述符中分组集中缓存ID所对应的分组集中缓存中);输出处理模块与出队调度模块和分组集中缓存模块连接,输出处理模块用于将已调度完成的分组描述符中的分组集中缓存ID对应的分组数据从分组集中缓存中读取后输出。工作过程中,用户通过输入处理模块向入队控制模块输入分组描述符;入队控制模块根据分组描述符中包含的分组调度所需参数,对已输入的分组描述符进行处理后输出至队列管理模块中;队列管理模块按照分组描述符链表的组织形式将分组描述符中的后续分组调度所需参数输入至分组描述符缓存模块中进行更新;队列管理模块将所维护的分组描述符链表信息输出至出队调度模块;出队调度模块按优先级组织的分组描述符链表进行调度,调度完成后根据分组描述符中包含的分组集中缓存ID从分组集中缓存中读取分组数据输出至输出处理模块;输出处理模块将调度完成后的数据输出至网络接口。
优选地,分组描述符内包括:分组调度所需信息;
分组调度所需信息包括:分组所属的流ID、分组集中缓存ID、分组入队优先级、分组入队流门控ID、分组令牌桶ID、分组达到端口时间和分组长度。
实际运用过程中,分组描述符需包含分组调度所需的信息,包括分组所属的流ID(FlowID),分组在集中缓存中的缓存ID(BufID),分组入队所需要分组优先级(QueueID,可取报文自身携带的优先级字段,如VLAN中PCP字段,或者在交换机中查表映射获得内部优先级IPV),分组入队流门控ID(SGateID),分组整形对应的令牌桶ID(BucketID),分组到达接收端口的时间ArriveTime,分组长度Len等。
优选地,还包括:
分组描述符缓存模块用于存储下一个分组集中缓存ID、分组令牌桶ID和分组长度;
分组描述符缓存模块与分组集中缓存模块中所存储的分组数量相同,且分组描述符缓存ID与分组集中缓存ID一一对应。
实际运用过程中,分组描述符缓存模块具体为单条无序的缓存队列。单队列分组描述符缓存模块是用于存储端口中需要输出调度的分组缓存ID和输出整形所需的令牌桶ID(根据输出调度需要还可存储调度所需的其他控制信息,如分组长度len)。如表1所示,该队列所支持存储的分组描述符的数量与分组集中缓存中所能存储的分组数量一致,以保证多端口输入至同一端口输出的极端交换情况,同时建立分组描述符缓存与分组集中缓存一一对应关系,使得分组描述符缓存不用保存当前分组的集中缓存ID,而是保存该分组之后下一个分组的集中缓存ID。
表1
优选地,入队控制模块包括:ST入队控制子模块、AVB入队控制子模块和BE入队控制子模块;
ST入队控制子模块、AVB入队控制子模块和BE入队控制子模块均与输入处理模块连接,均用于根据预设规则对分组描述符进行处理。
实际运用过程中,入队控制模块是用于针对分组描述符中的分组优先级字段对分组识别并进行入队控制,包括时间敏感(ST)分组控制子模块、音视频(AVB)分组控制子模块、尽力而为(BE)分组控制子模块。分别对控制子模块制定预设规则,根据对应的预设规则,对分组描述符进行处理。
优选地,入队控制模块还包括:入队门控表;
ST入队控制子模块、AVB入队控制子模块和BE入队控制子模块均与队列管理模块连接;
ST入队控制子模块用于根据分组描述符中的分组入队流门控ID和当前调度时间槽,查找入队门控表,并根据反馈结果判断是否发送ST分组数据至队列管理模块中按分组入队优先级存储;
AVB入队控制子模块用于直接发送AVB分组数据至队列管理模块中按分组入队优先级存储;
BE入队控制子模块用于直接发送BE分组数据至队列管理模块中按分组入队优先级存储。
实际运用过程中,各个控制子模块的预设规则具体表现为:
ST分组的入队控制通过判断分组是否是在合法的输入时间窗口对分组进行过滤,如果是在合法时间窗口则将ST分组发送到队列管理模块存储到对应队列号QueueID的队列链表中,否则丢弃该ST分组。判断依据是根据ST分组描述符中的SGateID字段和系统当前所在的调度时间槽(TimeSlot)查找入队门控表,格式如表2所示,如果返回的GataState为1则表示分组是在合法时间窗口,为0则表示不在合法时间窗口。
表2
AVB分组的入队控制则是直接将分组发送给队列管理模块存储到对应队列号QueueID的队列链表中
BE分组的入队控制则是直接将分组发送给队列管理模块存储到对应队列号QueueID的队列链表中。
优选地,队列管理模块包括:若干个分组集中缓存ID寄存器对;
每个分组集中缓存ID寄存器对与每个优先级队列一一对应;
分组集中缓存ID寄存器对用于标识对应优先级队列的队首分组缓存ID和队尾分组缓存ID,并根据分组集中缓存ID、分组令牌桶ID、分组长度和队尾分组缓存ID更新分组描述符缓存模块。
实际运用过程中,为每个优先级队列维护一对分组集中缓存ID寄存器,分别用于标识该队列的队首分组集中缓存ID(BufID_H)和队尾分组集中缓存ID(BufID_T)。并根据入队控制模块所提供的入队信息中的BufID、BucketID、Len以及QueueID对应的优先级队列中队尾分组集中缓存ID(BufID_T)来更新单队列分组描述符缓存的内容。具体包括更新操作包括将BufID存入BufID_T所对应的分组描述符缓存的BufID_N字段,将BucketID、Len存入BufID所对应的分组描述符缓存中的BucketID、Len字段。同时将QueueID对应的优先级队列寄存器对(即QueueID对应的分组集中缓存ID寄存器对)中的BufID_T更新为BufID。在出队调度侧根据出队调度模块选中的输出优先级队列,根据该优先级队列寄存器对中的队首分组缓存ID(BufID_H)从单队列分组描述符缓存中获取该分组对应的BufID_N、BucketID和Len,将BufID_H和获取的BucketID、Len发送给出队调度模块,同时将优先级队列寄存器对中的BufID_H更新为获取的BufID_N。
优选地,出队调度模块包括:出队门控表、令牌桶信息表和轮询调度子模块;
轮询调度子模块用于根据输出处理模块所反馈的空闲信息、队列管理模块中若干个优先级队列状态、出队门控表和令牌桶信息表,对各个优先级队列中的分组描述符进行轮询调度。
实际运用过程中,出队调度模块中的轮询调度子模块用于根据端口输出模块返回的链路空闲信号(由链路空闲信号触发每次调度)、队列管理模块提供的优先级队列状态、出队门控表和令牌桶信息表等信息对各队列中的分组描述符进行调度。
优选地,轮询调度子模块包括:ST调度子模块、AVB调度子模块、BE调度子模块和调度控制子模块;
调度控制子模块分别与ST调度子模块、AVB调度子模块和BE调度子模块连接;
调度控制子模块用于在空闲状态下调用ST调度子模块,进入ST调度状态;
ST调度子模块用于在进入ST状态后,执行ST调度;
调度控制子模块还用于在满足第一预设条件时调用AVB调度子模块,进入AVB调度状态;
AVB调度子模块用于在进入AVB调度状态后,执行AVB调度;
调度控制子模块还用于在满足第二预设条件时调用BE调度子模块,进入BE调度状态;
BE调度子模块用于在进入BE调度状态后,执行BE调度。
实际运用过程中,在空闲状态,出队调度模块根据系统当前所在的时间槽从出队门控表(格式如表3所示)中读取下一个时间槽所对应的各队列门控状态GCL作为下个调度时间槽各队列的输出门控配置,完成新时间槽门控更新后保持在空闲状态。在空闲状态收到新时间槽开始信号后进入ST调度状态,在该状态按输出队列门控状态和优先级高低依次读取门控状态为开的ST队列队首分组描述符,直到队首分组描述符为空后,再读取门控状态为开的下一优先级队列队首分组描述符。当门控为开的所有ST队列无分组就绪(即队首分组描述符为空),进入AVB调度状态。
表3
在AVB调度状态对AVB分组调度采用预取机制,将所有门控为开且队列非空的AVB优先级队列的队首描述符从队列管理模块读出后保存在对应的预取寄存器中,并根据各预取的AVB分组描述符的BucketID查询令牌桶信息表(格式如表4所示)获得令牌桶的状态信息,并令牌桶状态信息BucketState计算从上次令牌桶更新时间到当前时间之间所累计的令牌数量,根据令牌总量(累计的令牌数量加原有剩余令牌数量)判断对应分组是否足够输出(即令牌数大于等于分组长度),如果信令足够则将对应分组描述符预取寄存器置为调度就绪,并更新令牌桶信息表的令牌桶状态信息。调度器根据就绪AVB分组描述符的优先级按严格优先级调度输出,每调度一个AVB分组后需判断是否有ST分组就绪,如果有则跳转到ST分组调度状态。当收到调度复位或者进入保护带时间段(保护带是为避免AVB分组和BE分组影响ST分组调度的确定性而在时间槽末尾设置的一段空闲时间片,一般为一个最长分组输出时间),状态机跳转至空闲状态。当所有预取寄存器中都无就绪分组描述符,状态机跳转至BE调度状态。
表4
在BE调度状态也采用类似AVB调度状态预取调度方式,区别在于BE分组无需进一步查询令牌桶信息表来判断分组是否能输出。调度器根据就绪BE分组描述符的优先级按严格优先级调度输出。每调度一个BE分组后需判断是否有ST或者AVB分组就绪,如果有则跳转到对应的分组调度状态。当收到调度复位或者进入保护带时间段,状态机跳转至空闲状态。
优选地,还包括:输出处理模块用于根据出队调度模块中的分组集中缓存ID,从分组集中缓存模块中获取对应的分组数据输出,并在输出完成后向出队调度模块反馈空闲信息。
实际运用过程中,输出处理模块用于为根据出队调度模块调度的分组集中缓存ID,从分组集中缓存中读取对应的分组数据输出,在输出完成后给出队调度模块返回链路空闲信号。
在本申请所提供的实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
另外,在本发明各实施例中的各功能模块可以全部集成在一个处理器中,也可以是各模块分别单独作为一个器件,也可以两个或两个以上模块集成在一个器件中;本发明各实施例中的各功能模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令及相关的硬件来完成,前述的程序指令可以存储于计算机可读取存储介质中,该程序指令在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
应当理解,本申请中如若使用了“系统”、“装置”、“单元”和/或“模块”,仅是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换该词语。
还需要说明的是,在本文中,诸如术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种TSN网络端口输出调度装置进行了详细介绍。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (6)
1.一种TSN网络端口输出调度装置,其特征在于,包括:端口调度模块和分组集中缓存模块;
所述分组集中缓存模块与所述端口调度模块连接,用于为所述端口调度模块缓存分组;
所述端口调度模块包括入队控制模块、队列管理模块、分组描述符缓存模块和出队调度模块;
所述入队控制模块与所述队列管理模块连接;
所述队列管理模块分别与所述分组描述符缓存模块和出队调度模块连接;
所述分组描述符缓存模块用于存储调度所需参数;
还包括:输入处理模块和输出处理模块;
所述输入处理模块与所述入队控制模块连接,用于向所述入队控制模块输入分组描述符;
所述输出处理模块分别与所述出队调度模块和所述分组集中缓存模块连接;
所述分组描述符内包括:分组调度所需信息;
所述分组调度所需信息包括:分组所属的流ID、分组集中缓存ID、分组入队优先级、分组入队流门控ID、分组令牌桶ID、分组达到端口时间和分组长度;
还包括:
所述分组描述符缓存模块用于存储下一个所述分组集中缓存ID、所述分组令牌桶ID和所述分组长度;
所述分组描述符缓存模块与所述分组集中缓存模块中所存储的分组数量相同,且所述分组描述符缓存模块与所述分组集中缓存模块一一对应;
所述入队控制模块包括:ST入队控制子模块、AVB入队控制子模块和BE入队控制子模块;
所述ST入队控制子模块、所述AVB入队控制子模块和所述BE入队控制子模块均与所述输入处理模块连接,均用于根据预设规则对带有所述分组描述符的数据进行处理。
2.如权利要求1所述的TSN网络端口输出调度装置,其特征在于,所述入队控制模块还包括:入队门控表;
所述ST入队控制子模块、所述AVB入队控制子模块和所述BE入队控制子模块均与所述队列管理模块连接;
所述ST入队控制子模块用于根据所述分组描述符中的所述分组入队流门控ID和当前调度时间槽,查找所述入队门控表,并根据反馈结果判断是否发送ST分组数据至所述队列管理模块中按所述分组入队优先级存储;
所述AVB入队控制子模块用于直接发送AVB分组数据至所述队列管理模块中按所述分组入队优先级存储;
所述BE入队控制子模块用于直接发送BE分组数据至所述队列管理模块中按所述分组入队优先级存储。
3.如权利要求2所述的TSN网络端口输出调度装置,其特征在于,所述队列管理模块包括:若干个分组集中缓存ID寄存器对;
每个所述分组集中缓存ID寄存器对与每个优先级队列一一对应;
所述分组集中缓存ID寄存器对用于标识对应优先级队列的队首分组集中缓存ID和队尾分组集中缓存ID,并根据所述分组令牌桶ID、所述分组长度和所述队尾分组集中缓存ID更新所述分组描述符缓存模块。
4.如权利要求3所述的TSN网络端口输出调度装置,其特征在于,所述出队调度模块包括:出队门控表、令牌桶信息表和轮询调度子模块;
所述轮询调度子模块用于根据所述输出处理模块所反馈的空闲信息、所述队列管理模块中若干个分组集中缓存ID寄存器对的状态、所述出队门控表和所述令牌桶信息表,对各个优先级队列中的分组描述符进行轮询调度。
5.如权利要求4所述的TSN网络端口输出调度装置,其特征在于,所述轮询调度子模块包括:ST调度子模块、AVB调度子模块、BE调度子模块和调度控制子模块;
所述调度控制子模块分别与所述ST调度子模块、所述AVB调度子模块和所述BE调度子模块连接;
所述调度控制子模块用于在空闲状态下调用所述ST调度子模块,进入ST调度状态;
所述ST调度子模块用于在进入ST状态后,执行ST调度;
所述调度控制子模块还用于在满足第一预设条件时调用所述AVB调度子模块,进入AVB调度状态;
所述AVB调度子模块用于在进入AVB调度状态后,执行AVB调度;
所述调度控制子模块还用于在满足第二预设条件时调用所述BE调度子模块,进入BE调度状态;
所述BE调度子模块用于在进入BE调度状态后,执行BE调度。
6.如权利要求5所述的TSN网络端口输出调度装置,其特征在于,还包括:所述输出处理模块用于根据所述出队调度模块中的分组集中缓存ID,从所述分组集中缓存模块中获取对应的分组数据输出,并在输出完成后向所述出队调度模块反馈空闲信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211010674.0A CN115086238B (zh) | 2022-08-23 | 2022-08-23 | 一种tsn网络端口输出调度装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211010674.0A CN115086238B (zh) | 2022-08-23 | 2022-08-23 | 一种tsn网络端口输出调度装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115086238A CN115086238A (zh) | 2022-09-20 |
CN115086238B true CN115086238B (zh) | 2022-11-22 |
Family
ID=83244219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211010674.0A Active CN115086238B (zh) | 2022-08-23 | 2022-08-23 | 一种tsn网络端口输出调度装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115086238B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115914130B (zh) * | 2022-11-14 | 2024-10-22 | 天翼云科技有限公司 | 智能网卡的数据流量处理方法及装置 |
CN118277289B (zh) * | 2024-06-03 | 2024-08-30 | 浙江力积存储科技有限公司 | 数据输出方法、装置、设备和介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111200846A (zh) * | 2018-11-19 | 2020-05-26 | 华为技术有限公司 | 时延敏感网络通信方法及其装置 |
CN111327540A (zh) * | 2020-02-25 | 2020-06-23 | 重庆邮电大学 | 一种工业时间敏感网络数据确定性调度方法 |
CN111786900A (zh) * | 2020-06-15 | 2020-10-16 | 北京交通大学 | 一种基于时间队列的时态感知流量整形器 |
CN111865633A (zh) * | 2019-04-28 | 2020-10-30 | 华为技术有限公司 | 一种通信方法、装置及系统 |
CN111865830A (zh) * | 2019-04-29 | 2020-10-30 | 华为技术有限公司 | 一种时延敏感网络业务tsn的处理方法、装置及系统 |
CN112887226A (zh) * | 2021-01-26 | 2021-06-01 | 重庆邮电大学 | 有线无线融合的卫星时间敏感网络队列管理调度方法 |
CN113382442A (zh) * | 2020-03-09 | 2021-09-10 | 中国移动通信有限公司研究院 | 报文传输方法、装置、网络节点及存储介质 |
CN114390000A (zh) * | 2022-01-17 | 2022-04-22 | 北京邮电大学 | 基于入队整形的tsn流量调度方法及相关设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872403B (zh) * | 2017-11-10 | 2019-12-24 | 西安电子科技大学 | 一种实现层次化QoS的五级队列调度装置及方法 |
WO2020104946A1 (en) * | 2018-11-19 | 2020-05-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Output pacing in a cellular communications system serving as a time-sensitive networking (tsn) node |
CN112214337A (zh) * | 2020-10-21 | 2021-01-12 | 成都成电光信科技股份有限公司 | Ttfc网络发送缓存设计方法、计算机设备及存储介质 |
CN113411270B (zh) * | 2021-06-07 | 2023-04-07 | 中国人民解放军国防科技大学 | 一种面向时间敏感网络的报文缓冲区管理方法 |
CN113821516B (zh) * | 2021-10-12 | 2023-09-05 | 上海交通大学 | 一种基于虚拟队列的时间敏感网络交换系统 |
-
2022
- 2022-08-23 CN CN202211010674.0A patent/CN115086238B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111200846A (zh) * | 2018-11-19 | 2020-05-26 | 华为技术有限公司 | 时延敏感网络通信方法及其装置 |
CN111865633A (zh) * | 2019-04-28 | 2020-10-30 | 华为技术有限公司 | 一种通信方法、装置及系统 |
CN111865830A (zh) * | 2019-04-29 | 2020-10-30 | 华为技术有限公司 | 一种时延敏感网络业务tsn的处理方法、装置及系统 |
CN111327540A (zh) * | 2020-02-25 | 2020-06-23 | 重庆邮电大学 | 一种工业时间敏感网络数据确定性调度方法 |
CN113382442A (zh) * | 2020-03-09 | 2021-09-10 | 中国移动通信有限公司研究院 | 报文传输方法、装置、网络节点及存储介质 |
CN111786900A (zh) * | 2020-06-15 | 2020-10-16 | 北京交通大学 | 一种基于时间队列的时态感知流量整形器 |
CN112887226A (zh) * | 2021-01-26 | 2021-06-01 | 重庆邮电大学 | 有线无线融合的卫星时间敏感网络队列管理调度方法 |
CN114390000A (zh) * | 2022-01-17 | 2022-04-22 | 北京邮电大学 | 基于入队整形的tsn流量调度方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115086238A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7876763B2 (en) | Pipeline scheduler including a hierarchy of schedulers and multiple scheduling lanes | |
CN115086238B (zh) | 一种tsn网络端口输出调度装置 | |
US7649901B2 (en) | Method and apparatus for optimizing selection of available contexts for packet processing in multi-stream packet processing | |
US7921241B2 (en) | Instruction set for programmable queuing | |
CN101136854B (zh) | 一种实现数据包线速处理的方法和装置 | |
US20060291495A1 (en) | Hardware self-sorting scheduling queue | |
CN111786900A (zh) | 一种基于时间队列的时态感知流量整形器 | |
US7529224B2 (en) | Scheduler, network processor, and methods for weighted best effort scheduling | |
WO2017206587A1 (zh) | 一种优先级队列调度的方法及装置 | |
CN113411270A (zh) | 一种面向时间敏感网络的报文缓冲区管理方法 | |
CN114531488B (zh) | 一种面向以太网交换器的高效缓存管理系统 | |
US20030179706A1 (en) | Network processor having fast flow queue disable process | |
US8599694B2 (en) | Cell copy count | |
CN115086239B (zh) | 一种共享式tsn整形调度装置 | |
CN110708253A (zh) | 一种报文控制方法、流表更新方法和节点设备 | |
US7079545B1 (en) | System and method for simultaneous deficit round robin prioritization | |
US6490629B1 (en) | System and method for scheduling the transmission of packet objects having quality of service requirements | |
CN117749726A (zh) | Tsn交换机输出端口优先级队列混合调度方法和装置 | |
US7474662B2 (en) | Systems and methods for rate-limited weighted best effort scheduling | |
WO2022174444A1 (zh) | 一种数据流传输方法、装置及网络设备 | |
EP4336796A1 (en) | Deterministic traffic transmission method and apparatus | |
CN113645148B (zh) | 一种时间敏感网络的流量整形器令牌更新系统及方法 | |
CN115835402A (zh) | 基于数据帧动态优先级的时间敏感网络流调度方法及装置 | |
JP2001244981A (ja) | キュー制御装置 | |
CN118200259A (zh) | 一种数据交换设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |