基于动态虚拟门限的缓存管理方法技术

技术编号:24853041 阅读:17 留言:0更新日期:2020-07-10 19:07
本发明专利技术公开了一种基于动态虚拟门限的缓存管理方法,主要解决现有技术在高缓存利用率情况下不能保证各个队列门限设置公平的问题。其实现方案是:1)初始化各队列缓存管理参数;2)判断当前数据帧能否进入缓存空间,并判断缓存管理器是否需要丢弃数据帧,当没有数据帧到达缓存空间时本次缓存管理操作结束;3)对于没有被缓存丢弃的数据帧进入缓存空间;4)每隔T时刻修改一次各队列的虚拟门限值;5)出队调度器在每个周期取走缓存中的数据帧,返回2)。本发明专利技术只在缓存满的时候才丢弃数据帧且为每个队列设置了动态虚拟门限缓存,具有缓存空间利用率高,各个队列之间公平性较好的优点,可用于网络交换设备。

【技术实现步骤摘要】
基于动态虚拟门限的缓存管理方法
本专利技术属于通信
,特别涉及一种动态虚拟门限缓存管理方法,可用于网络交换设备。
技术介绍
缓存管理是网络交换设备中的一项关键技术,一个良好的缓存管理方法可以提高交换设备中缓存资源的利用效率并且降低网络交换数据帧的丢帧率。现有的缓存管理算法主要分为三类,分别是静态阈值策略、动态阈值策略、PUSH-OUT策略,其中:静态阈值策略,为每个队列分配固定大小的缓存,当队列还有剩余缓存空间时到达这个队列的数据帧能够进入该队列缓存中,当队列没有剩余缓存空间时,到达这个队列的数据帧将会被丢弃。这种方法简单利于实现,但是这种缓存策略可能造成部分队列因到达数据帧数量过多占满了队列缓存而不得不丢弃到达的数据帧,而部分队列因到达数据帧数量过少,大量缓存空间被闲置的状况,这样既浪费缓存资源又会增加数据帧的丢弃概率。动态阈值策略,为队列分配的缓存大小根据各个队列的实时业务流的大小而动态变化。这种缓存策略使得缓存大小能够实时适应网络的状况,但是缓存大小的改变值难以精确的匹配实时业务流所需占用的缓存大小,导致动态分配的缓存大小往往会大于实际业务流所需要的缓存大小,因此这种缓存策略会闲置掉一部分的缓存空间,影响缓存的使用效率。PUSH-OUT策略,允许属于已没有缓存空间的队列的数据帧存放在还有剩余缓存空间的队列中,该策略只有在整个缓存空间满的时候才会丢弃数据帧,因此它具有较低的丢帧率。但是由于这种策略不能实时匹配各队列实时数据帧信息,当整个缓存空间满而丢弃数据帧时不能根据其他队列历史队列长度进行丢弃,缺乏一定的公平性。
技术实现思路
本专利技术的目的在于针对上述现有技术不足,提出一种基于动态虚拟门限的缓存管理方法,以保证在数据帧较低丢弃率的同时尽可能的保证各用户之间的公平性。为实现上述目的,本专利技术的技术方案包括如下步骤:(1)初始化缓存管理服务参数:设缓存管理服务P个用户Ni,i从1到P;设属于用户Ni的数据帧存放在高、中、低3个优先级队列中,每个优先级队列的虚拟门限值为Qij,j从1到3;设属于用户Ni的每个优先级队列都有一个数据帧帧数加权比例Rij;设整个缓存空间能容纳的数据帧帧数为M,整个缓存空间实时容纳的数据帧帧数为MN;设缓存管理的动态虚拟门限调整周期为T,T>0;设虚拟门限静态初始值的比例系数为w,0<w<1;设属于用户Ni的每一个优先级队列的上一个周期的数据帧帧数平均加权比例值为ROij;设属于用户Ni的每一个优先级队列的本周期的数据帧帧数平均加权比例值为RNij;设属于用户Ni的每一个高、中、低优先级队列的上一个周期的数据帧帧数平均加权比例ROi1、ROi2、ROi3的初始值均为0;设属于用户Ni的各优先级队列的实时队列长度为lij;设计算属于P个用户高、中、低三个优先级队列上一周期的数据帧帧数平均加权比例值的比例系数为t1,计算属于P个用户高、中、低三个优先级队列上一周期的数据帧帧数平均加权比例值的固定偏移系数为t2;设计算属于P个用户高、中、低三个优先级队列的数据帧帧数加权比例Ri1、Ri2、Ri3的比例系数分别为k1、k2、k3;(2)数据帧到达缓存,如果此时MN等于M,则缓存空间已满执行(3),否则,缓存空间未满执行(6);(3)将到达缓存的数据帧所属队列的实时队列长度lij与所属队列的虚拟门限值Qij相比较:如果lij≥Qij则丢弃掉该到达缓存的数据帧,如果lij<Qij,则执行(4);(4)判断属于P个用户的所有低优先级队列里是否有队列长度li3超过其虚拟门限值Qi3的队列:如果有,则选择这个队列并丢弃这个选中队列的一个数据帧,然后执行(6),否则,执行(5);(5)判断在属于P个用户的所有中优先级队列里是否有队列长度li2超过其虚拟门限值Qi2的队列:如果有,则选择这个队列并丢弃这个选中队列的一个数据帧,然后执行(6);否则,在属于P个用户的所有高优先级队列里面任选一个队列长度li3超过其虚拟门限值Qi3的队列,并丢弃这个选中队列的一个数据帧,然后执行(6);(6)到达缓存的数据帧进入缓存空间;(7)判断是否还有到达缓存的数据帧:如果还有到达缓存的数据帧,则执行(8),否则,出队调度器取出缓存中所有数据帧,该次缓存管理操作结束;(8)每隔T时刻修改一次队列的虚拟门限值,即如果当前时刻为T的整数倍数,则需要修改队列的虚拟门限值,执行(9);否则,执行(2);(9)在这个调度周期,分别计算属于P个用户高、中、低三个优先级队列的数据帧帧数加权比例Ri1、Ri2、Ri3;(10)根据(9)的结果,分别计算属于P个用户高、中、低三个优先级队列的本周期数据帧帧数平均加权比例值RNi1、RNi2、RNi3:RNi1=(1-w)×ROi1+w×Ri1,RNi2=(1-w)×ROi2+w×Ri2,RNi3=(1-w)×ROi3+w×Ri3;(11)根据(10)的结果,分别计算属于P个用户高、中、低三个优先级队列的动态虚拟门限值Qi1、Qi2、Qi3:Qi1=RNi1×t1+t2,Qi2=RNi2×t1+t2,Qi3=RNi3×t1+t2;(12)根据(10)的结果,分别计算属于P个用户高、中、低三个优先级队列上一周期的数据帧帧数平均加权比例值ROi1、ROi2、ROi3:ROi1=RNi1,ROi2=RNi2,ROi3=RNi3;(13)出队调度器取出缓存中所有数据帧,返回(2)。本专利技术与现有技术相比,具有如下优点:第一,由于本专利技术只在整个缓存空间全满时才丢弃数据帧,因此可以提高缓存空间的利用效率,减少数据帧丢弃概率。第二,由于本专利技术根据不同用户队列历史使用缓存空间的大小为各用户队列设置了动态虚拟门限,这样在整个缓存空间满而不得不丢弃数据帧时,缓存管理器可以根据各用户队列虚拟门限大小丢弃部分队列长度超过其虚拟门限的队列的数据帧,这样可以提高各用户队列间的公平性。附图说明图1是本专利技术的实现总流程图;图2是本专利技术的网络拓扑结构。具体实施方式以下结合附图对本专利技术的具体实施方式和效果作进一步详细描述。参考图1,本实施例的实现步骤如下:步骤1,初始化缓存管理服务参数。设缓存管理服务P个用户Ni,本实例设缓存管理服务2个用户Ni,i从1到2;设属于用户Ni的数据帧存放在高、中、低3个优先级队列中,每个优先级队列的虚拟门限值为Qij,j从1到3;设属于用户Ni的每个优先级队列都有一个数据帧帧数加权比例Rij;设整个缓存空间能容纳的数据帧帧数为M,整个缓存空间实时容纳的数据帧帧数为MN,初始时刻,整个缓存空间没有数据帧即MN;设缓存管理的动态虚拟门限调整周期为T,T>0;设虚拟门限静态初始值的比例系数为w,0<w<1;本文档来自技高网
...

