一种基于令牌调度的拥塞控制方法及装置转让专利
申请号 : CN202110707046.7
文献号 : CN113543209B
文献日 : 2022-05-06
发明人 : 张娇 , 石佳明 , 高煜轩 , 潘恬 , 黄韬
申请人 : 北京邮电大学
摘要 :
权利要求 :
1.一种基于令牌调度的拥塞控制方法,其特征在于,用于同时在多个数据接收端运行,在每一个数据接收端,所述方法包括:在每一个往返时间内,接收至少一个数据发送端发送的一个或多个连接请求包,各连接请求包包括相应新增流的待传输流量,根据所述待传输流量确定各新增流的优先级,所述待传输流量越小则相应新增流的优先级越高;
获取所述数据接收端维护的传输数据表和等待传输数据表中所有现有流的剩余流量,并根据各现有流的剩余流量确定各现有流的优先级,所述剩余流量越小则相应现有流的优先级越高;
将各新增流和各现有流按照优先级放置到相应优先级的传输数据优先级队列中,并按照所述待传输流量和所述剩余流量从小到大的顺序排列;
将每个传输数据优先级队列中的前第一数量个新增流或现有流保留并记载在所述传输数据表中,将其余的新增流或现有流记载在所述等待传输数据 表中;
获取每个传输数据优先级队列中各新增流的待传输流量和各现有流的剩余流量分布关系,在设定发送速率区间内按照相同的分布关系配置各新增流和现有流的令牌包发送速率,并对所述传输数据表中的各新增流和现有流生成令牌包;
依次将所述传输数据表中的各新增流和现有流对应的令牌包按照相应的令牌包发送速率发送至所述数据发送端,以发起数据传输。
2.根据权利要求1所述的基于令牌调度的拥塞控制方法,其特征在于,根据所述待传输流量确定各新增流的优先级,包括:在设定标准时段内接收多个标准连接请求包,并记录各标准连接请求包内标准流的流量;
将各标准流按照流量从小到大的顺序排列,并划分出第二设定数量个流量区间,每个流量区间对应一个优先级,所述标准流的流量越小优先级越高,每个流量区间内包含所述标准流的数量相同;
获取各新增流的待传输流量所属的流量区间,将相应流量区间的优先级作为对应新增流的优先级。
3.根据权利要求2所述的基于令牌调度的拥塞控制方法,其特征在于,获取所述数据接收端维护的传输数据表和等待传输数据表中所有现有流的剩余流量,并根据各现有流的剩余流量确定各现有流的优先级,包括:获取各现有流的剩余流量所属的流量区间,将相应流量区间的优先级作为对应现有流的优先级。
4.根据权利要求2所述的基于令牌调度的拥塞控制方法,其特征在于,根据所述待传输流量确定各新增流的优先级,还包括:在所述数据接收端的上一个工作周期内选取多个备选时间段,所述工作周期为1天或1周;
将所述备选时间段中的多个合并为所述设定标准时段。
5.根据权利要求4所述的基于令牌调度的拥塞控制方法,其特征在于,根据所述待传输流量确定各新增流的优先级,还包括:获取当前时间点,将所述工作周期中与当前时间点最接近的备选时间段作为所述设定标准时段。
6.根据权利要求1所述的基于令牌调度的拥塞控制方法,其特征在于,获取每个传输数据优先级队列中各新增流的待传输流量和各现有流的剩余流量分布关系,在设定发送速率区间内按照相同的分布关系配置各新增流和现有流的令牌包发送速率中,第i个传输数据优先级队列中流fi的令牌包发送速率 计算式为:其中,c为令牌发送速率的下限值, 为令牌发送速率的上限值,α>1;ti为第i个传输数据优先级队列对应的流量区间的上界,ti‑1为第i个传输数据优先级队列对应的流量区间的下界;δ为流fi的剩余流量。
7.根据权利要求1所述的基于令牌调度的拥塞控制方法,其特征在于,在瓶颈交换机限制令牌包发送总速率的条件下,各数据接收端通过对令牌包添加随机发送间隔以控制不同数据接收端之间令牌包发送速率的比值一定。
8.根据权利要求1所述的基于令牌调度的拥塞控制方法,其特征在于,发起数据传输之后,所述传输数据表中每个传输数据优先级队列在同一时刻仅有一个正在传输的流。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至8任一项所述方法的步骤。
说明书 :
一种基于令牌调度的拥塞控制方法及装置
技术领域
背景技术
络中,本领域技术人员从不同的角度进行降低流量延迟的尝试。
列管理技术,如ECN机制,降低了队列时延,从而使流完成时间变得比传统TCP协议的流完成
时间小。部分传输控制协议在减少排队时延的同时扔保持公平分配各流的带宽,因此,由于
与其他长流的带宽争用,短流的时延仍然偏高。为了进一步降低流完成时间,实现最优的平
均或尾部流完成时间,一些传输协议为流分配优先级,并尝试使用一些调度策略,如最短任
务优先(Shortest Job First,SJF),最少达到服务(Least Attained Service,LAS)或最短
剩余时间优先(Shortest Remaining Time First,SRTF)。
现有的一些旨在近似SRTF的传输控制协议需要一个集中式控制器来控制所有流量的发送
速率和传输顺序,这会极大的限制网络规模。至于分布式传输控制协议,要么不能在现有的
数据中心工作,要么只能实现局部最优的SRTF,如果数据中心的带宽超额认购率大于1:1,
则不能很好地工作。
发明内容
难以在现有数据中心部署的问题。
级,所述待传输流量的越小则相应新增流的优先级越高;
流的优先级越高;
送速率,并对所述传输数据表中的各新增流和现有流生成令牌包;
所述标准流的数量相同;
有流的令牌包发送速率中,第i个传输数据优先级队列中流fi的令牌包发送速率 计算式
为:
间的下界;δ为流fi的剩余流量。
优先级内将新增流和现有流按照剩余字节从小到大的顺序排列;对于每个优先级内较短的
一定数量的流,按照流量分布关系在设定发送速率区间内确定令牌包发送速率,并依次发
送至相应的数据发送端,以实现全局调度上的最短剩余时间优先,极大降低了短流时延。
知。本发明的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的
结构实现到并获得。
附图说明
具体实施方式
不作为对本发明的限定。
的其他细节。
制协议要么不能近似实现全局SRTF调度,要么难以在当前数据中心部署。
管理算法,近似于最佳的SRTF调度。然而,它需要特殊的交换机,无法部署在当今的数据中
心。Homa克服了pFabric的缺点,在接收端上将短流优先传输,并且在交换机上只需要有限
的优先级队列。然而,每个终端只能获得整个网络的部分流信息,只能实现本地最优的SRTF
调度。此外,它需要数据包粒度的负载均衡,在带宽非超额认购的数据中心网络中效果良
好。如果数据中心的带宽超额认购率大于1:1,则不能很好地工作。
配和基于流量长度的速率控制算法在接收端上结合起来,以实现流量的无限优先级调度。
更具体地说,根据流量大小分布为每条流分配一个优先级。然后将该流的令牌包发送速率
设置为与剩余流量大小成反比。这样,即使有几个流处于同一个优先级队列中,也可以为较
短的流发送更多的令牌包。因此,剩余流量较短的流可以获得更多的带宽。
的流进行调度。
骤S101~S106是在一个往返时间(RTT)内完成,并在每个往返时间内重复进行的。
优先级,待传输流量的越小则相应新增流的优先级越高。
流的优先级越高。
令牌包发送速率,并对所述传输数据表中的各新增流和现有流生成令牌包。
小信息。数据发送端在发出连接请求包后,处于等待状态,只有收到数据接收端发送的令牌
包时才会进入正常传输状态。
越短的流分配越高的令牌包发送速率,使相应的流能够更快响应,更接近最短剩余时间优
先。
包含所述标准流的数量相同。
间,并确定各流量区间的上界和下界,其中流越短的优先级越高。如图2所示,在设定标准时
间内,接收端设备共接收到A1~A15共15个标准连接请求包对应的流,各流的长度不同。按
照从小到大的顺序排列后如3图,根据其分布情况,划分为3个流量区间,每个流量区间包含
5个流,区间1的上界为t2、下界为t1,区间2的上界为t3、下界为t2,区间3的上界为t4、下界
为t3。其中,区间1的优先级最高,区间3的优先级最低。根据新增流对应的待传输流量将其
归属到相应的区间内,并将相应区间的优先级作为该新增流的优先级。
分流量区间,并获得与实际条件相匹配的优先级确定标准,具体的,可以在数据接收端的上
一个工作周期内选取多个备选时间段,工作周期可以为1天或1周,也可以根据实际应用需
求确定工作周期,例如可以将执行特定任务的时间作为一个周期;进一步的,将备选时间段
中的多个合并为设定标准时段,以更全面地反映数据接收端在工作过程中所接受到流的流
量分布情况。
作为设定标准时段。例如,在数据接受端工作的上一天的工作周期内,采集每一个整点时刻
附近2分钟的时段作为备选时间段,若当前时刻为14:20,则可以采用上一天工作周期内14:
00处的备选时间段作为设定标准时段,以获得更加匹配的流量分布情况,使为确定优先级
所划分的流量区间更加匹配当前的工作状态。
13:58至14:00作为设定标准时段,根据该时间段内数据接收端实际接收到的连接请求包对
应的待接收流量,划分流量区间以确定优先级。
先级。
级,包括步骤S301:获取各现有流的剩余流量所属的流量区间,将相应流量区间的优先级作
为对应现有流的优先级。
余流量是现有流的剩余字节。这样,在各优先级队列中的各新增流和现有流进一步的形成
了优先级从高到低的顺序。
据优先级队列中流的数量。设置每个传输数据优先级队列中流数量最多为第一数量,该第
一数量可以根据设备和数据中心网络的负载能力确定,负载能力越大,则第一数量的值大。
当某一个传输数据优先级队列中的流的数量高于第一数量时,则将其中流较长的一个或多
个转移至等待传输表中。对转移至等待传输表中的流,则在当前RTT内不参与传输,也不参
与令牌包传输速率的计算。
每一个数据优先级队列中最多只有4个流,当某个优先级对应流的数量多于4个时,则将较
长的流转移至等待传输数据表T2中,以保证传输数据表T1内每个优先级的流保持在4个以
内。后续步骤中,仅以传输数据表T1内每个传输数据优先级队列中记载的流作为参考进行
速率分配,使得同一优先级内不同长度流的令牌包发送速率存在较为显著的差异。
列中的流量,以接近全局SRTF。具体的,在本实施例步骤S105中,在确定同一优先级的各流
的令牌包发送速率的时候,令牌包发送速率应该有一个合适的下限和上限。如果没有一个
合适的下限,当所有的流都相当大时,则会被分配到最低的令牌包发送速率,那么,瓶颈链
路的带宽利用率就会不足。如果没有一个合理的上界,当所有的流都相当小时,则被分配了
最高的令牌包发送速率,那么每个接收端和其连接的ToR交换机之间的很多带宽将被令牌
包占用,造成大量的带宽浪费。如图5所示,本实施例按照同一优先级中各流的剩余字节分
布关系,在一个设定发送速率区间内按照该分部关系配置各新增流和现有流的令牌包发送
速率。
间的下界;δ为流fi的剩余流量。
数据发送端进入连接等待状态。然后,数据发送端根据收到的数据包类型进入不同的阶段。
如果数据发送端收到等待数据包,则进入传输等待状态。如果收到令牌包,则进入正常传输
状态。每次收到令牌包,都会发送相应的数据包,直到流传输结束。处于等待状态的流在收
到令牌包后,将转入正常传输状态。在整个传输过程中,数据发送端不需要进行其他计算操
作,只需要在数据接收端的驱动下发送数据包。
护当前正在传输的流的信息,即传输数据表。其中,每个优先级只有一个当前正在传输的
流。另一个表T2维护等待传输的流的信息,即等待传输表。当数据接收端接收到一个新流的
连接请求包时,首先根据连接请求包中携带的流长确定该流的优先级值P。流量优先级确定
后,数据接收端将检查表T1中优先级为P的流数是否超过设定数量。如果超过,那么表T1中
优先级为P的剩余字节数最大的流将被移到表T2。最后,调度器计算表T1中所有流的对应令
牌包发送速率。在每一个RTT中,接收端更新表T1、T2中的流剩余字节和优先级,将每个优先
级中的流数保持在阈值内,并根据速率控制机制重新计算令牌发送速率。
据传输优先级的序数,ti代表不同数据传输优先级队列对应流量范围的上界,F(·)为流量
分布函数,F(ti)表示流量小于ti的流的占比,则存在如下计算式:
级,也即不同数据接收端内各优先级对应的流量区间应该是一致的。
性能更接近于PS而不是SRTF。为了接近全局SRTF,一个直观的方法是为剩余字节较小的流
发送更多的令牌包。因此,这些流可以比其他具有相同优先级值的流发送更多的数据包。为
了达到这个效果,速率控制方法应遵循一些基本原则。首先,所有数据接收端主机应采用相
同的优先级确定方法。否则,可能在数据接收端主机R1处,剩余字节较大的流被分配一个较
高的优先级值,而在数据接收端主机R2处,流量剩余字节较小的流会被分配一个较低的优
先级值。因此,根据SRTF策略,带宽不能共享。其次,令牌包发送速率应该有一个合适的下限
和上限。如果没有一个合适的下限,当所有的流都相当大时,则会被分配到最低的令牌包发
送速率,那么,瓶颈链路的带宽利用率就会不足。如果没有一个合理的上界,当所有的流都
相当小时,则被分配了最高的令牌包发送速率,那么每个接收端和其连接的ToR交换机之间
的很多带宽将被令牌包占用,造成大量的带宽浪费。因此,根据流量剩余字节设置适当的令
牌发送速率,可以近似地实现SRTF,从而降低流完成时间。
间的下界;δ为流fi的剩余流量。
中,令牌包的最小长度等于(64+8)字节的前导码再加上12字节的以太网帧间隙之和,即84
字节。由于最大的以太网帧是1538字节,所以每个交换机应将令牌包的总体速率限制为
其中L代表链路容量,以保证链路的高利用率以及接近零的排队时延。实际操
作过程中,可以利用当前交换机支持的队列控制机制,将令牌包的总数限制在一个阈值内。
颈交换机发送令牌包,那么交换机应该丢弃每条流相同比例的令牌包。具体来说,第一个流
的令牌包发送速率应降低到 第二条流的令牌包发送速率应降低到 这样,仍然
可以保证两条流的令牌包的比值与之前相同。这可以通过接收端的添加随机数据包发送间
隔以及配合交换机的流量整形来实现。通过这两种方法,可以避免一条流的若干令牌包在
短时间内连续到达交换机的同一端口,进而占用全部带宽。另外,本实施例中交换机需要采
用对称哈希来保证路由的对称性,即一条流的正向路径和反向路径是相同的。
级,并在每个优先级内将新增流和现有流按照剩余字节从小到大的顺序排列;对于每个优
先级内较短的一定数量的流,按照流量分布关系在设定发送速率区间内确定令牌包发送速
率,并依次发送至相应的数据发送端,以实现全局调度上的最短剩余时间优先,极大降低了
短流时延。
是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每
个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的
范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插
件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代
码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传
输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。
机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软
盘、CD‑ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联
网等的计算机网络被下载。
提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
实施方式的特征。
任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。