CN111400206B - 基于动态虚拟门限的缓存管理方法 - Google Patents

基于动态虚拟门限的缓存管理方法 Download PDF

Info

Publication number
CN111400206B
CN111400206B CN202010174564.2A CN202010174564A CN111400206B CN 111400206 B CN111400206 B CN 111400206B CN 202010174564 A CN202010174564 A CN 202010174564A CN 111400206 B CN111400206 B CN 111400206B
Authority
CN
China
Prior art keywords
queue
data frame
data frames
period
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010174564.2A
Other languages
English (en)
Other versions
CN111400206A (zh
Inventor
张冰
凌楠玮
张奭
赵辉
张�诚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Hannuo Semiconductor Technology Co ltd
Xidian University
Original Assignee
Beijing Hannuo Semiconductor Technology Co ltd
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Hannuo Semiconductor Technology Co ltd, Xidian University filed Critical Beijing Hannuo Semiconductor Technology Co ltd
Priority to CN202010174564.2A priority Critical patent/CN111400206B/zh
Publication of CN111400206A publication Critical patent/CN111400206A/zh
Application granted granted Critical
Publication of CN111400206B publication Critical patent/CN111400206B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0853Cache with multiport tag or data arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

基于动态虚拟门限的缓存管理方法
技术领域
本发明属于通信技术领域,特别涉及一种动态虚拟门限缓存管理方法,可用于网络交换设备。
背景技术
缓存管理是网络交换设备中的一项关键技术,一个良好的缓存管理方法可以提高交换设备中缓存资源的利用效率并且降低网络交换数据帧的丢帧率。
现有的缓存管理算法主要分为三类,分别是静态阈值策略、动态阈值策略、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;
设属于用户Ni的每一个优先级队列的上一个周期的数据帧帧数平均加权比例值为ROij
设属于用户Ni的每一个优先级队列的本周期的数据帧帧数平均加权比例值为RNij
设属于用户Ni的每一个高、中、低优先级队列的上一个周期的数据帧帧数平均加权比例ROi1、ROi2、ROi3的初始值均为0;
设属于用户Ni的各优先级队列的实时队列长度为lij
设计算属于P个用户高、中、低三个优先级队列上一周期的数据帧帧数平均加权比例值的比例系数为t1,计算属于P个用户高、中、低三个优先级队列上一周期的数据帧帧数平均加权比例值的固定偏移系数为t2
设计算属于P个用户高、中、低三个优先级队列的数据帧帧数加权比例Ri1、Ri2、Ri3的比例系数分别为k1、k2、k3
步骤2,构建网络拓扑。
参考图2,网络拓扑结构由一个主用户和多个从用户组成。本实例的网络拓扑结构由一个主用户N0和两个从用户N1、N2组成,数据帧从主用户发往两个从用户,缓存管理位于主用户N0中。
本实施例总时长为三个周期时长,每个周期时长T=1088us。各周期主用户N0需要发送给第一从属用户N1的数据帧帧数如表1所示,各周期主用户N0需要发送给第二从属用户N2的数据帧帧数如表2所示。
表1 N0需要发送给N1的数据帧帧数
Figure BDA0002410340360000051
表2 N0需要发送给N2的数据帧帧数
Figure BDA0002410340360000052
步骤3,对到达数据帧的缓存进入情况做出判断。
固定长度的数据帧到达缓存后,对其是否能进入缓存空间进行判断:
如果整个缓存空间实时容纳的数据帧帧数MN小于整个缓存空间能容纳的数据帧帧数M,则数据帧能够进入缓存空间,执行步骤7;
如果整个缓存空间实时容纳的数据帧帧数MN超过整个缓存空间能容纳的数据帧帧数M,则执行步骤4。
在本发明实施例中,整个缓存空间能容纳的数据帧帧数M=100。
步骤4,判断是否丢弃该到达缓存的数据帧。
将到达缓存的数据帧所属队列的实时队列长度lij与所属队列的虚拟门限值Qij相比较:
如果到达缓存的数据帧所属队列的实时队列长度lij超过所属队列的虚拟门限值Qij,则丢弃该到达缓存的数据帧;
如果到达缓存的数据帧所属队列的实时队列长度lij未达到所属队列的虚拟门限值Qij,则执行步骤5。
步骤5,将低优先级队列长度与队列的虚拟门限值作比较。
判断属于N1、N2用户的所有低优先级队列里是否有队列长度li3超过其虚拟门限值Qi3的队列:如果有,则选择这个队列并丢弃这个选中队列的一个数据帧,然后执行步骤7,否则,执行步骤6。
步骤6,将中、高优先级队列长度与队列的虚拟门限值作比较。
判断属于N1、N2用户的所有中优先级队列里是否有队列长度li2超过其虚拟门限值Qi2的队列:如果有,则选择这个队列并丢弃这个选中队列的一个数据帧,然后执行步骤7;否则,在属于N1、N2用户的所有高优先级队列里任选一个队列长度li3超过其虚拟门限值Qi3的队列,并丢弃这个选中队列的一个数据帧,然后执行步骤7。
步骤7,到达缓存的数据帧进入缓存空间。
在本发明实施例中,第一个周期到达数据帧帧数和小于100,因此该周期所有数据帧都能进入缓存空间。第二个周期到达数据帧帧数和小于100,因此该周期所有数据帧也能进入缓存空间。第三周期到达前99个数据帧时,整个缓存空间实时容纳的数据帧帧数MN=99小于整个缓存空间能容纳的数据帧帧数M=100,也能进入缓存空间。第三周期后到达的4个属于用户N2的低优先级数据帧,因为此时整个缓存空间实时容纳的数据帧帧数MN不小于整个缓存空间能容纳的数据帧帧数M,并且此时属于用户N2的低优先级数据帧的队列实时队列长度l23=40超过所属队列的虚拟门限值Q23=6,因此丢弃这4个数据帧。
步骤8,判断数据帧到达缓存情况。
判断是否还有到达缓存的数据帧:如果还有到达缓存的数据帧,则执行步骤9,否则,出队调度器取出缓存中所有数据帧,该次缓存管理操作结束。
在本发明实施例中,只有第三个周期最后一个数据帧到达缓存以后才没有到达缓存的数据帧,因此,此时刻出队调度器取出缓存中所有数据帧,该次缓存管理操作结束。其他数据帧到达缓存以后都还有数据帧到达缓存,执行步骤9。
步骤9,判断是否修改队列的虚拟门限。
每隔T时刻修改一次队列的虚拟门限值,即如果当前时刻为T的整数倍数,则需要修改队列的虚拟门限值,执行步骤10;否则,返回步骤3。
在本发明实施例中,只有在第一周期的最后一刻和第二周期的最后一个时刻为T的整数倍,需要修改队列的虚拟门限,执行步骤10,在第一周期、第二周期和第三周期的其他时刻时,返回步骤3。
步骤10,计算属于N1、N2用户高、中、低三个优先级队列的数据帧帧数加权比例Ri1、Ri2、Ri3
属于N1、N2用户高、中、低三个优先级队列的数据帧帧数加权比例Ri1、Ri2、Ri3通过如下公式计算:
Figure BDA0002410340360000071
Figure BDA0002410340360000072
Figure BDA0002410340360000073
其中,a为当前周期到达属于所有用户的高优先级数据帧帧数,b为当前周期到达属于所有用户的中优先级数据帧帧数,c为当前周期到达属于所有用户的低优先级数据帧帧数,mi1为当前周期到达属于用户Ni的高优先级数据帧帧数,mi2为当前周期到达属于用户Ni的中优先级数据帧帧数,mi3为当前周期到达属于用户Ni的低优先级数据帧帧数。
若该周期属于N1、N2用户的高、中、低优先级数据帧帧数a、b、c均为0,则属于N1、N2用户高、中、低三个优先级队列的数据帧帧数加权比例R11、R12、R13、R21、R22、R23均为0。
在本发明实施例中,计算属于N1、N2用户的高、中、低三个优先级队列的数据帧帧数加权比例Ri1、Ri2、Ri3的比例系数k1=3、k2=2、k3=1。第一周期计算出的属于N1、N2用户高、中、低三个优先级队列的数据帧帧数加权比例如表3所示。第二周期计算出的属于N1、N2用户高、中、低三个优先级队列的数据帧帧数加权比例如表4所示。
表3第一周期计算出的数据帧帧数加权比例
Figure BDA0002410340360000081
表4第二周期计算出的数据帧帧数加权比例
Figure BDA0002410340360000082
步骤11,计算本周期数据帧帧数平均加权比例值。
根据步骤10的结果,分别计算属于N1、N2用户高、中、低三个优先级队列的本周期数据帧帧数平均加权比例值RNi1、RNi2、RNi3
RNi1=(1-w)×ROi1+w×Ri1
RNi2=(1-w)×ROi2+w×Ri2
RNi3=(1-w)×ROi3+w×Ri3
在本发明实施例中,虚拟门限静态初始值的比例系数w=0.5,第一周期计算出的属于N1、N2用户高、中、低三个优先级队列的本周期数据帧帧数平均加权比例值如表5所示。第二周期计算出的属于N1、N2用户高、中、低三个优先级队列的本周期数据帧帧数平均加权比例值如表6所示。
表5第一周期计算出的本周期数据帧帧数平均加权比例值
Figure BDA0002410340360000091
表6第二周期计算出的本周期数据帧帧数平均加权比例值
Figure BDA0002410340360000092
步骤12,计算队列的动态虚拟门限值。
根据步骤11的结果,分别计算属于N1、N2用户高、中、低三个优先级队列的动态虚拟门限值Qi1、Qi2、Qi3
Qi1=RNi1×t1+t2,Qi2=RNi2×t1+t2,Qi3=RNi3×t1+t2
在本发明实施例中,属于N1、N2用户高、中、低三个优先级队列上一周期的数据帧帧数平均加权比例值的比例系数为t1=70,属于N1、N2用户高、中、低三个优先级队列上一周期的数据帧帧数平均加权比例值的固定偏移系数为t2=5。第一周期计算出的属于N1、N2用户高、中、低三个优先级队列的动态虚拟门限值如表7所示。第二周期计算出的属于N1、N2用户高、中、低三个优先级队列的动态虚拟门限值如表8所示。
表7第一周期计算出的动态虚拟门限值
Figure BDA0002410340360000101
表8第二周期计算出的动态虚拟门限值
Figure BDA0002410340360000102
步骤13,计算队列的上一周期的数据帧帧数平均加权比例值ROi1、ROi2、ROi3
根据步骤11的结果,分别计算属于N1、N2用户高、中、低三个优先级队列上一周期的数据帧帧数平均加权比例值ROi1、ROi2、ROi3
ROi1=RNi1,ROi2=RNi2,ROi3=RNi3
在本发明实施例中,第一周期计算出的上一周期的数据帧帧数平均加权比例值如表9所示。第二周期计算出的上一周期的数据帧帧数平均加权比例值如表10所示。
表9第一周期计算出的上一周期的数据帧帧数平均加权比例值
Figure BDA0002410340360000103
表10第二周期计算出的上一周期的数据帧帧数平均加权比例值
Figure BDA0002410340360000111
步骤14,出队调度器取出缓存中所有数据帧,返回步骤3。
在本发明实施例中,第一周期出队调度器取出缓存中所有数据帧,返回步骤3,开始第二周期;第二周期出队调度器取出缓存中所有数据帧,返回步骤3,开始第三周期。
以上描述仅是本发明的一个具体事例,并未构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明的内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的修改和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

Claims (3)

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的队列,并丢弃这个选中队列的一个数据帧,然后执行(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)。
2.根据权利要求1所述的方法,其中(9)中计算P个用户高、中、低三个优先级队列的数据帧帧数加权比例Ri1、Ri2、Ri3,通过如下公式计算:
Figure FDA0002410340350000031
Figure FDA0002410340350000032
Figure FDA0002410340350000033
其中,a为当前周期到达属于所有用户的高优先级数据帧帧数,b为当前周期到达属于所有用户的中优先级数据帧帧数,c为当前周期到达属于所有用户的低优先级数据帧帧数,mi1为当前周期到达属于用户Ni的高优先级数据帧帧数,mi2为当前周期到达属于用户Ni的中优先级数据帧帧数,mi3为当前周期到达属于用户Ni的低优先级数据帧帧数。
3.根据权利要求1所述的方法,其中(2)中到达缓存的数据帧均为固定长度数据帧。
CN202010174564.2A 2020-03-13 2020-03-13 基于动态虚拟门限的缓存管理方法 Active CN111400206B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010174564.2A CN111400206B (zh) 2020-03-13 2020-03-13 基于动态虚拟门限的缓存管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010174564.2A CN111400206B (zh) 2020-03-13 2020-03-13 基于动态虚拟门限的缓存管理方法

Publications (2)

Publication Number Publication Date
CN111400206A CN111400206A (zh) 2020-07-10
CN111400206B true CN111400206B (zh) 2023-03-24

Family

ID=71430858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010174564.2A Active CN111400206B (zh) 2020-03-13 2020-03-13 基于动态虚拟门限的缓存管理方法

Country Status (1)

Country Link
CN (1) CN111400206B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111917666A (zh) * 2020-07-27 2020-11-10 西安电子科技大学 基于服务等级协议的数据帧抢占式缓存管理方法
CN111884947B (zh) * 2020-07-29 2022-02-08 电子科技大学 一种在接收端基于信息年龄的数据包管理方法
CN112787956B (zh) * 2021-01-30 2022-07-08 西安电子科技大学 一种队列管理中挤占处理方法、系统、存储介质及应用
CN117714757A (zh) * 2024-02-04 2024-03-15 北京搜狐新动力信息技术有限公司 码率调整方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223300A (zh) * 2011-06-09 2011-10-19 武汉烽火网络有限责任公司 一种网络设备中多媒体数据的传输控制方法
WO2017000673A1 (zh) * 2015-06-29 2017-01-05 深圳市中兴微电子技术有限公司 一种共享缓存分配方法、装置及计算机存储介质
CN107277932A (zh) * 2017-06-20 2017-10-20 南京邮电大学 一种多用户mimo系统用户调度方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223300A (zh) * 2011-06-09 2011-10-19 武汉烽火网络有限责任公司 一种网络设备中多媒体数据的传输控制方法
WO2017000673A1 (zh) * 2015-06-29 2017-01-05 深圳市中兴微电子技术有限公司 一种共享缓存分配方法、装置及计算机存储介质
CN107277932A (zh) * 2017-06-20 2017-10-20 南京邮电大学 一种多用户mimo系统用户调度方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
反馈机制下的自相似业务流队列管理技术;胡俊超;《科技资讯》;20180113(第02期);全文 *
基于自适应熵估计遗传算法的高级在轨系统虚拟信道调度;别玉霞等;《信息与控制》;20130615(第03期);全文 *

Also Published As

Publication number Publication date
CN111400206A (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
CN111400206B (zh) 基于动态虚拟门限的缓存管理方法
EP1774714B1 (en) Hierarchal scheduler with multiple scheduling lanes
Ramabhadran et al. Stratified round robin: A low complexity packet scheduler with bandwidth fairness and bounded delay
CN106954232B (zh) 一种时延优化的资源分配方法
JP4163044B2 (ja) 帯域制御方法およびその帯域制御装置
CN106533982A (zh) 基于带宽借用的动态队列调度装置及方法
CN101286949A (zh) 基于IEEE802.16d标准的无线Mesh网MAC层资源调度策略
US20060274779A1 (en) Filling token buckets of schedule entries
CN106330765A (zh) 缓存分配方法及装置
Ramabhadran et al. The stratified round robin scheduler: design, analysis and implementation
EP2740245A1 (en) A scalable packet scheduling policy for vast number of sessions
CN113064738A (zh) 基于概要数据的主动队列管理方法
CN112055382B (zh) 一种基于精细化区分的业务接入方法
JP2005236669A (ja) 通信品質制御方法およびその通信品質制御装置
US20230117851A1 (en) Method and Apparatus for Queue Scheduling
CN1298149C (zh) 基于包模式的流量控制装置及方法
US7599381B2 (en) Scheduling eligible entries using an approximated finish delay identified for an entry based on an associated speed group
CN115941634A (zh) 共享缓存的阈值调节方法、装置和计算机设备
Tong et al. Quantum varying deficit round robin scheduling over priority queues
CN118524067B (zh) 一种结合流量整形的mdscfq队列调度方法
Nandhini Improved round robin queue management algorithm for elastic and inelastic traffic flows
Xue et al. A new WRR algorithm based on ideal packet interval time
Yokota et al. Extension to weighted round robin packet scheduling for variable-length packet networks
KR100757194B1 (ko) 자원 이용도가 높고 구현 복잡성이 낮은 공정 패킷스케줄링 장치
KR20070060552A (ko) 적응 라운드 로빈을 이용한 패킷 스케쥴링 방법 및 장치

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant