降低WRR调度周期抖动的方法及系统技术方案

技术编号:14698645 阅读:56 留言:0更新日期:2017-02-24 09:39
本发明专利技术提供一种降低WRR调度周期抖动的方法及系统,所述方法包括:依据WRR通道数增加优先调度状态寄存器,以及优先调度指针;优先调度状态寄存器具有N个具有相同宽度的独立存储区,每个独立存储区对应唯一的WRR通道,用于存储对应的WRR通道的优先调度标识;实时获取调度参数,调度参数包括:优先调度状态寄存器的各个独立存储区对应的优先调度标识,当前调度指针指向的WRR通道,调度请求指向的WRR通道,以及各个WRR通道对应的权重值;根据调度参数判断对哪一个WRR通道执行调度请求,并调整调度参数。本发明专利技术通过增加优先调度寄存器来减少WRR同一通道的最大调度间隔,进而减小了调度周期抖动,使WRR调度出来的数据更加均匀,增加了WRR的调度性能。

【技术实现步骤摘要】

本专利技术涉及网络通信领域,尤其涉及一种降低WRR调度周期抖动的方法及系统
技术介绍
加权循环调度算法WRR(WeightedRoundRobin),加权循环所有业务通道服务,并且将优先权分配给较高优先级通道;在大多数情况下,相对低优先级,WRR将首先处理高优先级,但是当高优先级业务很多时,较低优先级的业务并没有被完全阻塞;对于所有的业务流在排队等待调度的通道,WRR是根据每个通道配置的权重值与所有的业务流在排队等待调度的通道的权重值总和的比来平等地分配带宽;因此,在处理多个用户的高优先等级的业务时,WRR确保每个用户都不会过度地占用网络带宽;WRR通道调度将每个端口分为多个输出通道,通道之间轮流调度,保证每个通道都得到一定的服务时间,WRR可为每个通道配置一个权重值表示获取资源的比重;例如:一个100M的端口,配置它的3个WRR通道的权重值依次为50、30、20,这样可以保证最低优先级通道至少获得20Mbit/s带宽,避免了采用PQ调度时低优先级通道中的报文可能长时间得不到服务的缺点;WRR通道还有一个优点是,虽然多个通道的调度是轮循进行的,但对每个通道不是固定地分配服务时间片,如果某个通道的权重值为零,或者没有调度请求时,那么马上换到下一个通道调度,这样带宽资源可以得到充分的利用。然而,该种调度方式也存在下述问题,当轮到某个通道的时候,由于这个通道没有请求而被跳过,如果当调度器选到下个通道的时候,上述被跳过的通道正好又出现了请求,由于调度指针不能回退,该通道不能得到及时调度;只有等到调度器依次调度完其他通道,完成一轮循环之后,该通道才能再次得到调度,如此,该通道两次被调度的时间间隔就会被拉长。如图1所示:当3个通道都有请求,那么调度指针在每个时刻都会加1,并调度出去一个,当到了时刻3的时候,因为通道0暂时还没有请求,请求要在下个时刻才有效,因此调度指针移动到了下一个准备好的通道,即通道1上,在时刻4下将通道1里面的数据调度出来,而把通道0跳了过去;而在时刻4下,调度指针又继续跳到准备好的通道2上,调度通道2中的数据,从而导致通道0的下一次调度需要在整个一轮调度之后才能被响应;由时刻5得到的最后调度序列可以看到,两次通道0的调度间隔较大;而当调度的通道越多,间隔也就越大;对于一些通讯类芯片,同一个报文不同数据之间的调度间隔的增大往往会导致该报文在网络端口物理层传输时被拉断,解决的办法之一是增加memory来缓存足够多的报文数据后才开始发送报文,而这样的结果就是芯片面积会增加,报文传输延时增大。
技术实现思路
本专利技术的目的在于提供一种降低WRR调度周期抖动的方法及系统。为实现上述目的之一,本专利技术一实施方式的降低WRR调度周期抖动的方法,所述方法包括:依据WRR通道数增加优先调度状态寄存器,以及优先调度指针;所述优先调度状态寄存器具有N个具有相同宽度的独立存储区,每个独立存储区对应唯一的WRR通道,用于存储对应的所述WRR通道的优先调度标识;实时获取调度参数,所述调度参数包括:所述优先调度状态寄存器的各个独立存储区对应的优先调度标识,当前调度指针指向的WRR通道,调度请求指向的WRR通道,以及各个WRR通道对应的权重值;根据所述调度参数判断对哪一个WRR通道执行调度请求,并调整所述调度参数。作为本专利技术一实施方式的进一步改进,“根据所述调度参数判断对哪一个WRR通道执行调度请求,并调整所述调度参数”具体包括:若所述优先调度状态寄存器中所有独立存储区对应的优先调度标识均为非使能,或所述优先调度状态寄存器中至少其中一个独立存储区对应的优先调度标识为使能,同时,优先调度标识为使能的独立存储区所对应的WRR通道中未接收到调度请求;则判断调度指针指向的当前WRR通道是否存在调度请求,同时当前WRR通道的权重值是否不为零;若当前WRR通道存在调度请求,同时对应的权重值不为零,则调度当前WRR通道中的数据,同时,将当前WRR通道的权重值减1,其对应的优先调度标识调整为非使能,将所述调度指针指向地址调整到下一个WRR通道上;若当前WRR通道不存在调度请求,同时对应的权重值不为零,则将当前WRR通道对应的优先调度标识调整为使能,同时对应的权重值减1,将所述调度指针指向地址调整到下一个WRR通道上。作为本专利技术一实施方式的进一步改进,所述方法还包括:若所述优先调度状态寄存器中至少其中一个独立存储区对应的优先调度标识为使能,则判断所述优先调度标识为使能的独立存储区所对应的WRR通道是否存在所述调度请求;若是,优先调度所述优先调度标识为使能的独立存储区所对应的WRR通道中的数据,同时,将当前的优先调度标识调整为非使能,保持当前的调度指针位置不变。作为本专利技术一实施方式的进一步改进,“根据所述调度参数判断对哪一个WRR通道执行调度请求,并调整所述调度参数”具体包括:若所述优先调度状态寄存器中所有独立存储区对应的优先调度标识均为非使能,或所述优先调度状态寄存器中至少其中一个独立存储区对应的优先调度标识为使能,同时,优先调度标识为使能的独立存储区所对应的WRR通道中未接收到调度请求;则判断调度指针指向的当前WRR通道是否存在调度请求,同时当前WRR通道的权重值是否不为零;若当前WRR通道存在调度请求,同时对应的权重值不为零,则调度当前WRR通道中的数据,同时,将当前WRR通道的权重值减1,其对应的优先调度标识调整为非使能,将所述调度指针指向地址调整到下一个WRR通道上;若当前WRR通道不存在调度请求,同时对应的权重值不为零,则将当前WRR通道对应的优先调度标识调整为使能,将所述调度指针指向地址调整到下一个WRR通道上。作为本专利技术一实施方式的进一步改进,若所述优先调度状态寄存器中至少其中一个独立存储区对应的优先调度标识为使能,则判断所述优先调度标识为使能的独立存储区所对应的WRR通道是否存在所述调度请求;若是,优先调度所述优先调度标识为使能的独立存储区所对应的WRR通道中的数据,同时,将当前的优先调度标识调整为非使能,将对应的WRR通道的权重值减1,保持当前的调度指针位置不变。作为本专利技术一实施方式的进一步改进,所述方法还包括:若每个WRR通道均不满足调度条件,所述调度条件为:WRR通道对应的权重值不为零,同时,存在调度请求;则将所有WRR通道对应的权重值均恢复为预设值,同时,将调度指针指向地址调整到距当前WRR通道距离最近、且满足调度条件的WRR通道上。为实现上述目的之一,本专利技术一实施方式的降低WRR调度周期抖动的系统,所述系统包括:配置模块,用于依据WRR通道数增加优先调度状态寄存器,以及优先调度指针;所述优先调度状态寄存器具有N个具有相同宽度的独立存储区,每个独立存储区对应唯一的WRR通道,用于存储对应的所述WRR通道的优先调度标识;数据获取模块,用于实时获取调度参数,所述调度参数包括:所述优先调度状态寄存器的各个独立存储区对应的优先调度标识,当前调度指针指向的WRR通道,调度请求指向的WRR通道,以及各个WRR通道对应的权重值;数据处理模块,用于根据所述调度参数判断对哪一个WRR通道执行调度请求,并调整所述调度参数。作为本专利技术一实施方式的进一步改进,所述数据处理模块具体用于:若所述优先调度状态寄存器中所有独立存储区对应的优本文档来自技高网
...
降低WRR调度周期抖动的方法及系统

