[发明专利]一种信元调度方法和装置有效
| 申请号: | 201110062158.8 | 申请日: | 2011-03-15 |
| 公开(公告)号: | CN102684983A | 公开(公告)日: | 2012-09-19 |
| 发明(设计)人: | 乔艳明;刘华瑞 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | H04L12/56 | 分类号: | H04L12/56 |
| 代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 余刚;梁丽超 |
| 地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 调度 方法 装置 | ||
技术领域
本发明涉及数据通讯领域,具体而言,尤其涉及交换网络中的信元调度方法和装置。
背景技术
在交换网络中对分组缓存后的数据流进行调度输出的调度方法包括SP(Strict Priority严格优先级)、RR(Round Robin轮循)、WRR(Weighted Round Robin加权轮循)、DRR(Deficit Round Robin赤字轮循)、DWRR(Deficit Weighted Round Robin赤字加权轮循)等等,不同的调度算法满足不同的应用需求,或者一个应用中同时使用多个调度算法,或者根据特殊的需求对现有调度算法做特定修改后完成特定功能。其中,图1是现有的DRR(赤字轮循)调度算法流程图,根据图1的流程,DRR(赤字轮循)调度算法实现步骤如下:
步骤一、首先为每个队列分配一个服务量子(Quantum),且每个队列有一个赤字计数器(Deficit counter);
步骤二、所有队列的赤字计数器在调度开始时被初始化为0;
步骤三、当一个活动队列(即有数据包等待调度输出的队列)被选择服务时,该队列的服务量子与其当前赤字计数器相加,累加的结果存入赤字计数器;
步骤四、若队首包长小于赤字计数器的值,队首数据包获得发送,同时赤字计数器的值要减去发送包长;
步骤五、若队列所有等待发送的包被全部发送出去(即由活动队列变为非活动队列),则不管赤字计数器的值是否还有剩余,赤字计数器都被复位为0;
步骤六、若队列赤字计数器剩余的值不足以调度队首数据包时,将等到下一个调度轮次把赤字计数器剩余的值与该队列的服务量子累加后等待调度服务;
步骤七、调度器按轮循方式选择下一个活动队列进行调度输出,依次轮循直至本轮次所有活动队列得到服务,并从步骤三开始下一轮次调度。
DRR(赤字轮循)调度算法实现了在各队列内部的数据包长可变的情况下,满足队列预约带宽的公平调度。但是对于定长信元的队列,赤字计数器的每个单位值均能调度一个信元,若直接采用DRR(赤字轮循)调度算法,当被服务的队列因突发的信元输入而堆积时,调度器将一直调度该队列的信元直到其赤字计数器剩余值为0才选择服务下一个队列。若此时下一个队列的赤字计数器有剩余值,并且在等待前一个队列调度结束的过程中不断有信元继续入队,就会出现两个队列在赤字计数器均不为0的情况下,即两个队列均有信元等待调度输出且均未超出预约带宽时,前一个队列的信元连续得到输出,后一个队列的信元持续堆积,甚至因此引起数据链路流控。因此,对于定长信元的队列,直接采用DRR(赤字轮循)调度算法只满足了各队列的预约带宽,而没有满足队列间公平调度原则。
对于同等优先级的定长信元队列要求调度算法既要满足各队列的预约带宽又要满足各队列的信元得到公平调度,实现最大均衡输出,直接使用DRR(赤字轮循)调度算法不能达到要求。
发明内容
本发明要解决的技术问题在于提供一种信元调度输出方法和装置,实现定长信元的公平调度和均衡输出。
为实现本发明要解决的技术问题,本发明一种信元调度输出方法包括:根据各低优先级队列需要的预约带宽为各低优先级队列分配服务量子Qi,并初始化低优先级队列的赤字计数器值为Qi;输出调度模块轮循调度赤字计数器值不为0的低优先级队活动队列的队首信元。
上述方法中,当有高优先级队列有信元等待调度输出时,输出调度模块以最高调度优先权调度输出高优先级队列的信元,直至高优先级队列为空。
上述方法中,输出调度模块轮循调度赤字计数器值不为0的低优先级活动队列的队首信元,具体包括:
选中一个赤字计数器值不为0的低优先级队列,调度输出该低优先活动队列的队首信元,同时该低优先活动队列的赤字计数器值减1;
在本次该低优先级活动队列调度结束时,如果该低优先级活动队列的赤字计数器值减到0,或该低优先级活动队列信元都已调度输出且赤字计数器值不为0,则将该低优先级活动队列从低优先级队列间的轮循调度中删除;
当所有低优先级活动队列的赤字计数器值都为0时,则低优先级活动队列间的轮循调度结束。
上述方法中,当还有低优先级活动队列的赤字计数器值不为0时,每次调度输出赤字计数器值不为0的低优先级活动队列的队首信元之前,判断高优先级队列是否为空,如果不为空,以最高调度优先权调度输出高优先级队列的信元,直至高优先级队列为空,再调度输出赤字计数器值不为0的低优先级活动队列的队首信元,并将赤字计数器值减1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110062158.8/2.html,转载请声明来源钻瓜专利网。





