CN100456744C - 一种数据调度方法及系统 - Google Patents

一种数据调度方法及系统 Download PDF

Info

Publication number
CN100456744C
CN100456744C CNB2006100993151A CN200610099315A CN100456744C CN 100456744 C CN100456744 C CN 100456744C CN B2006100993151 A CNB2006100993151 A CN B2006100993151A CN 200610099315 A CN200610099315 A CN 200610099315A CN 100456744 C CN100456744 C CN 100456744C
Authority
CN
China
Prior art keywords
queue
formation
scheduling unit
scheduling
subordinate
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.)
Expired - Fee Related
Application number
CNB2006100993151A
Other languages
English (en)
Other versions
CN1889521A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2006100993151A priority Critical patent/CN100456744C/zh
Publication of CN1889521A publication Critical patent/CN1889521A/zh
Application granted granted Critical
Publication of CN100456744C publication Critical patent/CN100456744C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种数据调度方法及系统,属于通信领域。该方法包括:上级调度单元对排队队列进行调度,将被调度队列输出至下级调度单元;下级调度单元检测所接收队列的空闲状态信息,并根据检测结果选择一个非空队列输出。由上述本发明提供的技术方案可以看出,本发明通过设置下级调度单元使最终的调度结果较少出现空调度的情况,在不大幅提高成本的情况下提高整个调度器的调度效率。

Description

