CN107483363B - 一种分层的加权轮询调度装置及方法 - Google Patents

一种分层的加权轮询调度装置及方法 Download PDF

Info

Publication number
CN107483363B
CN107483363B CN201710695304.8A CN201710695304A CN107483363B CN 107483363 B CN107483363 B CN 107483363B CN 201710695304 A CN201710695304 A CN 201710695304A CN 107483363 B CN107483363 B CN 107483363B
Authority
CN
China
Prior art keywords
queue
scheduling
weight coefficient
priority
weight
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
CN201710695304.8A
Other languages
English (en)
Other versions
CN107483363A (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.)
Changshu Kelan Electronic Technology Co.,Ltd.
Original Assignee
Wuxi Institute of Technology
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 Wuxi Institute of Technology filed Critical Wuxi Institute of Technology
Priority to CN201710695304.8A priority Critical patent/CN107483363B/zh
Publication of CN107483363A publication Critical patent/CN107483363A/zh
Application granted granted Critical
Publication of CN107483363B publication Critical patent/CN107483363B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/60Queue scheduling implementing hierarchical scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/623Weighted service order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6245Modifications to standard FIFO or LIFO
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明提出的是一种分层的加权轮询调度装置及方法,分层的加权轮询调度装置包括先入先出缓存队列模块、流量统计模块、权重管理模块、调度控制模块;其中,权重管理模块包括权重系数计算子模块、权重系数存储与更新子模块。分层的加权轮询调度方法,具体包括以下步骤:1)计算每个队列的权重系数;2)选择轮询调度方案;3)基于权重系数的轮询调度;4)基于权重系数的分层轮询调度。优点:1)能够根据各优先级业务量实时调整调度权重;2)能够适应不同的业务分布和业务到达速率,能够保证服务质量,降低高优先级业务的丢包率;3)降低了网络建设成本,提高了网络性能和网络服务质量。

Description

