队列调度方法、装置及系统与流程
本技术涉及网络通信,具体涉及队列调度方法、装置及系统。
背景技术:
1、在网络通信过程中,当网络出现过载、拥塞等情况时,需要通过队列调度来保障各队列中报文的有序传输。相关技术中,通常为各队列配置优先级和权重值,并为各队列设置计数器,在进行队列调度时,基于各队列的优先级、权重值以及计数器,从有报文待发送的队列中确定出胜出的队列,并将胜出的队列中的报文出队。然而,随着网络带宽的不断提升,对队列调度的时效性提出了更高的要求,采用相关技术中的方式完成一次队列调度所需的耗时较长,队列调度的效率较低,难以满足高带宽场景下的调度需求。
2、因此,现亟需一种队列调度方法,以解决相关技术中队列调度效率较低的问题。
技术实现思路
1、本技术提供了一种队列调度方法、装置及系统,以解决相关技术中队列调度效率较低的问题。
2、第一方面,本技术提供了一种队列调度方法,该方法包括:
3、在各待调度队列中,将具有待发送报文的队列确定为有效请求队列;
4、在同一时钟周期内,根据为各待调度队列配置的优先级,将各有效请求队列中优先级最高的队列确定为候选队列,并在各候选队列的计数器均为负值的情况下,对各候选队列进行轮询仲裁以确定仲裁胜出队列,以及将各候选队列的计数器分别加上各自对应的权重值;
5、将仲裁胜出队列的报文出队,并将仲裁胜出队列的计数器减去出队报文的字节长度。
6、在一种可选的实施方式中,该方法还包括:
7、在各候选队列的计数器不全为负值的情况下,对计数器为非负值的候选队列执行轮询仲裁以确定仲裁胜出队列。
8、在一种可选的实施方式中,该方法还包括:
9、读取各候选队列的计数器的最高位,将最高位确定为对应队列的计数器的符号位;
10、当各候选队列的计数器的符号位均为1时,确定各候选队列的计数器均为负值。
11、在一种可选的实施方式中,将仲裁胜出队列的计数器减去出队报文的字节长度,包括:
12、将多次出队操作对应的报文字节长度进行累加,并将累加后的字节长度从仲裁胜出队列的计数器中扣减。
13、在一种可选的实施方式中,该方法还包括:
14、当存在计数器在同一时钟周期内既被加上对应的权重值、又被扣减累加后的字节长度的队列时,将队列确定为目标队列;
15、将目标队列对应的权重值与累加后的字节长度进行合并计算,并将合并计算的结果写入目标队列的计数器。
16、在一种可选的实施方式中,将各有效请求队列中优先级最高的队列确定为候选队列,包括:
17、构建优先级矩阵,优先级矩阵的行对应优先级等级,列对应各待调度队列的队列节点,具有待发送报文的队列节点在对应优先级行的矩阵元素置1,其余置0;
18、根据优先级矩阵确定最高优先级,并将优先级矩阵中最高优先级对应行的数据作为指示各候选队列的请求位图。
19、在一种可选的实施方式中,构建优先级矩阵,包括:
20、将表征各队列请求状态的请求向量,分别与表征各队列优先级配置的配置矩阵的每一行进行按位与运算,得到优先级矩阵。
21、在一种可选的实施方式中,根据优先级矩阵确定最高优先级,包括:
22、对优先级矩阵的每一行执行按位或运算,得到压缩向量,压缩向量的每一位表征对应优先级是否存在有效请求队列;
23、对压缩向量执行位运算,确定压缩向量中最高有效位对应的优先级等级,作为最高优先级。
24、在一种可选的实施方式中,对压缩向量执行位运算,确定压缩向量中最高有效位对应的优先级等级,包括:
25、对压缩向量进行位反转,得到反转向量;
26、将反转向量减1后取反,与反转向量进行按位与运算,得到反转向量中最右侧置1位对应的独热编码;
27、对最右侧置1位对应的独热编码进行位反转,得到压缩向量中最高有效位对应的独热编码。
28、在一种可选的实施方式中,方法还包括:
29、将最高有效位对应的独热编码减1后,对所得结果中所有置1的位进行累加,将累加结果作为最高优先级对应的二进制编号。
30、本技术实施例的队列调度方法,通过在各待调度队列中将具有待发送报文的队列确定为有效请求队列,使得后续的调度仅针对实际存在发送需求的队列进行;通过根据为各待调度队列配置的优先级,将各有效请求队列中优先级最高的队列确定为候选队列,保证了高优先级队列的报文能够被优先调度;在此基础上,通过在各候选队列的计数器均为负值的情况下,对各候选队列进行轮询仲裁以确定仲裁胜出队列,并同时将各候选队列的计数器分别加上各自对应的权重值,使得轮询仲裁与计数器加权这两项操作无需先后依次执行,而是与优先级最高的候选队列的确定共同在同一时钟周期内完成,从而缩短了完成一次队列调度所需的时间,提高了队列调度的效率;进一步地,通过将仲裁胜出队列的报文出队,并将该队列的计数器减去出队报文的字节长度,使计数器能够准确反映各队列已出队报文的字节数,从而保证了各队列按照所配置的权重值被调度的准确性。
31、第二方面,本技术提供了一种队列调度装置,该装置包括:
32、请求确定单元,用于在各待调度队列中,将具有待发送报文的队列确定为有效请求队列;
33、调度单元,与请求确定单元相连,用于在同一时钟周期内,根据为各待调度队列配置的优先级,将各有效请求队列中优先级最高的队列确定为候选队列,并在各候选队列的计数器均为负值的情况下,对各候选队列进行轮询仲裁以确定仲裁胜出队列,以及将各候选队列的计数器分别加上各自对应的权重值;
34、出队处理单元,与调度单元相连,用于将仲裁胜出队列的报文出队,并将仲裁胜出队列的计数器减去出队报文的字节长度。
35、在一种可选的实施方式中,调度单元包括优先级调度电路、并行仲裁电路以及并行加权电路;
36、优先级调度电路,用于根据为各待调度队列配置的优先级,将各有效请求队列中优先级最高的队列确定为候选队列;
37、并行仲裁电路,与优先级调度电路相连,用于在各候选队列的计数器均为负值的情况下,对各候选队列进行轮询仲裁,以确定仲裁胜出队列;
38、并行加权电路,用于在各候选队列的计数器均为负值的情况下,与并行仲裁电路在同一时钟周期内,将各候选队列的计数器分别加上各自对应的权重值;
39、其中,优先级调度电路的输出端与并行仲裁电路的输入端通过组合逻辑路径相连。
40、在一种可选的实施方式中,并行加权电路包括寄存器,寄存器用于将并行加权电路在当前时钟周期得到的加权结果进行锁存,并在下一时钟周期将锁存的加权结果写入对应队列的计数器。
41、在一种可选的实施方式中,并行仲裁电路的仲裁逻辑为纯组合逻辑电路,仲裁逻辑的关键路径由轮询仲裁运算构成。
42、第三方面,本技术提供了一种队列调度系统,该系统包括优先级调度子系统以及轮询仲裁子系统;
43、优先级调度子系统包括:
44、请求确定模块,用于在各待调度队列中,将具有待发送报文的队列确定为有效请求队列;
45、候选队列确定模块,与请求确定模块相连,用于根据为各待调度队列配置的优先级,将各有效请求队列中优先级最高的队列确定为候选队列;
46、请求位图输出模块,与候选队列确定模块相连,用于生成并输出指示各候选队列的请求位图;
47、轮询仲裁子系统的输入端与请求位图输出模块的输出端相连,轮询仲裁子系统包括:
48、并行仲裁模块,用于在各候选队列的计数器均为负值的情况下,对各候选队列进行轮询仲裁,以确定仲裁胜出队列;
49、并行加权模块,用于在各候选队列的计数器均为负值的情况下,与并行仲裁模块在同一时钟周期内,将各候选队列的计数器分别加上各自对应的权重值;
50、出队处理模块,与并行仲裁模块相连,用于将仲裁胜出队列的报文出队,并将仲裁胜出队列的计数器减去出队报文的字节长度;
51、其中,优先级调度子系统的处理过程与轮询仲裁子系统的处理过程在同一时钟周期内完成。
52、在一种可选的实施方式中,优先级调度子系统的输出端与轮询仲裁子系统的输入端之间通过组合逻辑路径相连,使优先级调度子系统与轮询仲裁子系统在同一时钟周期内形成连续的组合逻辑路径。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com