一种数据调度方法及系统
技术领域
本发明涉及网络通信技术领域,尤其涉及一种数据调度方法及系统。
背景技术
通信系统中的数据传输经常会出现排队的情况,不同的系统承载数据流等待系统对其进行转发和处理,这时系统就需要根据一定的优先级划分对正在排队等候的数据流进行调度。
系统对优先级的划分可以根据用户的需要、数据流的类型进行具体的规定和调整。比如,在数据通信中的实时交互式数据流要求低延迟、低抖动,非实时交互式数据流要求延迟可以较大,但是抖动一定要小,因此将实时交互式数据流的调度优先级设置为高于非实时交互式数据流的调度优先级,这样便可以同时保证实时交互式数据流和非实时交互式数据流各自的要求。
现有通信的数据速率越来越高,对参加排队的数据流调度算法也越来越复杂,调度算法运算的时间也越来越长。在这种情况下,需要提高调度器的处理能力。
如果每次调度转发的运算时间(Tsch)小于数据流平均到达时间间隔(Tcin)则数据流基本无须排队或者仅用很短的排队时间就可以得到服务;但如果Tsch大于Tcin,队列的长度就会不断加长。
对于通信系统而言,Tsch大于Tcin的情况是非常可能发生的,为了尽可能降低Tsch,可以通过增加多个调度器并行工作的方法提高对数据流的调度频率,提高单位时间内对数据流的调度能力。
目前,现有技术提供了两种提高调度器性能的方案,下面将分别进行说明。
第一种实现方案为:通过增加多个调度器并行工作的方法来提高调度器的整体性能。随着并行工作的调度器个数的增加,对数据流的调度能力也相应随之增加。
当两个调度器对数据流进行调度时会产生“空调度”(即某些时候调度器选中的是一个空闲的队列,浪费了调度机会)的情况,如果继续增加调度器个数,在提高调度速度的同时,空调度也会越来越严重,在一定程度上浪费了系统的调度能力。
第二种实现方案为:尽可能利用先进的半导体工艺提高单个调度器的处理能力。
但由于这种调度器的性能严重依赖于半导体的工艺,成本很高,在实际应用中不易推广。而且随着调度算法方法复杂程度的提高,这种单个高性能调度器实现的难度越来越大。
发明内容
本发明的目的是提供一种数据调度方法及系统,以减少数据调度过程输出空队列的情况,提高调度效率。
本发明的目的是通过以下技术方案实现的:
一种数据调度方法,应用于一种数据调度系统,所述数据调度系统包括下级调度单元和多个上级调度单元,该方法包括:
A、上级调度单元对排队队列进行调度,将被调度队列输出至下级调度单元;
B、下级调度单元检测接收的所述被调度队列的空闲状态信息,并根据检测结果选择一个非空队列输出。
所述步骤B包括:
B1、当下级调度单元接收的所述被调度队列为非空闲队列时,下级调度单元将所述非空闲队列调度输出。
所述步骤B包括:
B2、当下级调度单元接收的所述被调度队列为空闲队列时,下级调度单元从排队队列中选择一个非空闲队列代替空闲队列输出。
所述步骤B2包括:
B21、下级调度单元对处于排队状态的各队列进行状态检测,当排队队列包含非空闲队列,下级调度单元从处于排队状态的队列中选择一个非空闲队列输出。
所述步骤B2包括:
B22、下级调度单元对处于排队状态的各队列进行状态检测,当排队队列包含非空闲队列,下级调度单元从处于排队状态的队列中选择一个非空闲队列输出。
所述步骤B22中下级调度单元是采用带权重的轮转调度的方法从处于排队状态的队列中选择一个非空闲队列调度输出。
上级调度单元和下级调度单元按照预先设定的调度方法从排队队列中调度队列,其中,预先设定的调度方法为:带权重的轮询WRR、轮询RR、动态轮询DRR、带权重的公平排队WFQ、SHVC和/或严格优先级SP调度方法。
一种数据调度系统,包括至少一个上级调度单元,所述的系统还包括下级调度单元,所述下级调度单元包括:
队列检测模块,用于检测上级调度单元发送的队列是否为空队列;
队列调度模块,用于根据对来自上级调度单元的队列的状态的检测结果选择一队非空队列输出。
所述的队列调度模块包括:
空闲调度子模块,用于在检测到来自上级调度单元的队列为空队列时从排队队列中调度输出一队非空队列;
非空闲调度子模块,用于在检测到来自上级调度单元的队列为非空队列时输出该队列。
由上述本发明提供的技术方案可以看出,本发明通过设置下级调度单元使最终的调度结果较少出现空调度的情况,在不大幅提高成本的情况下提高整个调度器的调度效率。
附图说明
图1所示为本发明所述调度方法的实施例一中队列及与队列相关的信息在不同调度单元中传输的示意图;
图2所示为本发明所述数据调度方法的实施例一的流程图;
图3所示为本发明实施例一中下级调度单元工作流程图;
图4所示为本发明所述调度系统实施例一的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚,以下结合附图及实施例,对本发明进行详细说明。
本发明的核心是上级调度单元对排队队列进行调度,将被调度队列输出至下级调度单元;下级调度单元检测所接收队列的空闲状态信息,并根据检测结果选择一个非空队列输出,以避免输出空队列,提高调度效率。
具体一点讲,本发明中的一个上级调度单元调度处于排队状态的队列或多个上级调度单元轮流调度处于排队状态的队列,并将被调度的队列输出至下级调度单元;下级调度单元检测由上级调度单元调度的各队列的状态信息,当队列为非空队列,则直接将该队列输出,当队列为空队列,则下级调度单元检测当前各排队队列的状态信息,直接从排队队列中选择一队非空队列输出,使得本发明调度输出的队列均为非空队列。
本发明中由于存在多个处于排队状态的非空队列,因此上级调度单元和下级调度单元调度时需要从多个非空队列中进行选择。
本发明为上级调度单元和下级调度单元预先设置了调度算法,预先设定的调度算法包括带权重的轮询WRR、轮询RR、动态轮询DRR、带权重的公平排队WFQ、定型虚拟时钟SHVC、严格优先级SP等调度算法。
下面结合图1、图2和图3说明本发明提供的数据调度方法实施例一的详细过程:
如图1所示,当排队队列进入排队器后,上级调度单元从排队队列中获取调度单元需要的队列状态信息;
然后上级调度单元的调度结果以及调度结果的状态信息被上级调度单元发送至下级调度单元;
下级调度单元不仅接收来自上级调度单元的信息,还能够在接收到空队列时从在上级调度单元进行排队的队列中获取排队队列的信息;
下级调度单元最终从所接收到的上级调度单元输出队列中或从排队队列中选择一队非空队列输出,完成调度输出过程。
结合图1,如图2、图3所示的本发明调度方法实施例一的调度过程包括以下步骤。
步骤1、上级调度单元对排队队列进行调度,将被调度队列输出至下级调度单元。
所述步骤1包括上级调度单元检测并维护各队列的状态信息和上级调度单元调度输出队列两个过程。
上级调度单元检测并维护各队列的状态信息的详细过程如下。
上级调度单元在首次对排队队列进行调度时,对处于排队状态的所有队列进行检测,确定各排队队列为空队列或为非空队列。
由于排队队列中基本上均存在多个非空队列,因此在调度非空队列时需要确定队列调度输出的次序。因此,上级调度单元在检测各排队队列的空闲状态后还对各非空队列的优先级进行检测,以便按照各非空队列的优先级顺序调度输出各队列。
各队列优先级的是根据实际系统设计需求来制定的,例如为了保证语音数据的延迟最短,可以将语音数据队列定为高优先级,将其它数据的队列定为低优先级。
根据实际情况,队列优先级具有多种制定标准,本发明中所举出的仅为部分实例,优先级的制定并不限于上述实例。
在每次调度运算开始时,上级调度单元中的调度器采集当时的所有队列状态,比如语音、email数据队列的空闲状态。这些采集的数据将作为上级调度器运算的输入参数。
上级调度单元检测并维护各队列的状态信息后将调度输出队列,其过程如下。
在对排队队列的调度输出中,由于单个调度单元的调度速度有限,当需要较高的调度输出速率时,上级调度单元需使用多个调度器轮流进行调度,调度器的具体数量根据实际情况确定。
在本发明实施例二中,输出端口的最大输出速率为125M cell/s,且该最大输出速率不可变,系统时钟频率为250MHz,即每个时钟周期为4ns。
由于该实施例中上级调度单元的每个调度器从调度开始到调度完成均需要采集4个队列空闲状态并从中选择一个队列,假定完成一次调度至少需要4个时钟周期(16ns),单独使用一个调度器时调度速度最高为62.5M cell/s。
由于输出端口的最大输出速率为125M cell/s,为了充分利用输出端口,本发明实施例二中需要每经过2个时钟周期(8ns)输出一次调度结果(用2bit的q_sel[1:0]代表选中的队列号,sel_vld代表上行调度器自己认为q_sel是一个有效值,高电平有效),达到速率为125M cell/s。
因此需要在上级调度单元中使用上级调度器A和上级调度器器B轮流对队列进行调度,这样对队列的调度速度提高了一倍,实现了每2个时钟周期输出一次调度结果。
在本发明实施例二中的排队队列的优先级共分为4个级别,由低至高分别为class3、class2、class1、class0。
本实施例用4个一位二进制数分别表示表示4个队列中各队列的空闲状态:如果一个队列对应的一位参数为1,则表示该队列为空队列;如果对应的参数位为0,则表示该队列为非空队列。
在本发明实施例一的优先级划分中,class0队列是优先级最高的队列(比如语音队列),它与其它队列之间执行严格优先级调度(SP,strictpriorty),只要队列中存在优先级为class0的队列,则调度的结果就一定是选择优先级为class0的队列的数据输出;
对于优先级为class1、class2、class3的队列,其优先级低于class0,本实施例对这些队列的调度遵循带权重的公平轮转调度(WRR,weightedround robin),其调度权重分别为a∶b∶c。如果class1/2/3三个队列的空闲状态参数都为0,即各队列均不为空,如果对三个队列一共进行(a+b+c)次调度,那么队列1获得a次调度,队列2获得b次调度,队列3获得c次调度。
步骤2、下级调度单元检测所接收队列的空闲状态信息,并根据检测结果选择一个非空队列输出。
图3所示为步骤2的详细过程。
下级调度单元接收上级调度单元调度输出的队列后,需要检测所接收队列的状态,确定所接收队列是空闲队列还是非空闲队列。
对于不同状态的队列,下级调度单元采用相应的处理方法。
步骤21、当下级调度单元所接收的队列为非空闲队列,则下级调度单元将该非空闲队列调度输出。所述下级调度单元接收的队列来自上级调度单元的调度器A或调度器B。
步骤22、当下级调度单元所接收的队列为空闲队列,下级调度单元检测排队队列的状态,并选择队列输出。
其中,所述步骤22包括:
步骤221、当排队队列中包含非空闲队列,则下级调度单元从选择一队非空闲队列输出。
所述的处于排队状态的各队列是指在上级调度单元处仍未被上级调度单元调度的排队队列。
下级调度单元直接对处于上级调度单元的队列进行状态检测,确定各队列的空闲状态。
在确定非空闲队列后,还需要对各非空闲队列的优先级进行检测,以便在调度输出时确定输出的优先顺序。
下级调度单元从处于排队状态的各队列中选择一个非空闲队列输出。
所述步骤221中下级调度单元选择一个非空闲队列调度输出时使用带权重的轮转调度方法。
由于在步骤221中,下级调度单元已经确定了排队队列中的非空闲队列,并且确定了非空闲队列的输出优先级,因此当上级调度单元输出空队列时,下级调度单元按优先级顺序从排队队列中选择一个非空队列调度输出,确保最终输出的队列为非空队列。
如本发明实施例一所述,当使用两级调度单元调度输出数据,且上级调度单元包括两个调度器时,其数据的调度情况如表1所示:
  周期   到达的数据   调度前排队情况   调度进程   调度后排队情况
  0   高优先级   高优先级1组普通优先级0组   调度器A检查队列情况   高优先级1组普通优先级0组
  1   普通优先级   高优先级1组普通优先级1组   调度器B检查队列情况   高优先级1组普通优先级1组
  2   普通优先级   高优先级1组普通优先级2组   调度器A调度高优先级数据;调度器C将A调度的高优先级数据作为最终调度结果输出;   高优先级0组普通优先级2组
  3   普通优先级   高优先级0组普通优先级3组   调度器B调度高优先级数据;队列中无高优先级数据;调度器C将一组普优先级数据作为最终调度结果输出;   高优先级0组普通优先级2组
  4   高优先级   高优先级1组普通优先级2组   调度器A调度普通优先级数据;调度器C将普通优先级数据作为最终调度结果输出;   高优先级1组普通优先级1组