一种分层的加权轮询调度装置及方法
技术领域
本发明涉及一种分层的加权轮询调度装置及方法,属于通信技术领域。
背景技术
随着互联网与物联网新功能、新场景的增加,各种网络应用广泛兴起,交换网络需要能够提供多优先级业务的服务,传统的负载均衡交换第一级交换单元采用输入排队(IQ,Input Oueued)结构,通常认为队列可以是无限长度,这与实际情况不符,当输入队列为有限长度时,将出现丢包现象,这一问题在多优先级业务调度时,更为明显,传统的轮询调度难以提供优先级区分,如RR(Round-Robin)算法;若始终优先调度高优先级业务,会造成低优先级业务难以及时获得服务,如ERR(Exhaustive Round-Robin)算法;而LQF(LongestQueue First)算法没有考虑到不同优先级业务之间的影响,会造成大流量的低优先级业务获得比高优先级的业务更优的服务,且复杂度更高;当某个优先级的业务量较大时,如何尽快调度这个优先级的业务以减少丢包,同时不影响其它优先级的服务,尤其是不侵占高优先级业务的权益,是需要解决的问题。
队列调度技术广泛应用于路由器和交换机中,它按照一定的服务规则对交换节点的不同输入业务流分别进行调度和服务,使所有的输入业务流能按预定的方式共享交换节点的输出链路带宽,是实现网络服务质量QoS保证和提高网络性能的一项关键技术。
目前现有的队列调度方法中,主要包括轮询调度(RR),加权轮询调度(WRR),尽力轮询调度(ERR),最长队列优先调度(LQF)等;其中:
RR方法,该方法以公平的方式轮询所有的队列,用户公平使用共享资源,无法体现出不同优先级队列之间服务等级的不同;
WRR方法,根据每个队列的优先级,为每个队列分配不同的权值,使得高优先级的队列能够得到更好的服务,避免低优先级队列占用过多的网络带宽;但是WRR中各队列的权重值是固定分配的,无法随着业务到达情况动态调整,因此可能会导致链路利用率较低的情况,灵活性较差。
ERR方法,始终优先调度高优先级队列,会造成低优先级队列业务难以获得及时的服务;LQF方法,没有考虑到不同优先级业务之间的影响,会造成大量低优先级的业务获得比高优先级业务更优的服务,且复杂度更高;以上现有的队列调度方法,均存在占用输出链路带宽较多、链路利用率较低的缺点,这些缺点直接导致了对网络硬件设施的高要求,加大了网络建设成本,严重限制了网络服务质量网络性能的提升。
本发明根据VOQ(虚拟输出队列)的形式来缓存不同优先级的分组;权重系数可按照各队列统计到的实时业务到达速率或者各优先级业务的指定服务带宽计算得出;按照优先级从高到低的顺序轮询不同优先级的队列,并且根据分配到的权重将队列中相应比例的分组调度输出。
当各优先级业务分布均匀时,基于权重系数轮询调度各优先级业务;若出现某个优先级业务其积压的分组数超过一定数值(比如,积压分组占总积压数一半以上时),将优先调度不低于该优先级的业务;即首先对于最高优先级到该优先级的业务进行基于权重的轮询调度,当这些业务的权重系数为0后,再对低优先级业务进行基于权重的轮询调度。
发明内容
本发明提出的是一种分层的加权轮询调度装置及方法,其目的旨在根据各优先级的业务量和业务分布的特点,及时调整权重和调度顺序,在降低丢包率的同时满足不同优先级队列的服务要求,降低网络建设成本,提高网络性能和网络服务质量。
本发明的技术解决方案:一种分层的加权轮询调度装置,其结构包括先入先出缓存队列模块、流量统计模块、权重管理模块、调度控制模块;其中,权重管理模块包括权重系数计算子模块、权重系数存储与更新子模块。
分层的加权轮询调度方法,具体包括以下步骤:
1)计算每个队列的权重系数;
2)选择轮询调度方案;
3)基于权重系数的轮询调度;
4)基于权重系数的分层轮询调度。
本发明的优点:
1)本发明的调度方法通过统计各优先级队列的积压分组数目,计算得出调度的权重系数,然后采用优先级由高到低轮询的方式对队列进行调度,能够根据各优先级业务量实时调整调度权重;
2)本发明在某个优先级业务积压分组数超过一定值时调整调度顺序,增加该优先级业务被集中调度的机会,且不影响优先级高于该优先级的业务,使得本发明能够适应不同的业务分布和业务到达速率,能够保证服务质量,降低高优先级业务的丢包率;
3)降低了网络建设成本,提高网络性能和网络服务质量,能有效避免网络堵塞和数据丢失。
附图说明
附图1是本发明的方框示意图。
附图2是实施例1的实现流程图。
附图3是本发明实施例2的队列调度示意图。
附图4是本发明实施例3的队列调度示意图。
具体实施方式
对照附图1,一种分层的加权轮询调度装置,其结构包括先入先出缓存队列模块、流量统计模块、权重管理模块、调度控制模块;其中,权重管理模块包括权重系数计算子模块、权重系数存储与更新子模块。
所述先入先出缓存队列模块,用于为每个业务流维护一个先入先出(FIFO)队列,缓存各业务流到达的分组。
所述流量统计模块用于在每一个调度周期开始时,通过计数器统计各业务流的分组到达和分组积压情况,对各个队列到达的实时业务量或者积压分组量进行计数。
所述权重管理模块包含两个子模块:权重系数计算子模块、权重系数存储与更新子模块;其中,权重系数计算子模块用于在每一个调度周期开始时,通过各队列统计到的实时业务到达速率和分组积压情况计算相应的权重系数;权重系数存储与更新子模块用于存储为每个先入先出队列分配的权重系数、并根据调度进程实时更新相应队列的权重系数。
权重管理模块,在每个调度周期内,接收流量统计模块产生的数据,计算权重系数值;以存储的权重系数协助调度控制模块制定调度决策;根据调度结果更新权重系数计数器。
所述权重系数计算子模块依据流量统计模块的统计结果,综合各优先级分配带宽,计算各优先级的服务权重系数,权重系数反映了一个队列在一个调度周期内获得调度的比例,所述权重系数指被服务的分组数。
所述权重系数存储与更新子模块将权重系数计算子模块计算得到的系数存储进计数器,并在每次调度后,更新相应调度器的值,一旦权重系数为0,表明该队列在本调度周期内的服务已经完成。
所述调度控制模块,主要功能是根据权重系数的分布情况判断是否启用分层的加权轮询调度、按照权重系数从各队列中调度出相应数量的分组。
采用分层的加权轮询调度方法时,根据权重系数存储与更新子模块所存储的权重系数分布,获得分层调度的边界优先级j,首先对优先级不低于j的队列,按照优先级从高到低进行加权轮询调度;在上述队列的权重系数计数器都为0之后,再对优先级低于j的队列按照优先级从高到低进行加权轮询调度,直到完成一个调度周期。
采用未分层的加权轮询调度方法时,根据权重系数存储与更新子模块所存储的权重系数,对每个队列按照优先级从高到低进行加权轮询调度,直到完成一个调度周期。
分层的加权轮询调度方法,具体包括以下步骤:
1)计算每个队列的权重系数;
2)选择轮询调度方案;
3)基于权重系数的轮询调度;
4)基于权重系数的分层轮询调度。
所述步骤1)计算每个队列的权重系数:
1a)设共有P个优先级,则每个优先级对应一个队列,则一对输入输出流共有P个队列;
1b)设一个调度周期为N个时隙,令优先级为i的分组进入队列Q i ,每N个时隙统计该队列积压的分组数目为N i
1c)计算P个队列中积压分组的总数目为N all ,即
Figure DEST_PATH_IMAGE001
1d)计算各优先级的权重系数w i
Figure DEST_PATH_IMAGE003
1e)每个优先级队列Q i 维护一个权重系数计数器DC i ,每个调度周期初始时DC i =w i
所述步骤2)选择轮询调度方案:
若存在队列Q j ,其积压分组数为N j ,使得
Figure 537099DEST_PATH_IMAGE004
,则标记优先级j为分层调度的边界优先级,调度控制模块执行基于权重系数的分层轮询调度,否则执行基于权重系数的轮询调度。
所述步骤3)基于权重系数的轮询调度:
3a)初始化队列编号i = 0,本周期内已获调度的分组数cnt = 0;
3b)轮询优先级队列Q i ,根据权重系数计数器DC i 的值决定队首分组是否出队;
若队列Q i 的权重系数DC i 不为0,则将该队列中的分组调度输出,相应的权重系数DC i 减1;更新该周期内已获得调度的分组数:cnt = cnt + 1,执行步骤3c;
若队列Q i 的权重系数DC i = 0,执行步骤3c;
3c)若cnt = N,则表明当前所有队列调度都已经结束;
cnt < Ni < P-1,将当前的队列编号i加1,得到下一个优先级队列的编号,执行3b;
cnt < Ni = P-1,将当前的队列编号i设置为0,执行3b。
所述步骤4)基于权重系数的分层轮询调度:
4a)初始化队列编号i = 0,本周期内已获调度的分组数cnt = 0;
4b)轮询优先级队列Q i ,根据权重系数计数器DC i 的值决定该队列的队首分组是否出队;
若队列Q i 的权重系数DC i 不为0,则将该队列中的分组调度输出,相应的权重系数DC i 减1;更新该周期内已获得调度的分组数:cnt = cnt + 1,执行步骤4c;
若队列Q i 的权重系数DC i = 0,执行步骤4c;
4c)将i与步骤2)中标记的分层调度边界优先级j进行比较,若i = j,则i = 0;若i < j,则i = i + 1;
DC i = 0,i =0,1,…, j,执行步骤4d;否则执行步骤4b;
4d)令i = j + 1,若i < P,则执行4e,则表明当前所有队列调度已经结束;
4e)轮询优先级队列Q i ,根据DC i 的值决定队列是否出队;
若队列Q i 的权重系数DC i 不为0,则将该队列中的分组调度输出,相应的权重系数DC i 减1;更新该周期内已出队分组的数目:cnt = cnt + 1,执行步骤4f;
若队列Q i 的权重系数DC i = 0,执行步骤4f;
4f)若cnt = N,则表明该周期内所有队列调度任务都已经结束;
cnt < Ni < P-1,将当前的队列编号i加1,得到下一个优先级队列的编号,执行步骤4e;
cnt < Ni = P-1,将当前的队列编号i设置为0,执行步骤4e。
实施例1
参照附图2,分层的加权轮询调度方法,其实现步骤如下:
步骤1,为每个队列分配权重系数DC i
1a)设共有P个优先级,则每个优先级对应一个队列,共有P个子队列;
1b)令一个调度周期为N个时隙或分组,优先级为i的队列为Q i ,在每N个时隙统计该队列积压的分组数目为N i
1c)计算P个子队列中积压分组的总数目为N all ,即
Figure 260205DEST_PATH_IMAGE001
1d)计算各优先级的权重系数w i
Figure DEST_PATH_IMAGE005
1e)将各优先级的权重系数存储在权重系数存储模块,权重系数存储模块为每个优先级队列Q i 维护一个权重系数计数器DC i ,每个调度周期初始时DC i = w i
步骤2,通过调度控制模块来确定调度模式:
若存在队列Q j ,其积压分组数为N j ,使得
Figure 933631DEST_PATH_IMAGE006
成立,则将优先级j标记为分层调度的边界优先级,调度控制模块执行步骤4:基于权重系数的分层轮询调度,否则执行步骤3:基于权重系数的轮询调度;
步骤3,将各优先级队列中的分组进行基于权重系数的调度输出,完成一个调度周期:
3a)初始化队列编号i = 0,本周期内已获调度的分组数cnt = 0;
3b)轮询优先级队列Q i ,根据权重系数计数器DC i 的值决定队首分组是否出队;
若队列Q i 的权重系数DC i 不为0,则将该队列中的分组调度输出,相应的权重系数DC i 减1;更新该周期内已获得调度的分组数:cnt = cnt + 1,执行步骤3c;
若队列Q i 的权重系数DC i = 0,执行步骤3c;
3c)若cnt = N,则表明当前所有队列调度都已经结束;
cnt < Ni < P-1,将当前的队列编号i加1,得到下一个优先级队列的编号,执行3b;
cnt < Ni = P-1,将当前的队列编号i设置为0,执行3b;
步骤4,将各优先级队列中的分组进行基于权重系数的分层调度输出,完成一个调度周期:
4a)初始化队列编号i = 0,本周期内已获调度的分组数cnt = 0;
4b)轮询优先级队列Q i ,根据权重系数计数器DC i 的值决定该队列的队首分组是否出队;
若队列Q i 的权重系数DC i 不为0,则将该队列中的分组调度输出,相应的权重系数DC i 减1;更新该周期内已获得调度的分组数:cnt = cnt + 1,执行步骤4c;
若队列Q i 的权重系数DC i = 0,执行步骤4c;
4c)将i与分层调度边界优先级j进行比较,若i = j,则i = 0;若i < j,则i = i +1;
进一步判断若DC i = 0,i =0,1,…,j,执行步骤4d;否则执行步骤4b;
4d)令i = j + 1,若i < P,则执行4e,则表明当前所有队列调度已经结束;
4e)轮询优先级队列Q i ,根据DC i 的值决定队列是否出队;
若队列Q i 的权重系数DC i 不为0,则将该队列中的分组调度输出,相应的权重系数DC i 减1;更新该周期内已出队分组的数目:cnt = cnt + 1,执行步骤4f;
若队列Q i 的权重系数DC i = 0,执行步骤4f;
4f)若cnt = N,则表明该周期内所有队列调度任务都已经结束;
cnt < Ni < P-1,将当前的队列编号i加1,得到下一个优先级队列的编号,执行4e;
cnt < Ni = P-1,将当前的队列编号i设置为0,执行4e。
实施例2
参照附图3,在本实施例中,系统提供的优先级共有4种,为每个优先级业务维护一个FIFO队列,调度周期N = 8,优先级0最高,优先级1次之,以此类推;本实施例中,第0优先级队列中的积压分组数为4,第1优先级队列的积压分组数为8,第2优先级队列的积压分组数为2,第3优先级队列的积压分组数为2,具体步骤如下:
步骤1,为每个队列分配权重系数DC i
通过统计得到各优先级队列中的积压分组数,根据权重系数计算方法得到各优先级业务的权重系数分别为:w 0 = 2,w 1 = 4,w 2 = 1,w 3 = 1;获得的权重系数赋值给权重系数计数器,DC 0 = 2,DC 1 = 4,DC 2 = 1,DC 3 = 1。
步骤2,通过调度控制模块选择合适的调度模式:
由业务统计模块得到各队列积压的分组数目分别为4、8、2、2,优先级为1的队列积压分组数N 1 N all / 2,所以将优先级1标记为分层调度的边界优先级,执行分层的加权轮询调度,首先对优先级不低于优先级1的业务进行基于权重的轮询调度,随后再对优先级低于优先级1的业务进行基于权重的轮询调度;
步骤3,将各优先级队列中的分组进行基于权重系数的集中调度输出,完成一个调度周期:由于DC 0 > 0,DC 1 > 0,可进行轮询调度操作;
首先令cnt = 0,轮询优先级为0的队列,其权重系数计数器DC 0 = 2,所以可以进行出队操作,然后其权重系数计数器减1,即DC 0 = 1,同时更新已出队分组数:cnt = 1;
接下来,轮询到优先级为1的队列,其权重系数计数器DC 1 = 4,可以进行出队操作,然后其权重系数计数器减1,即DC 1 = 3,同时更新已出队分组数:cnt = 2;
由于此时DC 0 > 0,DC 1 > 0,继续进行轮询操作;
轮询优先级为0的队列,此时权重系数计数器DC 0 = 1,进行出队操作,然后其权重系数计数器减1,即DC 0 = 0,同时更新已出队分组数:cnt = 3;
接下来,轮询优先级为1的队列,其权重系数计数器DC 1 = 3,进行出队操作,将其权重系数计数器减1,即DC 1 = 2,同时更新已出队分组数:cnt = 4;
由于DC 1 > 0,继续进行轮询操作;
优先级为0的队列权重系数计数器为0,该队列不做分组调度操作;
接下来,轮询优先级为1的队列,其权重系数计数器DC 1 = 2,进行出队操作,将其权重系数计数器减1,即DC 1 = 1,同时更新已出队分组数:cnt = 5;
由于DC 1 > 0,接着进行轮询操作;
优先级为0的队列权重系数计数器为0,该队列不做分组调度操作;
接下来,轮询优先级为1的队列,其权重系数计数器DC 1 = 1,进行出队操作,将其权重系数计数器减1,即DC 1 = 0,同时更新已出队分组数:cnt = 6;
至此,DC 0 = DC 1 = 0,开始服务优先级为2和3的队列;
轮询优先级为2的队列,其权重系数计数器DC 2 = 1,进行出队操作,将其权重系数计数器减1,即DC 2 = 0,同时更新已出队分组数:cnt = 7;
接着轮询优先级为3的队列,其权重系数计数器DC 3 = 1,可以进行出队操作,将其权重系数计数器减1,即DC 3 = 0,同时更新已出队分组数:cnt = 8;
由于cnt = 8 = N,表明该调度周期需要服务的分组已完成调度输出。
实施例3
参照附图4,在本实施例中,系统提供的优先级共有4种,为每个优先级业务维护一个FIFO队列,优先级0最高,优先级1次之,以此类推;调度周期N = 8,本实施例中,第0优先级队列中的积压分组数为2,第1优先级队列的积压分组数为6,第2优先级队列的积压分组数为6,第3优先级队列的积压分组数为2,具体步骤如下:
步骤1,为每个队列分配权重系数DC i
通过统计得到各优先级队列中的积压分组数,根据权重系数计算方法得到各优先级业务的权重系数分别为:w 0 = 1,w 1 = 3,w 2 = 3,w 3 = 1;获得的权重系数赋值给权重系数计数器,DC 0 = 1,DC 1 = 3,DC 2 = 3,DC 3 = 1。
步骤2,通过调度控制模块选择合适的调度模式:
由业务统计模块得到各队列积压的分组数目分别为2、6、6、2,没有队列加压分组数大于等于总积压分组数的一半以上,表明暂时没有大流量业务急需调度,选择执行加权轮询调度。
步骤3,将各优先级队列中的分组进行基于权重系数的轮询调度输出,完成一个调度周期:
初始化令cnt = 0,首先轮询优先级为0的队列,由于其权重系数大于0,因此进行队首分组出队操作,相应队列的权重系数计数器减1,DC 0 = 0,同时更新已出队分组数:cnt = 1;
轮询到优先级为1的队列,其权重系数计数器值为3,进行队首分组出队操作,相应队列的权重系数计数器减1,DC 1 = 2,同时更新已出队分组数:cnt = 2;
轮询到优先级为2的队列,其权重系数计数器值为3,进行队首分组出队操作,相应队列的权重系数计数器减1,DC 2 = 2,同时更新已出队分组数:cnt = 3;
轮询到优先级为3的队列,其权重系数计数器值为1,进行队首分组出队操作,相应队列的权重系数计数器减1,DC 3 = 0,同时更新已出队分组数:cnt = 4;
截至此时cnt <N,所以继续从优先级0业务开始轮询调度;
优先级为0的队列权重系数计数器值为0,该队列不做分组调度操作;
优先级为1的队列权重系数计数器值为2,调度队首分组,更新权重系数计数器值,DC 1 = 1,同时,更新已出队分组数:cnt = 5;
优先级为2的队列权重系数计数器值为2,调度队首分组,更新权重系数计数器值,DC 2 = 1,同时,更新已出队分组数:cnt = 6;
优先级为3的队列权重系数计数器值为0,该队列不做分组调度操作;
截至此时cnt <N,所以继续从优先级0业务开始轮询调度;
优先级为0的队列权重系数计数器值为0,该队列不做分组调度操作;
优先级为1的队列权重系数计数器为1,调度队首分组,更新权重系数计数器值,DC 1 = 0,同时,更新已出队分组数:cnt = 7;
优先级为2的队列权重系数计数器为1,调度队首分组,更新权重系数计数器值,DC 2 = 0,同时,更新已出队分组数:cnt = 8;
优先级为3的队列权重系数计数器值为0,该队列不做分组调度操作;
此时,cnt = 8,该调度周期结束。

