一种基于定时器和mdrr的队列调度方法

文档序号:7764305阅读:719来源:国知局
专利名称:一种基于定时器和mdrr的队列调度方法
专利说明本发明是一种基于定时器和MDRR的队列调度方法的框架。主要用于解决队列调 度中对实时业务带宽不能保证及权值不能动态适应网络的变化的问题,同时对高优先级 业务进行了时延保障,但又考虑了常规业务的服务质量。
背景技术
对于具有不同网络服务要求的语音、视频和数据应用通信而言,要求IP网络核心 具有区分出不同的通信的能力,进而为之提供不同的服务,达到区分服务的目的。根据不同 的业务实施不同的调度,就能实现对业务的区分。目前在高速路由器中常见的带权重的调 度算法是 WRR (Weighted Round Robin)。常见的基于轮循的算法有RR,WRR和DRR。传统的RR只是简单地对所有队列进行 轮循调度,一次调度发送一个分组,使得不同队列在某种程度上“平等”地使用带宽资源。然 而由于分组长度不固定,使得长分组队列可能比短分组队列得到更多的服务,获得更高的 带宽,因而其公平性受到很大限制,而且不能提供时延保证。所以出现了许多改进算法,常 见的有WRR禾口 DRR。WRR给队列赋予不同的权值,可以比RR更灵活地控制带宽在不同队列的分配,而 且能以比较平滑的方式调度输出业务,但仍然存在由于分组变长带来的不公平性。DRR由 于考虑了分组变长这一信息,很好地解决了带宽分配的公平性问题;缺陷是不能很好地满 足业务的时延特性,不能像WRR那样以较为平滑的方式调度输出。

发明内容
技术问题本发明的目的是改进区分服务框架中的时延敏感型业务的队列时延, 通过对该类业务进行优先处理,减少其在调度中的等待时间,同时为该队列设置一个动态 定时器time,当动态定时器为0后,服务常规队列,保证了公平性,常规队列能够实现根据 网络状况自适应配置其权值,保证公平性的同时对突发流量有很好的控制。技术方案一种基于定时器和MDRR的队列调度方法,其特征在于该方法的步骤 为
步骤l)Time定时器是为类1等时延敏感型业务而设置的,主要保障该队列的时延;类 2至类η为常规队列,实时测量队列长度并根据业务量来修改队列权值,确保业务量大的队 列MDRR调度权值稍微加大;
步骤2)调度开始时,初始化Time定时器时间,此时开始服务该队列; 步骤3)初始化常规队列预设权值数组W2,W3……,Wn,所述业务权值在1,10范围类, 当Time时间到后,根据加权轮询调度算法对其余队列轮询;
步骤4)经过一定时间Dt,测试类2至类η队列的实时长度length_q[i],并对length_ q[i]/ffi在-0. 5,0. 5之间进行归一化处理后得结果DWi,Wi= WiiDWi更新权值数组,其中 i=2、3、".η ;步骤5)根据步骤4)得到的常规队列i的权值Wi,设置每个队列每次权数为MTU + weight*512 ;
步骤6)每个队列都有一个赤字计数器,用于每次调度时该队列所能发送的数据包总 和的最大值,初始化为l/2*MTU*weight ;
步骤7)当调度到该队列i时,权数加到赤字计数器上,如果队列首部的数据包小于该 赤字计数器,就发送该数据包,赤字计数器同时减去数据包大小,如果赤字计数器小于0,那 么轮询到下一个队列;
步骤8)如果有高优先级业务达到,则服务完当前队列后轮询到高优先级队列; 步骤9)为高优先队列设置一个速率测量器,实时测试高优先队列速率rate,time表 示该队列实时应该得到服务的时间,动态定时器为time=k*l0g2rate,K为一固定常数;
步骤10)服务高优先级队列时,启动一个计时器,当为0发送完该数据包后,跳转到常 规队列的下一个非空队列有益效果通过基于区分服务的基于区分服务的队列自适应调度的方法,我们能 够实现
1)运用该调度算法,优先级队列不为空时,能够根据业务速率动态设置其服务时间, 减少时延敏感型业务的时延,同时能够为常规队列提供公平性;
2)常规队列之间实现动态权值分配并映射成调度所需的字节,各队列能够公平分享 带宽,能够提高路由器的整体调度性能。


图1基于区分服务的队列调度的方法的架构图; 图2加权轮询调度算法权值的动态调节流程图3动态定时器设置流程图。
具体实施例方式下面结合附图对发明的技术方案进行详细说明
本发明提出了一种基于定时器和MDRR的队列调度方法的框架,并详细设计了高优先 级队列的动态定时器和队列权值自适应分配算法,如图2和图3所示。从图中可以看出,主 要分为三个部分Time定时器,实时权值更新和修改的加权轮询(MDRR)调度算法组成。Time 定时器
功能为高优先队列设置一个速率测量器,实时测试其速率rate,设time表示该队列 实时应该得到服务的时间,动态定时器公式为time=k*l0g2rate,K为一固定常数,这样,高 优先
级队列服务的时间就取决于其速率,但随着速率增长,服务时间不是线性增加,这样保 证了常规队列的公平性,当time为0后,发送完当前数据包后,跳转到刚才服务的常规队列 的下一个非空队列。实时权值更新
功能根据初始设定的业务带宽,公平分配带宽,同时根据队列动态变化的队列长 度,修改队列权值,使业务量大的队列权值稍微加大,缓和其丢包率,并解决队列流量突发问题。a)初始化常规 队列预设权值数组W2,W3……,Wn,约定此处的各业务权值在1, 10范围类,当Time时间到后,根据加权轮询调度算法对其余队列轮询;
b)经过一定时间Dt,测试类2至类η队列的实时长度length_q[i],并将length_q[i]/ Wi,并对其在-0. 5,0. 5之间进行归一化处理后得结果DWi,Wi= WiiDWi更新权值数组;
c)根据上步骤得到的常规队列i的权值Wi,需要转换为调度所需要的比特数,一般而 言,一个队列的权数大小一定不会小于该接口的MTU值。这保证了调度总是服务每个非 空队列中至少一个包,因此,我们设置每个队列每次权数为MTU + weight*512(小数点被忽 略);
MDRR算法
功能根据上述更新的权值,每次调度该队列的时候就查询权值,并发送相应大小的 数据。a)每个队列都有一个赤字计数器,用于每次调度时该队列所能发送的数据包总 和的最大值,初始化为l/2*MTU*weight;
b)当调度到该队列i时,权数加到赤字计数器上,如果队列首部的数据包小于该计数 器,就发送该数据包,同时减去其大小,如果赤字计数器小于0,那么轮询到下一个队列;
c)如果有高优先级业务达到,则服务完当前队列后轮询到高优先级队列;
e)服务高优先级队列时,启动一个计时器time,当time为0后,发送完该数据包后,跳 转到刚才服务的常规队列的下一个非空队列。从以上的描述中可以看出,本发明实现了对保障高优先级业务带宽的同时,公平 的进行带宽自适应分配。以上所述仅为本发明的优选实例而已,本发明的应用不限制于此例。对于本领域 的技术人员来说,本发明可以有各种更改和变化,凡在本发明的精神和原则之类,所作的任 何修改,等同替换,改进等,均应包含在本发明的保护范围之类。
权利要求
一种基于定时器和MDRR的队列调度方法,其特征在于该方法的步骤为步骤1)Time定时器是为类1等时延敏感型业务而设置的,主要保障该队列的时延;类2至类n为常规队列,实时测量队列长度并实时测量队列长度并根据业务量来修改队列权值,确保业务量大的队列MDRR调度权值稍微加大; 步骤2)调度开始时,初始化Time定时器时间,此时开始服务该队列;步骤3)初始化常规队列预设权值数组W2,W3……,Wn,所述业务权值在1,10范围类,当Time时间到后,根据加权轮询调度算法对其余队列轮询;步骤4)经过一定时间Dt,测试类2至类n队列的实时长度length_q[i],并对length_q[i]/Wi在 0.5,0.5之间进行归一化处理后得结果DWi,Wi= Wi+DWi更新权值数组,其中i=2、3、…n;步骤5) 根据步骤4)得到的常规队列i的权值Wi,设置每个队列每次权数为MTU + weight*512;步骤6) 每个队列都有一个赤字计数器,用于每次调度时该队列所能发送的数据包总和的最大值,初始化为1/2*MTU*weight;步骤7) 当调度到该队列i时,权数加到赤字计数器上,如果队列首部的数据包小于该赤字计数器,就发送该数据包,赤字计数器同时减去数据包大小,如果赤字计数器小于0,那么轮询到下一个队列;步骤8) 如果有高优先级业务达到,则服务完当前队列后轮询到高优先级队列;步骤9) 为高优先队列设置一个速率测量器,实时测试高优先队列速率rate,time表示该队列实时应该得到服务的时间,动态定时器为time=k*log2rate,K为一固定常数; 步骤10)服务高优先级队列时,启动一个计时器,当为0发送完该数据包后,跳转到常规队列的下一个非空队列。
全文摘要
本发明公布了一种基于定时器和MDRR的队列调度方法,该方法是基于区分服务模型的,主要由Time定时器、实时权值更新、修改的加权轮询(MDRR)调度算法三部分组成。Time定时器主要用来控制高优先级队列的调度,既保证其获得高的服务质量,又保证了网络中的公平性;根据队列中数据流的实时情况,动态地改变MDRR调度算法中的权值参数,通过在业务量过大时适度的增大权值从而保证对其余队列影响降至最低。本发明实现了支持队列数目可配置、速率可调节的调度,具有良好的可扩展性,操作简单。
文档编号H04L12/56GK101969409SQ20101053299
公开日2011年2月9日 申请日期2010年11月5日 优先权日2010年11月5日
发明者周井泉, 周宇航, 宁向延, 张顺颐, 谈玲 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1