表1
由表1可以看出,使用上级调度单元的调度器A和调度器B对排队队列进行“一次调度”时会出现空调度的情况,因此本发明实施例二在“一次调度”后,通过下级调度单元的调度器C对“一次调度”输出的队列进行“二次调度”,通过“二次调度”本发明实施例二大大降低了输出空闲队列的可能性。
步骤222、当排队队列中的各队列全部为空闲队列,这时由于各个排队队列全部为空闲,因此无需再进行选择和比较,下级调度单元任选一空闲队列输出。
但由于在正常工作情况下排队队列中仅包含少量的空闲队列,因此步骤222中的情况极少出现。
下面结合图1和图4说明本发明提供的数据调度系统:
图4所示为本发明数据调度系统的实施例一,包括多个上级调度单元,所述的系统还包括下级调度单元,下级调度单元包括:
队列检测模块,用于检测上级调度单元发送的队列是否为空队列;
队列调度模块,用于根据对来自上级调度单元的队列的状态的检测结果选择一队非空队列。
所述的队列调度模块包括:
空闲调度子模块,用于在检测到被调度队列为空队列时从排队队列中调度输出一队非空队列;
非空闲调度子模块,用于在检测到被调度队列为非空队列时输出该队列。
在本发明的系统中,上级调度单元按照优先级顺序将处于排队状态的队列调度输出至下级调度单元;下级调度单元接收被调度队列后由状态检测模块对所接收队列的状态进行检测,确定所接收的队列是否为空闲队列;在确定队列是否空闲后,下级调度单元的队列调度模块选择一个非空闲队列输出;当队列为非空闲,下级调度单元直接输出该队列,当队列为空闲,下级调度单元不输出该空队列,从排队队列中调度一个非空队列输出。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (9)