Claims (4)

1.分层的加权轮询调度装置,其特征是包括先入先出缓存队列模块、流量统计模块、权重管理模块、调度控制模块;其中,权重管理模块包括权重系数计算子模块、权重系数存储与更新子模块;
所述先入先出缓存队列模块用于为每个业务流维护一个先入先出队列,缓存各业务流到达的分组;
所述流量统计模块用于在每一个调度周期开始时,通过计数器统计各业务流的分组到达和分组积压情况,对各个队列到达的实时业务量或者积压分组量进行计数;
所述权重管理模块包含两个子模块:权重系数计算子模块、权重系数存储与更新子模块;其中,权重系数计算子模块用于在每一个调度周期开始时,通过各队列统计到的实时业务到达速率和分组积压情况计算相应的权重系数;权重系数存储与更新子模块用于存储为每个先入先出队列分配的权重系数、并根据调度进程实时更新相应队列的权重系数;
权重管理模块在每个调度周期内,接收流量统计模块产生的数据,计算权重系数值;以存储的权重系数协助调度控制模块制定调度决策;根据调度结果更新权重系数计数器;
所述权重系数计算子模块依据流量统计模块的统计结果,综合各优先级分配带宽,计算各优先级的服务权重系数,权重系数反映了一个队列在一个调度周期内获得调度的比例,所述权重系数指被服务的分组数;
所述权重系数存储与更新子模块将权重系数计算子模块计算得到的系数存储进计数器,并在每次调度后,更新相应计数器的值,一旦权重系数为0,表明该队列在本调度周期内的服务已经完成;
所述调度控制模块的功能是根据权重系数的分布情况判断是否启用分层的加权轮询调度、按照权重系数从各队列中调度出相应数量的分组。
2.分层的加权轮询调度方法,其特征是包括以下步骤:
1)计算每个队列的权重系数;
2)选择轮询调度方案;
3)基于权重系数的轮询调度;
4)基于权重系数的分层轮询调度;
所述步骤1)计算每个队列的权重系数:
1a)设共有P个优先级,则每个优先级对应一个队列,则一对输入输出流共有P个队列;
1b)设一个调度周期为N个时隙,令优先级为i的分组进入队列Qi,每N个时隙统计该队列积压的分组数目为Ni
1c)计算P个队列中积压分组的总数目为Nall,即
Figure FDA0002327993840000021
1d)计算各优先级的权重系数wi
Figure FDA0002327993840000022
1e)每个优先级队列Qi维护一个权重系数计数器DCi,每个调度周期初始时DCi=wi
所述步骤2)选择轮询调度方案:
若存在队列Qj,其积压分组数为Nj,使得
Figure FDA0002327993840000023
则标记优先级j为分层调度的边界优先级,调度控制模块执行基于权重系数的分层轮询调度,否则执行基于权重系数的轮询调度。
3.根据权利要求2所述分层的加权轮询调度方法,其特征是所述步骤3)基于权重系数的轮询调度:
3a)初始化队列编号i=0,本周期内已获调度的分组数cnt=0;
3b)轮询优先级队列Qi,根据权重系数计数器DCi的值决定队首分组是否出队;
若队列Qi的权重系数DCi不为0,则将该队列中的分组调度输出,相应的权重系数DCi减1;更新该周期内已获得调度的分组数:cnt=cnt+1,执行步骤3c;
若队列Qi的权重系数DCi=0,执行步骤3c;
3c)若cnt=N,则表明当前所有队列调度都已经结束;
若cnt<N,i<P-1,将当前的队列编号i加1,得到下一个优先级队列的编号,执行3b;
若cnt<N,i=P-1,将当前的队列编号i设置为0,执行3b。
4.根据权利要求2所述分层的加权轮询调度方法,其特征是所述步骤4)基于权重系数的分层轮询调度:
4a)初始化队列编号i=0,本周期内已获调度的分组数cnt=0;
4b)轮询优先级队列Qi,根据权重系数计数器DCi的值决定该队列的队首分组是否出队;
若队列Qi的权重系数DCi不为0,则将该队列中的分组调度输出,相应的权重系数DCi减1;更新该周期内已获得调度的分组数:cnt=cnt+1,执行步骤4c;
若队列Qi的权重系数DCi=0,执行步骤4c;
4c)将i与分层调度边界优先级j进行比较,若i=j,则i=0;若i<j,则i=i+1;
若DCi=0,i=0,1,…,j,执行步骤4d;否则执行步骤4b;
4d)令i=j+1,若i<P,则执行4e,否则表明当前所有队列调度已经结束;
4e)轮询优先级队列Qi,根据DCi的值决定队列是否出队;
若队列Qi的权重系数DCi不为0,则将该队列中的分组调度输出,相应的权重系数DCi减1;更新该周期内已出队分组的数目:cnt=cnt+1,执行步骤4f;
若队列Qi的权重系数DCi=0,执行步骤4f;
4f)若cnt=N,则表明该周期内所有队列调度任务都已经结束;
若cnt<N,i<P-1,将当前的队列编号i加1,得到下一个优先级队列的编号,执行4e;
若cnt<N,i=P-1,将当前的队列编号i设置为0,执行4e。
CN201710695304.8A 2017-08-15 2017-08-15 一种分层的加权轮询调度装置及方法 Active CN107483363B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710695304.8A CN107483363B (zh) 2017-08-15 2017-08-15 一种分层的加权轮询调度装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710695304.8A CN107483363B (zh) 2017-08-15 2017-08-15 一种分层的加权轮询调度装置及方法

