System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及支持优先级业务的网络及交换,尤其涉及一种区分单播与组播老化的多优先级队列调度方法和装置。
技术介绍
1、调度是解决多个业务竞争共享资源问题的有效手段。队列管理是提高网络qos的一种有效方法。
2、交换系统中为了保证服务质量,一般会为不同业务报文添加优先级。支持多优先级调度的算法会根据报文优先级的不同,采取不同的调度策略。常用的策略是高优先级报文永久先于低优先级报文被调度,但是,这样会导致低优先级报文的等待时延无界增加。
3、针对上述支持优先级调度的算法在根据优先级的高低来设计不同的分配策略时,无法对低优先级业务兼顾公平的问题,有研究提出通过参数配置的方式限定低优先级报文传输的最大时延,其实现方式就是对每个虚拟输出队列(virtual output queueing,voq)的等待时间进行监控,当该voq中有报文存在时(即,该voq非空),如果调度器调度的是另外一个voq,则该voq的等待时间计数器增加,当该voq的等待时间到达值阈值时,标记该voq为老化,调度器优先调度该voq。也有研究在基于时延的调度算法(bds)基础上将时间片与优先级相结合,提出了一种基于时延的动态优先级调度算法,为了实现该算法,针对进入缓冲区的每个子队列设置一个计数器,以调整的计数器值为基准来动态的改变队列的优先级,从而达到队列调度的效果;又从研究该算法的过程中,发现其局限性,即计数器值对时间片过于敏感的问题,于是进一步采用设置阈值进行区分的方法来优化,简而言之,根据bds思想,原本优先级低的子队列随着时间的推移提高本
4、上述已有研究基于不同方式实现了对低优先级报文最大时延的限制,达到了防止低优先级报文无止境等待的目的。已有研究面对单播应用时效果显著。但是,面对组播应用时仍存在不足。网络及交换系统中,通常以目的端口及优先级作为区分建立不同的voq。单播报文因只有一个目的端口而位于一个voq,组播报文因有多个目的端口而通常位于多个voq。当单播报文所处队列的优先级因老化而得到提升后,单播报文能够得到优先调度,对应地,其占用的缓存资源能够迅速得到释放。对于组播报文而言,其所处的多个voq通常不会同时全部老化,部分目的端口所对应的队列因老化而能得到优先调度,另一部分目的端口因所对应的voq未老化而不能得到优先调度,因此,老化所带来的优先调度效果对于组播报文而言存在“木桶效应”,对应地,组播报文所对应的缓存资源不能得到及时释放,进而会对网络及交换性能带来不利影响。
5、如图1所示,目的端口为0、1、2的单播报文分别进入voq0、voq1和voq2,目的端口为1和2的组播报文同时进入voq1和voq2。voq1和voq2不同时老化的情况下,假如voq1发生了老化,而voq2未老化,则voq1得到优先调度,而voq2不能得到优先调度,组播报文只能等待其在voq2中被调度后才完成全部调度,进而其所占用缓存才能得到释放。
技术实现思路
1、本专利技术针对现有老化机制下,组播报文所占用缓存资源不能及时得到释放的问题,提出一种区分单播与组播老化的多优先级队列调度方法和装置。
2、为了实现上述目的,本专利技术采用以下技术方案:
3、本专利技术一方面提出一种区分单播与组播老化的多优先级队列调度方法,包括:
4、配置虚拟输出队列中老化计数器对应的老化阈值;报文入队,判断报文是否为单播报文,若为单播报文则判断虚拟输出队列是否被调度选中,若是则复位对应的老化计数器,若否则对应的老化计数器累加,当老化计数器值达到老化门限值时,老化计数器冻结,虚拟输出队列标记为老化;当存在多个老化虚拟输出队列时,按照老化虚拟输出队列优先级由高到低进行调度;
5、若入队的报文是组播报文,当发生传输时,包含该报文的所有虚拟输出队列检查该报文是否在虚拟输出队列头部,以及目的缓存是否有足够可用空间,如果满足上述两个条件,该报文被同时传输到所有目的缓存中,不满足条件的虚拟输出队列被立即标记为老化。
6、进一步地,每个虚拟输出队列包含一个老化计数器。
7、进一步地,所述老化门限值通过寄存器设置,根据需要通过软件对其进行修改。
8、进一步地,相较于未老化的虚拟输出队列,老化的虚拟输出队列被优先调度,虚拟输出队列变为空后,老化计数器清零,同时老化标志被移除。
9、本专利技术另一方面提出一种区分单播与组播老化的多优先级队列调度装置,该装置用于执行以下步骤:
10、配置虚拟输出队列中老化计数器对应的老化阈值;报文入队,判断报文是否为单播报文,若为单播报文则判断虚拟输出队列是否被调度选中,若是则复位对应的老化计数器,若否则对应的老化计数器累加,当老化计数器值达到老化门限值时,老化计数器冻结,虚拟输出队列标记为老化;当存在多个老化虚拟输出队列时,按照老化虚拟输出队列优先级由高到低进行调度;
11、若入队的报文是组播报文,当发生传输时,包含该报文的所有虚拟输出队列检查该报文是否在虚拟输出队列头部,以及目的缓存是否有足够可用空间,如果满足上述两个条件,该报文被同时传输到所有目的缓存中,不满足条件的虚拟输出队列被立即标记为老化。
12、进一步地,每个虚拟输出队列包含一个老化计数器。
13、进一步地,所述老化门限值通过寄存器设置,根据需要通过软件对其进行修改。
14、进一步地,相较于未老化的虚拟输出队列,老化的虚拟输出队列被优先调度,虚拟输出队列变为空后,老化计数器清零,同时老化标志被移除。
15、与现有技术相比,本专利技术具有的有益效果:
16、本专利技术提出的老化机制限制了低优先级包的最大时延,防止出现低优先级包无止境等待的情况。不仅适用于一般的单播、组播情况,也适用于组播发生带宽扩展时的情况,能够实现组播包占用缓存的尽快释放。
本文档来自技高网...【技术保护点】
1.一种区分单播与组播老化的多优先级队列调度方法,其特征在于,包括:
2.根据权利要求1所述的一种区分单播与组播老化的多优先级队列调度方法,其特征在于,每个虚拟输出队列包含一个老化计数器。
3.根据权利要求1所述的一种区分单播与组播老化的多优先级队列调度方法,其特征在于,所述老化门限值通过寄存器设置,根据需要通过软件对其进行修改。
4.根据权利要求1所述的一种区分单播与组播老化的多优先级队列调度方法,其特征在于,相较于未老化的虚拟输出队列,老化的虚拟输出队列被优先调度,虚拟输出队列变为空后,老化计数器清零,同时老化标志被移除。
5.一种区分单播与组播老化的多优先级队列调度装置,其特征在于,该装置用于执行以下步骤:
6.根据权利要求5所述的一种区分单播与组播老化的多优先级队列调度装置,其特征在于,每个虚拟输出队列包含一个老化计数器。
7.根据权利要求5所述的一种区分单播与组播老化的多优先级队列调度装置,其特征在于,所述老化门限值通过寄存器设置,根据需要通过软件对其进行修改。
8.根据权利要求5所述的
...【技术特征摘要】
1.一种区分单播与组播老化的多优先级队列调度方法,其特征在于,包括:
2.根据权利要求1所述的一种区分单播与组播老化的多优先级队列调度方法,其特征在于,每个虚拟输出队列包含一个老化计数器。
3.根据权利要求1所述的一种区分单播与组播老化的多优先级队列调度方法,其特征在于,所述老化门限值通过寄存器设置,根据需要通过软件对其进行修改。
4.根据权利要求1所述的一种区分单播与组播老化的多优先级队列调度方法,其特征在于,相较于未老化的虚拟输出队列,老化的虚拟输出队列被优先调度,虚拟输出队列变为空后,老化计数器清零,同时老化标志被移除。
5...
【专利技术属性】
技术研发人员:董春雷,沈剑良,陈艇,李沛杰,张丽,张文建,赵博,王兆辉,李晨露,张明权,
申请(专利权)人:中国人民解放军战略支援部队信息工程大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。