1、一种数据调度方法,应用于一种数据调度系统,所述数据调度系统包括下级调度单元和多个上级调度单元,其特征在于,该方法包括:
A、上级调度单元对排队队列进行调度,将被调度队列输出至下级调度单元;
B、下级调度单元检测接收的所述被调度队列的空闲状态信息,并根据检测结果选择一个非空队列输出。
2、根据权利要求1所述的一种数据调度方法,其特征在于,所述步骤B包括:
B1、当下级调度单元接收的所述被调度队列为非空闲队列时,下级调度单元将所述非空闲队列调度输出。
3、根据权利要求1所述的一种数据调度方法,其特征在于,所述步骤B包括:
B2、当下级调度单元接收的所述被调度队列为空闲队列时,下级调度单元从排队队列中选择一个非空闲队列代替空闲队列输出。
4、根据权利要求3所述的一种数据调度方法,其特征在于,所述步骤B2包括:
B21、下级调度单元对处于排队状态的各队列进行状态检测,当排队队列包含非空闲队列,下级调度单元从处于排队状态的队列中选择一个非空闲队列输出。
5、根据权利要求3所述的一种数据调度方法,其特征在于,所述步骤B2包括:
B22、下级调度单元对处于排队状态的各队列进行状态检测,当排队队列包含非空闲队列,下级调度单元从处于排队状态的队列中选择一个非空闲队列输出。
6、根据权利要求4所述的一种数据调度方法,其特征在于,所述步骤B21中下级调度单元是采用带权重的轮转调度的方法从处于排队状态的队列中选择一个非空闲队列调度输出。
7、根据权利要求1至6中任意一项所述的一种数据调度方法,其特征在于,上级调度单元和下级调度单元按照预先设定的调度方法从排队队列中调度队列,其中,预先设定的调度方法为:带权重的轮询WRR、轮询RR、动态轮询DRR、带权重的公平排队WFQ、SHVC和/或严格优先级SP调度方法。
8、一种数据调度系统,包括至少一个上级调度单元,其特征在于,所述的系统还包括下级调度单元,所述下级调度单元包括:
队列检测模块,用于检测上级调度单元发送的队列是否为空队列;
队列调度模块,用于根据对来自上级调度单元的队列的状态的检测结果选择一队非空队列输出。
9、根据权利要求8所述的一种数据调度系统,其特征在于,所述的队列调度模块包括:
空闲调度子模块,用于在检测到来自上级调度单元的队列为空队列时从排队队列中调度输出一队非空队列;
非空闲调度子模块,用于在检测到来自上级调度单元的队列为非空队列时输出该队列。
CNB2006100993151A 2006-07-13 2006-07-13 一种数据调度方法及系统 Expired - Fee Related CN100456744C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100993151A CN100456744C (zh) 2006-07-13 2006-07-13 一种数据调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100993151A CN100456744C (zh) 2006-07-13 2006-07-13 一种数据调度方法及系统