【技术保护点】
1.一种基于动态虚拟门限的缓存管理方法,其特征在于,包括如下:/n(1)初始化缓存管理服务参数:/n设缓存管理服务P个用户N

【技术特征摘要】
1.一种基于动态虚拟门限的缓存管理方法,其特征在于,包括如下:
(1)初始化缓存管理服务参数:
设缓存管理服务P个用户Ni,i从1到P;
设属于用户Ni的数据帧存放在高、中、低3个优先级队列中,每个优先级队列的虚拟门限值为Qij,j从1到3;
设属于用户Ni的每个优先级队列都有一个数据帧帧数加权比例Rij;
设整个缓存空间能容纳的数据帧帧数为M,整个缓存空间实时容纳的数据帧帧数为MN;
设缓存管理的动态虚拟门限调整周期为T,T>0;
设虚拟门限静态初始值的比例系数为w,0<w<1;
设属于用户Ni的每一个优先级队列的上一个周期的数据帧帧数平均加权比例值为ROij;
设属于用户Ni的每一个优先级队列的本周期的数据帧帧数平均加权比例值为RNij;
设属于用户Ni的每一个高、中、低优先级队列的上一个周期的数据帧帧数平均加权比例ROi1、ROi2、ROi3的初始值均为0;
设属于用户Ni的各优先级队列的实时队列长度为lij;
设计算属于P个用户高、中、低三个优先级队列上一周期的数据帧帧数平均加权比例值的比例系数为t1,计算属于P个用户高、中、低三个优先级队列上一周期的数据帧帧数平均加权比例值的固定偏移系数为t2;
设计算属于P个用户高、中、低三个优先级队列的数据帧帧数加权比例Ri1、Ri2、Ri3的比例系数分别为k1、k2、k3;
(2)数据帧到达缓存,如果此时MN等于M,则缓存空间已满执行(3),否则,缓存空间未满执行(6);
(3)将到达缓存的数据帧所属队列的实时队列长度lij与所属队列的虚拟门限值Qij相比较:如果lij≥Qij则丢弃掉该到达缓存的数据帧,如果lij<Qij,则执行(4);
(4)判断属于P个用户的所有低优先级队列里是否有队列长度li3超过其虚拟门限值Qi3的队列:如果有,则选择这个队列并丢弃这个选中队列的一个数据帧,然后执行(6),否则,执行(5);
(5)判断在属于P个用户的所有中优先级队列里是否有队列长度li2超过其虚拟门限值Qi2的队列:如果有,则选择这个队列并丢弃这个选中队列的一个数据帧,然后执行(6);否则,在属于P个用户的所有高优先级队列里面任选一个队列长度li3超过其虚拟门限值Qi3的...

【专利技术属性】
技术研发人员:张冰凌楠玮张奭赵辉张诚
申请(专利权)人:西安电子科技大学北京瀚诺半导体科技有限公司
类型:发明
国别省市:陕西;61

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

1
相关领域技术
  • 暂无相关专利