Publications (2)

Publication Number Publication Date
CN107483363A CN107483363A (zh) 2017-12-15
CN107483363B true CN107483363B (zh) 2020-04-14

Family

ID=60599519

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710695304.8A Active CN107483363B (zh) 2017-08-15 2017-08-15 一种分层的加权轮询调度装置及方法

Country Status (1)

Country Link
CN (1) CN107483363B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110048964B (zh) * 2018-01-15 2023-09-12 深圳市中兴微电子技术有限公司 一种业务队列的整形方法、终端及存储介质
CN110213178B (zh) * 2018-05-31 2022-08-12 腾讯科技(深圳)有限公司 流量管理方法、集成芯片、及装置
CN108965160B (zh) * 2018-06-29 2020-06-05 北京邮电大学 适用于矿山物联网多业务传输的动态差额加权轮询调度方法
CN109639596A (zh) * 2019-01-31 2019-04-16 重庆邮电大学 一种用于车载can-canfd混合网络的网关调度方法
CN112468551A (zh) * 2020-11-16 2021-03-09 浪潮云信息技术股份公司 一种基于业务优先级的智能调度工作方法
CN114143267B (zh) * 2021-11-26 2023-08-29 北京天融信网络安全技术有限公司 流量调整方法、装置、电子设备及计算机可读存储介质
CN114301730B (zh) * 2021-12-30 2023-10-24 重庆邮电大学 一种用于车载Ethernet到CAN网络的网关调度方法
CN114245469B (zh) * 2022-02-23 2022-06-03 南京风启科技有限公司 支持多时间周期的多级调度方法
CN115150340B (zh) * 2022-06-29 2023-10-27 武汉烽火技术服务有限公司 一种动态调整消息队列权重的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101277175A (zh) * 2007-03-30 2008-10-01 国际商业机器公司 改进会话启动协议服务器性能的方法和装置
CN101969409A (zh) * 2010-11-05 2011-02-09 南京邮电大学 一种基于定时器和mdrr的队列调度方法
CN106254272A (zh) * 2016-09-05 2016-12-21 盛科网络(苏州)有限公司 基于硬件实现的弹性的加权公平调度方法及调度系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8547899B2 (en) * 2007-07-28 2013-10-01 Ruckus Wireless, Inc. Wireless network throughput enhancement through channel aware scheduling

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101277175A (zh) * 2007-03-30 2008-10-01 国际商业机器公司 改进会话启动协议服务器性能的方法和装置
CN101969409A (zh) * 2010-11-05 2011-02-09 南京邮电大学 一种基于定时器和mdrr的队列调度方法
CN106254272A (zh) * 2016-09-05 2016-12-21 盛科网络(苏州)有限公司 基于硬件实现的弹性的加权公平调度方法及调度系统