Publications (2)

Publication Number Publication Date
CN1889521A CN1889521A (zh) 2007-01-03
CN100456744C true CN100456744C (zh) 2009-01-28

Family

ID=37578780

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100993151A Expired - Fee Related CN100456744C (zh) 2006-07-13 2006-07-13 一种数据调度方法及系统

Country Status (1)

Country Link
CN (1) CN100456744C (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753608B (zh) * 2008-12-09 2013-06-05 中国移动通信集团公司 分布式系统的调度方法及系统
CN101860472B (zh) * 2009-04-09 2012-08-22 华为技术有限公司 数据调度方法、交换机和网络系统
CN102271093A (zh) * 2011-09-14 2011-12-07 湖南科技大学 一种公平性好效率高的动态轮询分组调度方法
CN102685252A (zh) * 2012-05-31 2012-09-19 苏州阔地网络科技有限公司 一种网络会议的消息控制方法及系统
CN102685251A (zh) * 2012-05-31 2012-09-19 苏州阔地网络科技有限公司 一种网络会议的消息调度控制方法及系统
CN110109754B (zh) * 2016-05-17 2023-06-30 青岛海信移动通信技术有限公司 进程的调度方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1323117A (zh) * 2001-06-22 2001-11-21 北京一致沟通网络技术有限公司 一种互联网中的数据调度方法及装置
US20040179535A1 (en) * 2000-03-02 2004-09-16 Drew Bertagna Qualified priority queue scheduler

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040179535A1 (en) * 2000-03-02 2004-09-16 Drew Bertagna Qualified priority queue scheduler
CN1323117A (zh) * 2001-06-22 2001-11-21 北京一致沟通网络技术有限公司 一种互联网中的数据调度方法及装置

Also Published As

Publication number Publication date
CN1889521A (zh) 2007-01-03

Similar Documents

Publication Publication Date Title
CN1989738B (zh) 最低保证调度速率的传播
CN100456744C (zh) 一种数据调度方法及系统
US8339949B2 (en) Priority-aware hierarchical communication traffic scheduling
CN106533982B (zh) 基于带宽借用的动态队列调度装置及方法
CN101414958B (zh) 一种业务调度方法及装置
CN102594663A (zh) 队列调度方法及装置
CN109639596A (zh) 一种用于车载can-canfd混合网络的网关调度方法
CN101374109B (zh) 一种报文调度方法和调度装置
CN100505688C (zh) 一种用于网络处理器的差额权重排队调度装置及调度方法
CN102098217B (zh) 一种基于概率的多优先级队列调度方法
CN106789716A (zh) Tdma自组网的mac层队列调度方法
EP1638273B1 (en) Scheduling using quantum and deficit values
CN106921586B (zh) 一种数据流整形方法、数据调度方法以及装置
EP3021540B1 (en) Scheduler and method for layer-based scheduling queues of data packets
CN109347764A (zh) 实现带宽匹配的调度方法、系统及介质
US7599381B2 (en) Scheduling eligible entries using an approximated finish delay identified for an entry based on an associated speed group
CN100376099C (zh) 基于网络处理器平台实现的综合队列管理方法
CN113014465A (zh) 一种基于服务质量特性的总线传输接口系统及设计方法
EP1774721B1 (en) Propagation of minimum guaranteed scheduling rates
CN108259382A (zh) 3×256优先级调度电路
CN103547330A (zh) 用户调度方法及其装置
CN108540398A (zh) 反馈型负载均衡交叉缓冲调度算法
CN114157406A (zh) 用于降低Jitter的AFDX端系统及方法
EP1547325B1 (en) Frame relay frame shaping per dlci
CN106656859A (zh) 获取网络芯片wrr最优权值的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090128

CF01 Termination of patent right due to non-payment of annual fee