CN110011934B - 一种用于输入队列交换机的混合队列架构的混合调度方法 - Google Patents
一种用于输入队列交换机的混合队列架构的混合调度方法 Download PDFInfo
- Publication number
- CN110011934B CN110011934B CN201910200066.8A CN201910200066A CN110011934B CN 110011934 B CN110011934 B CN 110011934B CN 201910200066 A CN201910200066 A CN 201910200066A CN 110011934 B CN110011934 B CN 110011934B
- Authority
- CN
- China
- Prior art keywords
- port
- queue
- virtual output
- input
- input port
- 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.)
- Expired - Fee Related
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
-
- 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/6295—Queue scheduling characterised by scheduling criteria using multiple queues, one for each individual QoS, connection, flow or 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于输入队列交换机的混合队列架构与混合调度方法。输入输出端口之间经交换结构进行数据分组的传输,中心调度器执行调度算法并完成交换结构的配置,输入端口中建立两类虚拟输出队列,增设流虚拟输出队列;新到达输入端口的数据分组经过滤器被分配至两类虚拟输出队列中,由中心调度器采用整合帧预留和基于时隙的混合调度方法对输入到输入端口的数据分组进行调度并对交换机的交换结构进行配置。本发明能够在兼容现有Internet输入队列交换机的虚拟输出队列技术的同时为确定性业务提供流粒度的QoS服务,减少分组进入队列和离开队列的时间,且能够将未使用的预留资源共享给所有的非确定性业务,实现资源利用率最大化。
Description
技术领域
本发明涉及输入队列交换机领域的一种调度方法,尤其涉及一种用于输入队列交换机的混合队列架构与混合调度方法。
背景技术
随着通信需求的快速增长,大量的具有严格的服务质量(QoS,QualityofService)的新应用(如工业自动化),要求网络可以提供有保证的QoS。但目前大多数商用交换机/路由器旨在实现更高的吞吐量和更低的互联网尽力而为流量平均延迟,而无法提供有保证的QoS。充分利用交换机的同时,仍然给某些特定的流量提供确定性服务的问题一直尚未解决。
作为交换网络中的核心设备,交换机/路由器是确定性网络的重要组成部分。传统的输出队列交换机可以通过在每个输出端口采用一些带宽预留算法(例如WFQ算法)来提供有保证的QoS。然而,输出队列交换机面临着糟糕的N-Speedup问题,这使得它们难以应用于实际的高速交换网络当中。输入队列交换机,无需进行N倍加速,更适合大规模交换网络。为了消除线头阻塞问题,输入队列交换机可以使用虚拟输出队列(VOQ)技术。
输入队列交换机的调度方式主要分为两个方向:基于时隙和基于帧。
基于时隙的迭代调度算法采用迭代调度的策略,它根据每个VOQ的实时队列状态确定每个时隙输入和输出之间的匹配规则。迭代调度算法(例如,优先级iSLIP)通常分为三个步骤,包括:请求,授权和接受。
基于时隙的迭代调度算法着重于如何提高输入和输出之间的匹配效率,并且由于此类算法是基于实时队列状态而进行端口匹配,通常具有高资源利用率的特点。但这些算法的主要问题是它们无法实现资源预留或提供有保证的QoS。
基于帧的保证QoS调度算法假设可以通过一些预留协议(例如RSVP和SDN)预先知道每个端口对之间的业务需求。使用一个N×N的矩阵T描述在一个调度帧中,每个输入和输出端口对之间的确定性业务的预留时隙之和。
基于帧的调度算法需要将T分解为F置换子矩阵Mk。其中Mk表示该调度帧中第k个时隙的输入输出端口对的匹配规则。由于基于帧的调度是静态的,因此如果预留的VOQ为空,则基于帧的调度方法面临资源浪费的问题。
目前仍然缺乏一种高效的调度解决方案,不仅可实现与基于时隙的调度解决方案类似的高资源利用率,而且还能够提供像基于帧的调度算法那样的有保证的QoS服务。
发明内容
为了解决背景技术中存在的问题,本发明所提供一种用于输入队列交换机的混合队列架构与混合调度方法,用以在实现在为确定性业务提供有保证的QoS的同时,能够实现高资源利用率。
本发明采用的技术方案是:
本发明的输入队列交换机包括输入端口和输出端口,输入端口作为交换结构的输入,输出端口作为交换结构的输出,输入端口和输出端口之间经交换结构进行数据分组的传输,输入端口和交换结构均连接中心调度器,由中心调度器对输入到输入端口的数据分组进行调度并对交换机的交换结构进行配置;输入队列交换机中,缓存位于各个输入端口,每一个输入端口中建立两类虚拟输出队列,分别为端口虚拟输出队列(portQ,PortVOQ)和流虚拟输出队列(flowQ,FlowVOQ),构成了混合队列架构;对于每一个输入端口,新到达输入端口的数据分组经过滤器被分配至端口虚拟输出队列portQ或流虚拟输出队列flowQ中,由中心调度器采用整合帧预留和基于时隙的混合调度方法进行调度。
为了实现对确定性用户的资源预留并减少由于预留给确定性用户但未被使用而导致的资源浪费,本发明提出了整合帧预留和基于时隙的混合调度方法。
每一个输入端口采用单级的队列结构,被划分为两个虚拟输出队列集合,分别包括:
端口虚拟输出队列集合,分为N个独立的端口虚拟输出队列portQ,每个端口虚拟输出队列portQ存储当前输入端口到同一个输出端口的所有非确定性业务的数据分组;
流虚拟输出队列集合,分为M个独立的流虚拟输出队列flowQ,每个流虚拟输出队列flowQ存储一条确定性业务流的数据分组,用以实现流粒度的确定性服务。
本发明中,确定性业务指的是需要交换机预留带宽资源并提供有保证的QoS服务的一种网络业务,符合国际互联网工程任务组的确定性网络协议所定义的确定性业务类型。非确定性业务指的是不需要交换机预留带宽资源和提供有保证的QoS服务的其他网络业务。
具体实施中,流虚拟输出队列flowQ中可能存在空的队列,也存在非空队列。端口虚拟输出队列portQ同样也是。
所述的整合帧预留和基于时隙的混合调度方法,具体分为端口预匹配和端口重匹配两个阶段。
在端口预匹配阶段,中心调度器通过网络控制协议(例如rsvp协议)实时传输获取到确定性业务的带宽资源预留信息,中心调度器根据确定性业务的带宽资源预留信息,依次采用基于帧的矩阵拆解算法和基于通用处理器共享理论的流调度算法,预先获得当前一时间帧内每个时隙预留带宽资源的流虚拟输出队列flowQ以及每个时隙下预留的流虚拟输出队列flowQ对应的输入端口和输出端口组成的端口对匹配方式,作为预匹配结果;在端口重匹配阶段,针对每一个时隙,中心调度器根据预匹配结果以及各个流虚拟输出队列flowQ和端口虚拟输出队列portQ的实时队列状态,保留当前时隙下预留带宽资源的且非空的流虚拟输出队列flowQ所对应的预匹配结果,并采用基于时隙迭代的调度方式将所有预留带宽资源但未被使用的带宽资源或者未预留的带宽资源共享至所有的非空的端口虚拟输出队列portQ。
基于帧的矩阵拆解算法可以采用GLJD等矩阵拆解算法,基于通用处理器共享理论的流调度算法可采用通用处理器共享理论调度算法。
所述的端口预匹配阶段中,只有当确定性业务的带宽资源预留信息或者交换机的总带宽资源发生变化时,才进入端口预匹配阶段;同时,中心调度器不根据端口预匹配阶段的预匹配结果进行交换机的交换结构配置,而是将预匹配结果用于作为端口重匹配阶段的输入信息。
所述的端口重匹配阶段中,在每一个时隙均进入端口重匹配阶段,当前时隙开始时进行以下判断:
若该时隙下,预留带宽资源的流虚拟输出队列flowQ非空,则将该流虚拟输出队列flowQ对应的预匹配结果保留;
若该时隙下,预留带宽资源的流虚拟输出队列flowQ为空且对应的预留结果作为预留但未被使用的带宽资源,或者存在未预留的带宽资源,则采用基于时隙迭代的调度方式,将上述预留但未被使用或者未预留的带宽资源共享至所有的非空的端口虚拟输出队列portQ使用,即分配给所有的非空的端口虚拟输出队列portQ使用;本发明的预留但未被使用的带宽资源只会共享给非空的端口虚拟输出队列portQ,而不是未预留的流虚拟输出队列flowQ。
具体如下:
在端口重匹配阶段中,中心调度器为每个输入端口和每个输出端口分别维护一个轮询指针,采用多次迭代的方式进行输入端口和输出端口之间的匹配,每次的迭代包括:
S1、请求阶段:
如果当前为第一次迭代,则进行以下处理:
如果当前时隙内,输入端口中预留的流虚拟输出队列flowQ为非空,则向该流虚拟输出队列flowQ对应的输出端口发送预留请求;
如果当前时隙内,输入端口中预留的流虚拟输出队列flowQ为空或者输入端口没有预留的流虚拟输出队列flowQ,则向所有非空的端口虚拟输出队列portQ对应的输出端口发送非预留请求;
如果当前不为第一次迭代,则进行以下处理:
如果当前时隙内,输入端口已经在该时隙的前几次迭代的接受阶段接受了输出端口,则跳过请求阶段,不发送任何的预留请求或非预留请求;
如果当前时隙内,输入端口没有在该时隙的前几次迭代的接受阶段接个输出端口且输入端口中预留的流虚拟输出队列flowQ为空或者输入端口没有预留的流虚拟输出队列flowQ,则向所有非空的端口虚拟输出队列portQ对应的输出端口发送非预留请求;
S2、授权阶段:
如果当前为第一次迭代,则进行以下处理:
如果输出端口收到预留请求,则直接授权该预留请求,然后发回授权请求;
如果输出端口收到了来自一个或多个输入端口的非预留请求,则从轮询指针的最高优先级开始轮询,选择轮询到的第一个发送了非预留请求的输入端口,输出端口授权被选择的输入端口发过来的预留请求,向该输入端口发送授权请求;
如果当前不是第一次迭代,则进行以下处理:
如果输出端口已经在该时隙的前几次迭代的接受阶段被输入端口所接受,则跳过授权阶段,不发送任何的授权请求;
如果输出端口没有在该时隙的前几次迭代的接受阶段被输入端口所接受,且收到了来自一个或多个输入端口的非预留请求,则从轮询指针的最高优先级开始轮询,选择轮询到的第一个发送了非预留请求的输入端口,输出端口授权被选择的输入端口发过来的预留请求,向该输入端口发送授权请求;
S3、接受阶段:
如果当前时隙内,输入端口中预留的流虚拟输出队列flowQ为非空,则直接接受向该流虚拟输出队列flowQ对应的输出端口,并向该输出端口发送接受请求;
如果当前时隙内,输入端口中预留的流虚拟输出队列flowQ为空且收到了多个授权请求,则从轮询指针的最高优先级开始轮询,选择轮询到的第一个发送了授权请求的输出端口,输入端口接受该输出端口并向其发送接受请求,同时将轮询指针的最高优先级更新为被接受的输出端口的下一个端口;
由此一次迭代完成。重匹配阶段历经多次同样的迭代,中心调度器根据重匹配阶段的结果进行交换机的交换结构配置。
轮询指针的最高优先级是指轮询指针指向对应的最高优先级。
本发明在原有输入队列交换机架构基础上增设了流虚拟输出队列flowQ,并通过流虚拟输出队列flowQ和中心调度器配合建立了新的调度方式实现了调度。
本发明的有益效果是:
本发明采用的混合队列架构,输入队列交换机的每一个输入端口中采用单级的队列结构,建立两类虚拟输出队列,分别为端口虚拟输出队列(portQ,PortVOQ)和流虚拟输出队列(flowQ,FlowVOQ)。其中,端口虚拟输出队列能够兼容现有Internet输入队列交换机的虚拟输出技术;流虚拟输出队列可以为新的确定性业务提供流粒度的QoS服务。同时,单级的混合队列架构,让数据分组在输入端口只需要经历一次进入队列和离开队列的过程,减少了数据分组在输入端口的时延。
本发明采用的混合调度方法,混合调度方法分为端口预匹配阶段和端口重匹配阶段。在端口预匹配阶段,根据预先获取到的确定性业务的带宽资源预留信息,依次采用基于帧的矩阵拆解算法和基于通用处理器共享理论的流调度算法,可以为确定性业务预先预留资源;在端口重匹配阶段,采用迭代调度的方式,优先匹配非空的流虚拟输出队列,同时将所有未使用的预留资源和未预留的资源共享给所有的非确定性业务,实现资源的利用率最大化。
附图说明
图1为采用混合队列架构的输入队列交换机示意图。
图2为混合调度方法的流程示意图。
图3为实施例一中重匹配阶段一次迭代过程的示意图。
图4为实施例一中的确定性业务的最大时延的仿真结果示意图。
图5为实施例一中的非确定性业务的平均时延的仿真结果示意图。
图1中:过滤器201、端口虚拟输出队列(portQ)202、流虚拟输出队列(flowQ)203、输入端口205、中心调度器206。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细说明。
如图1所示,本发明具体实施采用混合队列架构的输入队列交换机,硬件结构如图1所示。输入队列交换机包括输入端口205和输出端口,输入端口205作为交换结构的输入,输出端口作为交换结构的输出,输入端口205和输出端口之间经交换结构进行数据分组的传输,由中心调度器(206)对输入到输入端口的数据分组进行调度并对交换机的交换结构进行配置;
每一个输入端口205采用单级的混合队列架构,包括一个过滤器201、N个端口虚拟输出队列portQ202、若干个数目可选的流虚拟输出队列flowQ203。
过滤器201用于对新到达的数据分组进行过滤和分组,将数据分组划分至对应的portQ或者flowQ中。
端口虚拟输出队列集合,兼容传统的虚拟输出队列技术,即兼容原网络交换设备,分为N个独立的端口虚拟输出队列portQ202,端口虚拟输出队列portQ202用于兼容原有Internet交换设备的虚拟输出队列,每一个端口虚拟输出队列存储该输入端口内到同一个输出端口的所有非确定性业务的数据分组。
流虚拟输出队列集合,分为M个独立的流虚拟输出队列flowQ203,流虚拟输出队列flowQ203用于存储确定性业务的数据分组,可根据确定性流的个数而动态地调整流虚拟输出队列203的个数。每一个流虚拟输出队列存储同一个确定性流的数据分组,用于实现每流粒度的确定性服务。
中心调度器206执行队列调度并对交换机的交换结构进行配置
输入队列交换机中,缓存位于各个输入端口,每一个输入端口中建立两类虚拟输出队列,分别为端口虚拟输出队列(portQ,PortVOQ)和流虚拟输出队列(flowQ,FlowVOQ),构成了混合队列架构;输入端口中的缓存被划分为两类虚拟输出队列,对于每一个输入端口,新到达输入端口的数据分组缓存经过滤器201根据IP五元组被分配至端口虚拟输出队列portQ202或流虚拟输出队列flowQ203中,由中心调度器206采用整合帧预留和基于时隙的混合调度方法进行调度。
本发明实施例具体如下:
具体地,当有新的分组到达输入端口时,过滤器201根据数据分组的IP五元组,将其划分至对应的端口虚拟输出队列portQ202或者流虚拟输出队列flowQ203中。具体地,将确定性业务的数据分组按照流的粒度划分至对应的流虚拟输出队列flowQ203中,而将非确定业务按照目的输出端口存放至对应的端口虚拟输出队列portQ202中。
具体实施中,流虚拟输出队列flowQ203中可能存在空的队列,也存在非空队列。端口虚拟输出队列portQ202同样也是。
具体实施的整合帧预留和基于时隙的混合调度方法,同时整合帧预留的调度和基于时隙的迭代调度,具体分为端口预匹配和端口重匹配两个阶段:
A、在端口预匹配阶段,中心调度器通过网络控制协议(例如rsvp协议)实时传输获取到确定性业务的带宽资源预留信息,确定性业务的带宽资源预留信息包含有需要预留带宽资源的端口信息,中心调度器根据确定性业务的带宽资源预留信息,依次采用基于帧的矩阵拆解算法和基于通用处理器共享理论的流调度算法,预先获得当前一时间帧内每个时隙预留的流虚拟输出队列flowQ203以及每个时隙下流虚拟输出队列flowQ203对应的输入端口和输出端口组成的端口对匹配方式,作为预匹配结果;
只有当确定性业务的带宽资源预留信息或者交换机的总带宽资源发生变化时,才进入端口预匹配阶段;同时,中心调度器206不根据端口预匹配阶段的预匹配结果进行交换机的交换结构配置,而是将预匹配结果用于作为端口重匹配阶段的输入信息。
B、在端口重匹配阶段,针对每一个时隙,中心调度器根据预匹配结果以及流虚拟输出队列flowQ203和端口虚拟输出队列portQ202各个队列实时的队列情况,保留当前时隙下预留的且非空的流虚拟输出队列flowQ203所对应的预匹配结果,并采用基于时隙迭代的调度方式将所有预留但未被使用的带宽资源或者未预留的带宽资源共享至所有的非空的端口虚拟输出队列portQ202。在每一个时隙均进入端口重匹配阶段,当前时隙开始时进行以下判断:
若该时隙下预留的流虚拟输出队列flowQ203非空,则将该流虚拟输出队列flowQ203对应的预匹配结果保留;
若该时隙下预留的流虚拟输出队列flowQ203为空,且对应的预匹配结果作为预留但未被使用的带宽资源,或者存在未预留的带宽资源,则采用基于时隙迭代的调度方式,将上述预留但未被使用或者未预留的带宽资源共享至所有的非空的端口虚拟输出队列portQ202使用,即分配给所有的非空的端口虚拟输出队列portQ202使用,共享至非确定性业务的数据分组;本发明的预留但未被使用的带宽资源只会共享给非空的端口虚拟输出队列portQ202,而不是未预留的流虚拟输出队列flowQ203。具体如下:
在端口重匹配阶段中,中心调度器为每个输入端口和每个输出端口分别维护一个轮询指针,采用多次迭代的方式进行输入端口和输出端口之间的匹配,每次的迭代包括:请求阶段、授权阶段和接受阶段。
下面以4*4规模的交换机的实施例一来说明一次迭代过程。图3为本发明实施例一的一次迭代过程的示意图。在图3中,S01、S02、S03、S04、N01、N02、N03、N04分别依次表示为输入端口1到4、输出端口1到4维护的轮询指针,箭头指向的是当前轮询指针的最高优先级;portQ(i,j)=1表示portQ(i,j)非空。如下表1
表1
flowQ | 输入端口 | 输出端口 | 实时的队列状态 |
a1 | 1 | 4 | 非空 |
b1 | 2 | 2 | 空 |
c1 | 3 | 1 | 空 |
表1为本发明实施例一中,该时隙的预匹配结果和预留的流虚拟队列flowQ的队列状态的示意。
S1、请求阶段:
在实例一中,输入端口1没有在该时隙的前几次迭代的接受阶段接受输出端口且预留的流虚拟输出队列flowQ(a1)为非空。输入端口1向该流虚拟输出队列flowQ对应的输出端口4发送预留请求;
输入端口2没有在该时隙的前几次迭代的接受阶段接受输出端口且输入端口中预留的流虚拟输出队列flowQ(b1)为空。输入端口2向所有非空的端口虚拟输出队列portQ(2,1)和portQ(2,4)对应的输出端口1和4发送非预留请求。
输入端口3没有在该时隙的前几次迭代的接受阶段接受输出端口且输入端口中预留的流虚拟输出队列flowQ(c1)为空。输入端口3向所有非空的端口虚拟输出队列portQ(3,1)、portQ(3,2)和portQ(3,3)对应的输出端口1、2和4发送非预留请求。
输入端口4没有在该时隙的前几次迭代的接受阶段接受输出端口且没有预留的流虚拟输出队列flowQ输入端口4向所有非空的端口虚拟输出队列portQ(4,1)、portQ(4,3)和portQ(4,4)对应的输出端口1、3和4发送非预留请求。
S2、授权阶段:
在实例一中,输出端口1、2和3没有在该时隙的前几次迭代的接受阶段被输入端口所接受,且收到了来自一个或多个输入端口的非预留请求,则各自分别从轮询指针的最高优先级开始轮询,选择轮询到的第一个发送了非预留请求的输入端口。输出端口1、2和3分别授权被选择的输入端口2、3和3,并分别向相应的输入端口发送授权请求。
输出端口4没有在该时隙的前几次迭代的接受阶段被输入端口所接受,且收到来自输入端口1的预留请求,则直接授权该预留请求,然后发回授权请求;
S3、接受阶段:
在实施例一中,输入端口1中预留的流虚拟输出队列flowQ(a1)为非空,直接接受预留的流虚拟输出队列flowQ(a1)对应的输出端口4,并向输出端口4发送接受请求。
输入端口2和3没有非空的且预留的流虚拟输出队列flowQ,则分别从轮询指针的最高优先级开始轮询,选择轮询到的第一个发送了授权的输出端口1和2,并发送接受请求。同时,中心调度器将输入端口2和3的轮询指针的最高优先级更新为被接受的输出端口的下一个输出端口2和3。
输入端口4没有非空的且预留的流虚拟输出队列flowQ且没有收到授权请求,则不向任何的输出端口发送接受请求,不更新轮询指针的最高优先级。
由此一次迭代完成。
重匹配阶段历经多次迭代,中心调度器(206)根据重匹配阶段的结果进行交换机的交换结构配置。
在每个时隙中,中心调度器206确定每个端口对之间的最终匹配,并根据端口重新匹配阶段中的调度结果配置交换机的交换结构。
本发明采用的混合队列架构,输入队列交换机的每一个输入端口中采用单级的队列结构,建立两类虚拟输出队列,分别为端口虚拟输出队列和流虚拟输出队列。其中,端口虚拟输出队列能够在兼容现有Internet输入队列交换机的虚拟输出技术;流虚拟输出队列可以为新的确定性业务提供流粒度的QoS服务。同时,单级的混合队列架构,让数据分组在输入端口只需要经历一次进入队列和离开队列的过程,减少了数据分组在输入端口的时延。
本发明采用的混合调度方法,在端口预匹配阶段,根据预先获取到确定性业务的带宽资源预留信息,依次采用基于帧的矩阵拆解算法和基于通用处理器共享理论的流调度算法,可以为确定性业务预先预留资源;在端口重匹配阶段,采用迭代调度的方式,优先匹配非空的流虚拟输出队列,同时将所有未使用的预留资源和未预留的资源共享给所有的非确定性业务。
本发明具体实施仿真比较了本发明混合调度方法与现有的基于迭代的调度算法Priority iSlip算法和基于帧的调度算法Enhanced-Internet Switch在确定性业务最大时延和非确定性业务平均时延上的性能差异。
图4为实施例一中的确定性业务的最大时延的仿真结果示意图。图5为实施例一中的非确定性业务的平均时延的仿真结果示意图。
从图4可以看到,混合调度方式能够与基于帧的调度计算方法Enhanced-InternetSwitch一样,为确定性业务提供有界的最大时延的有保证的QoS服务。从图5可以看到,混合调度方式能够实现最低的非确定性业务的平均时延,使得资源的利用率最大化。
Claims (4)
1.一种用于输入队列交换机的混合队列架构的混合调度方法,其特征在于:方法采用输入队列交换机,输入队列交换机包括输入端口(205)和输出端口,输入端口(205)作为交换结构的输入,输出端口作为交换结构的输出,输入端口(205)和输出端口之间经交换结构进行数据分组的传输,输入端口(205)和交换结构均连接中心调度器(206),由中心调度器(206)对输入到输入端口的数据分组进行调度并对交换机的交换结构进行配置;输入队列交换机中,缓存位于各个输入端口,每一个输入端口中建立两类虚拟输出队列,分别为端口虚拟输出队列(portQ,PortVOQ)和流虚拟输出队列(flowQ,FlowVOQ),构成了混合队列架构;对于每一个输入端口,新到达输入端口的数据分组经过滤器(201)被分配至端口虚拟输出队列portQ(202)或流虚拟输出队列flowQ(203)中,由中心调度器(206)采用整合帧预留和基于时隙的混合调度方法进行调度;
所述的整合帧预留和基于时隙的混合调度方法,具体分为端口预匹配和端口重匹配两个阶段:
在端口预匹配阶段,中心调度器通过网络控制协议(例如rsvp协议)实时传输获取到确定性业务的带宽资源预留信息,中心调度器根据确定性业务的带宽资源预留信息,依次采用基于帧的矩阵拆解算法和基于通用处理器共享理论的流调度算法,预先获得当前一时间帧内每个时隙预留带宽资源的流虚拟输出队列flowQ(203)以及每个时隙下预留的流虚拟输出队列flowQ(203)对应的输入端口和输出端口组成的端口对匹配方式,作为预匹配结果;
在端口重匹配阶段,针对每一个时隙,中心调度器根据预匹配结果以及各个流虚拟输出队列flowQ(203)和端口虚拟输出队列portQ(202)的实时队列状态,保留当前时隙下预留带宽资源的且非空的流虚拟输出队列flowQ(203)所对应的预匹配结果,并采用基于时隙迭代的调度方式将所有预留带宽资源但未被使用的带宽资源或者未预留的带宽资源共享至所有的非空的端口虚拟输出队列portQ(202)。
2.根据权利要求1所述的一种用于输入队列交换机的混合队列架构的混合调度方法,其特征在于:每一个输入端口采用单级的队列结构,被划分为两个虚拟输出队列集合,分别包括:
端口虚拟输出队列集合,分为N个独立的端口虚拟输出队列portQ(202),每个端口虚拟输出队列portQ(202)存储当前输入端口到同一个输出端口的所有非确定性业务的数据分组;
流虚拟输出队列集合,分为M个独立的流虚拟输出队列flowQ(203),每个流虚拟输出队列flowQ(203)存储一条确定性业务流的数据分组。
3.根据权利要求1所述的一种用于输入队列交换机的混合队列架构的混合调度方法,其特征在于:所述的端口预匹配阶段中,只有当确定性业务的带宽资源预留信息或者交换机的总带宽资源发生变化时,才进入端口预匹配阶段;同时,中心调度器(206)不根据端口预匹配阶段的预匹配结果进行交换机的交换结构配置,而是将预匹配结果用于作为端口重匹配阶段的输入信息。
4.根据权利要求1所述的一种用于输入队列交换机的混合队列架构的混合调度方法,其特征在于:所述的端口重匹配阶段中,在每一个时隙均进入端口重匹配阶段,当前时隙开始时进行以下判断:
若该时隙下,预留带宽资源的流虚拟输出队列flowQ(203)非空,则将该流虚拟输出队列flowQ(203)对应的预匹配结果保留;
若该时隙下,预留带宽资源的流虚拟输出队列flowQ(203)为空且对应的预留结果作为预留但未被使用的带宽资源,或者存在未预留的带宽资源,则采用基于时隙迭代的调度方式,将上述预留但未被使用或者未预留的带宽资源共享至所有的非空的端口虚拟输出队列portQ(202)使用,即分配给所有的非空的端口虚拟输出队列portQ(202)使用;
具体如下:
在端口重匹配阶段中,中心调度器为每个输入端口和每个输出端口分别维护一个轮询指针,采用多次迭代的方式进行输入端口和输出端口之间的匹配,每次的迭代包括:
S1、请求阶段:
如果当前为第一次迭代,则进行以下处理:
如果当前时隙内,输入端口中预留的流虚拟输出队列flowQ(203)为非空,则向该流虚拟输出队列flowQ对应的输出端口发送预留请求;
如果当前时隙内,输入端口中预留的流虚拟输出队列flowQ(203)为空或者输入端口没有预留的流虚拟输出队列flowQ(203),则向所有非空的端口虚拟输出队列portQ(202)对应的输出端口发送非预留请求;
如果当前不为第一次迭代,则进行以下处理:
如果当前时隙内,输入端口已经在该时隙的前几次迭代的接受阶段接受了输出端口,则跳过请求阶段,不发送任何的预留请求或非预留请求;
如果当前时隙内,输入端口没有在该时隙的前几次迭代的接受阶段接个输出端口且输入端口中预留的流虚拟输出队列flowQ(203)为空或者输入端口没有预留的流虚拟输出队列flowQ(203),则向所有非空的端口虚拟输出队列portQ(202)对应的输出端口发送非预留请求;
S2、授权阶段:
如果当前为第一次迭代,则进行以下处理:
如果输出端口收到预留请求,则直接授权该预留请求,然后发回授权请求;
如果输出端口收到了来自一个或多个输入端口的非预留请求,则从轮询指针的最高优先级开始轮询,选择轮询到的第一个发送了非预留请求的输入端口,输出端口授权被选择的输入端口发过来的预留请求,向该输入端口发送授权请求;
如果当前不是第一次迭代,则进行以下处理:
如果输出端口已经在该时隙的前几次迭代的接受阶段被输入端口所接受,则跳过授权阶段,不发送任何的授权请求;
如果输出端口没有在该时隙的前几次迭代的接受阶段被输入端口所接受,且收到了来自一个或多个输入端口的非预留请求,则从轮询指针的最高优先级开始轮询,选择轮询到的第一个发送了非预留请求的输入端口,输出端口授权被选择的输入端口发过来的预留请求,向该输入端口发送授权请求;
S3、接受阶段:
如果当前时隙内,输入端口中预留的流虚拟输出队列flowQ(203)为非空,则直接接受向该流虚拟输出队列flowQ对应的输出端口,并向该输出端口发送接受请求;
如果当前时隙内,输入端口中预留的流虚拟输出队列flowQ(203)为空且收到了多个授权请求,则从轮询指针的最高优先级开始轮询,选择轮询到的第一个发送了授权请求的输出端口,输入端口接受该输出端口并向其发送接受请求,同时将轮询指针的最高优先级更新为被接受的输出端口的下一个端口;
由此一次迭代完成;
重匹配阶段历经多次同样的迭代,中心调度器(206)根据重匹配阶段的结果进行交换机的交换结构配置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910200066.8A CN110011934B (zh) | 2019-03-15 | 2019-03-15 | 一种用于输入队列交换机的混合队列架构的混合调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910200066.8A CN110011934B (zh) | 2019-03-15 | 2019-03-15 | 一种用于输入队列交换机的混合队列架构的混合调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110011934A CN110011934A (zh) | 2019-07-12 |
CN110011934B true CN110011934B (zh) | 2020-09-15 |
Family
ID=67167169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910200066.8A Expired - Fee Related CN110011934B (zh) | 2019-03-15 | 2019-03-15 | 一种用于输入队列交换机的混合队列架构的混合调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110011934B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110659974A (zh) * | 2019-09-29 | 2020-01-07 | 山东浪潮通软信息科技有限公司 | 一种基于队列原理实现预算并发控制的实现方法 |
CN113890860B (zh) * | 2021-11-18 | 2022-07-15 | 深圳大学 | 用于支持时延受限的数据交换的方法、设备及介质 |
CN115242728B (zh) * | 2022-06-27 | 2023-07-21 | 新华三技术有限公司 | 一种报文传输方法及装置 |
CN117614905B (zh) * | 2023-11-29 | 2024-06-04 | 无锡众星微系统技术有限公司 | 一种交叉开关调度方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257442A (zh) * | 2008-04-03 | 2008-09-03 | 中国人民解放军国防科学技术大学 | 基于时间压力的时间确定性数据交换方法及交换装置 |
CN101478483A (zh) * | 2009-01-08 | 2009-07-08 | 中国人民解放军信息工程大学 | 交换设备内实现分组调度的方法及交换设备 |
CN101771603A (zh) * | 2008-12-29 | 2010-07-07 | 华为技术有限公司 | 数据交换方法及设备 |
CN102640457A (zh) * | 2009-11-04 | 2012-08-15 | 新泽西理工学院 | 用于输入排队交换机的基于差分帧的调度 |
CN103825845A (zh) * | 2014-03-17 | 2014-05-28 | 北京航空航天大学 | 基于矩阵分解的可重配置voq结构交换机分组调度算法 |
CN104717160A (zh) * | 2013-12-17 | 2015-06-17 | 华为技术有限公司 | 交换机及调度算法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010045732A1 (en) * | 2008-10-20 | 2010-04-29 | Tadeusz Szymanski | Crossbar switch and recursive scheduling |
CN101924713B (zh) * | 2010-09-07 | 2012-05-23 | 北京航空航天大学 | 一种实时保证的交换式互连缓冲容量确定方法 |
CN102594663A (zh) * | 2012-02-01 | 2012-07-18 | 中兴通讯股份有限公司 | 队列调度方法及装置 |
CN105933064B (zh) * | 2016-07-05 | 2019-03-15 | 北京邮电大学 | 一种动态带宽分配方法及装置 |
-
2019
- 2019-03-15 CN CN201910200066.8A patent/CN110011934B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257442A (zh) * | 2008-04-03 | 2008-09-03 | 中国人民解放军国防科学技术大学 | 基于时间压力的时间确定性数据交换方法及交换装置 |
CN101771603A (zh) * | 2008-12-29 | 2010-07-07 | 华为技术有限公司 | 数据交换方法及设备 |
CN101478483A (zh) * | 2009-01-08 | 2009-07-08 | 中国人民解放军信息工程大学 | 交换设备内实现分组调度的方法及交换设备 |
CN102640457A (zh) * | 2009-11-04 | 2012-08-15 | 新泽西理工学院 | 用于输入排队交换机的基于差分帧的调度 |
CN104717160A (zh) * | 2013-12-17 | 2015-06-17 | 华为技术有限公司 | 交换机及调度算法 |
CN103825845A (zh) * | 2014-03-17 | 2014-05-28 | 北京航空航天大学 | 基于矩阵分解的可重配置voq结构交换机分组调度算法 |
Non-Patent Citations (2)
Title |
---|
交换机中优先级虚拟输出队列调度策略的研究与实现;高杰;《中国优秀硕士学问论文全文数据库》;20181130;全文 * |
输入队列交换机迭代调度算法研究设计;周倩;《中国优秀硕士学位论文全文数据库》;20170228;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110011934A (zh) | 2019-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110011934B (zh) | 一种用于输入队列交换机的混合队列架构的混合调度方法 | |
EP1010279B1 (en) | Policy based quality of service | |
US6862265B1 (en) | Weighted fair queuing approximation in a network switch using weighted round robin and token bucket filter | |
US7158528B2 (en) | Scheduler for a packet routing and switching system | |
US6993041B2 (en) | Packet transmitting apparatus | |
CN101621460B (zh) | 一种分组调度方法和装置 | |
Nong et al. | On the provision of quality-of-service guarantees for input queued switches | |
CN107483363B (zh) | 一种分层的加权轮询调度装置及方法 | |
Homg et al. | An adaptive approach to weighted fair queue with QoS enhanced on IP network | |
RU2643666C2 (ru) | Способ и устройство для управления авторизацией виртуальной очереди вывода, а также компьютерный носитель информации | |
WO2003017595A1 (en) | Arbitration scheduling with a penalty for a switching fabric | |
Ali et al. | Admission control-based multichannel data broadcasting for real-time multi-item queries | |
Kesselman et al. | Best effort and priority queuing policies for buffered crossbar switches | |
US7301943B2 (en) | QoS-oriented burstification method supporting various grades of burstification delay guarantee | |
US7756037B2 (en) | Oversubscription of guaranteed bandwidth | |
Pan et al. | Max-min fair bandwidth allocation algorithms for packet switches | |
US7602797B2 (en) | Method and apparatus for request/grant priority scheduling | |
CN111464461B (zh) | 用于交换机的优先级调度方法和装置 | |
WO2022035935A1 (en) | Multi-packet sliding window scheduler and method for input-queued switches | |
Huang et al. | A Deterministic Switch with Perfect Resource Utilization and Guaranteed QoS | |
Li et al. | Work-in-progress: A flattened priority framework for mixed-criticality real-time systems | |
Prasanth et al. | A study on buffered crossbar switch scheduling algorithms | |
Pan et al. | Research on model of five-level scheduling based on SDN | |
Cheocherngngarn et al. | Queue-Length Proportional and Max-Min Fair Bandwidth Allocation for Best Effort Flows | |
Zhu et al. | A new scheduling scheme for resilient packet ring networks with single transit buffer |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200915 |
|
CF01 | Termination of patent right due to non-payment of annual fee |