Also Published As

Publication number Publication date
CN107483363A (zh) 2017-12-15

Similar Documents

Publication Publication Date Title
CN107483363B (zh) 一种分层的加权轮询调度装置及方法
US7894344B2 (en) System and method for aggregated shaping of multiple prioritized classes of service flows
US6993041B2 (en) Packet transmitting apparatus
US8824287B2 (en) Method and apparatus for managing traffic in a network
CN101414958B (zh) 一种业务调度方法及装置
US9608927B2 (en) Packet exchanging device, transmission apparatus, and packet scheduling method
US20030219026A1 (en) Method and multi-queue packet scheduling system for managing network packet traffic with minimum performance guarantees and maximum service rate control
EP2742656A1 (en) Scheduling under congestion with traffic load-based scaling
CN110086728B (zh) 发送报文的方法、第一网络设备及计算机可读存储介质
US9521086B2 (en) Queue scheduling method and apparatus
JP4893646B2 (ja) 帯域制御装置および帯域制御方法
CN111400206B (zh) 基于动态虚拟门限的缓存管理方法
AU2002339349B2 (en) Distributed transmission of traffic flows in communication networks
CN102611605A (zh) 一种数据交换网的调度方法、装置和系统
US6947380B1 (en) Guaranteed bandwidth mechanism for a terabit multiservice switch
CN100505688C (zh) 一种用于网络处理器的差额权重排队调度装置及调度方法
CN109327406B (zh) 一种用于差分队列服务队列数据包的服务质量保障的方法
CN105577563B (zh) 流量管理方法
US7619971B1 (en) Methods, systems, and computer program products for allocating excess bandwidth of an output among network users
CN111638986A (zh) 一种QoS队列调度方法、装置、系统及可读存储介质
EP2063580B1 (en) Low complexity scheduler with generalized processor sharing GPS like scheduling performance
US7599381B2 (en) Scheduling eligible entries using an approximated finish delay identified for an entry based on an associated speed group
Tong et al. Quantum varying deficit round robin scheduling over priority queues
JPH11298523A (ja) パケット・スケジューリング方法
WO2001065781A2 (en) Method and apparatus for high-speed generation of a priority metric for queues

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
TR01 Transfer of patent right

Effective date of registration: 20240805

Address after: No. 23 Ye Yuanlu, Yunan Village, Zhouxing, Haiyu Town, Changshu City, Suzhou City, Jiangsu Province, 215517

Patentee after: Changshu Kelan Electronic Technology Co.,Ltd.

Country or region after: China

Address before: 214121 No. 1600 West high wave road, Jiangsu, Wuxi

Patentee before: WUXI INSTITUTE OF TECHNOLOGY

Country or region before: China

TR01 Transfer of patent right