【技术保护点】
一种降低WRR调度周期抖动的方法,其特征在于,所述方法包括:依据WRR通道数增加优先调度状态寄存器,以及优先调度指针;所述优先调度状态寄存器具有N个具有相同宽度的独立存储区,每个独立存储区对应唯一的WRR通道,用于存储对应的所述WRR通道的优先调度标识;实时获取调度参数,所述调度参数包括:所述优先调度状态寄存器的各个独立存储区对应的优先调度标识,当前调度指针指向的WRR通道,调度请求指向的WRR通道,以及各个WRR通道对应的权重值;根据所述调度参数判断对哪一个WRR通道执行调度请求,并调整所述调度参数。

【技术特征摘要】
1.一种降低WRR调度周期抖动的方法,其特征在于,所述方法包括:依据WRR通道数增加优先调度状态寄存器,以及优先调度指针;所述优先调度状态寄存器具有N个具有相同宽度的独立存储区,每个独立存储区对应唯一的WRR通道,用于存储对应的所述WRR通道的优先调度标识;实时获取调度参数,所述调度参数包括:所述优先调度状态寄存器的各个独立存储区对应的优先调度标识,当前调度指针指向的WRR通道,调度请求指向的WRR通道,以及各个WRR通道对应的权重值;根据所述调度参数判断对哪一个WRR通道执行调度请求,并调整所述调度参数。2.根据权利要求1所述的降低WRR调度周期抖动的方法,其特征在于,“根据所述调度参数判断对哪一个WRR通道执行调度请求,并调整所述调度参数”具体包括:若所述优先调度状态寄存器中所有独立存储区对应的优先调度标识均为非使能,或所述优先调度状态寄存器中至少其中一个独立存储区对应的优先调度标识为使能,同时,优先调度标识为使能的独立存储区所对应的WRR通道中未接收到调度请求;则判断调度指针指向的当前WRR通道是否存在调度请求,同时当前WRR通道的权重值是否不为零;若当前WRR通道存在调度请求,同时对应的权重值不为零,则调度当前WRR通道中的数据,同时,将当前WRR通道的权重值减1,其对应的优先调度标识调整为非使能,将所述调度指针指向地址调整到下一个WRR通道上;若当前WRR通道不存在调度请求,同时对应的权重值不为零,则将当前WRR通道对应的优先调度标识调整为使能,同时对应的权重值减1,将所述调度指针指向地址调整到下一个WRR通道上。3.根据权利要求2所述的降低WRR调度周期抖动的方法,其特征在于,所述方法还包括:若所述优先调度状态寄存器中至少其中一个独立存储区对应的优先调度标识为使能,则判断所述优先调度标识为使能的独立存储区所对应的WRR通道是否存在所述调度请求;若是,优先调度所述优先调度标识为使能的独立存储区所对应的WRR通道中的数据,同时,将当前的优先调度标识调整为非使能,保持当前的调度指针位置不变。4.根据权利要求1所述的降低WRR调度周期抖动的方法,其特征在于,“根据所述调度参数判断对哪一个WRR通道执行调度请求,并调整所述调度参数”具体包括:若所述优先调度状态寄存器中所有独立存储区对应的优先调度标识均为非使能,或所述优先调度状态寄存器中至少其中一个独立存储区对应的优先调度标识为使能,同时,优先调度标识为使能的独立存储区所对应的WRR通道中未接收到调度请求;则判断调度指针指向的当前WRR通道是否存在调度请求,同时当前WRR通道的权重值是否不为零;若当前WRR通道存在调度请求,同时对应的权重值不为零,则调度当前WRR通道中的数据,同时,将当前WRR通道的权重值减1,其对应的优先调度标识调整为非使能,将所述调度指针指向地址调整到下一个WRR通道上;若当前WRR通道不存在调度请求,同时对应的权重值不为零,则将当前WRR通道对应的优先调度标识调整为使能,将所述调度指针指向地址调整到下一个WRR通道上。5.根据权利要求4所述的降低WRR调度周期抖动的方法,其特征在于,所述方法还包括:若所述优先调度状态寄存器中至少其中一个独立存储区对应的优先调度标识为使能,则判断所述优先调度标识为使能的独立存储区所对应的WRR通道是否存在所述调度请求;若是,优先调度所述优先调度标识为使能的独立存储区所对应的WRR通道中的数据,同时,将当前的优先调度标识调整为非使能,将对应的WRR通道的权重值减1,保持当前的调度指针位置不变。6.根据权利要求3或5所述的降低WRR调度周期抖动的方法,其特征在于,所述方法还包括:若每个WRR通道均不满足调度条件,所述调度条件为:WRR通道对应的权重值不为零,同时,存在调度请求;则将所有WRR通道对应的权重值均恢复为预设值,同时,将调度指针指向地址调整到距当前WRR通道距离最近、且满足调度条件...

【专利技术属性】
技术研发人员:夏杰耿磊孙冠男
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1