CN105634983A - 队列的调度方法及装置 - Google Patents
队列的调度方法及装置 Download PDFInfo
- Publication number
- CN105634983A CN105634983A CN201410606263.7A CN201410606263A CN105634983A CN 105634983 A CN105634983 A CN 105634983A CN 201410606263 A CN201410606263 A CN 201410606263A CN 105634983 A CN105634983 A CN 105634983A
- Authority
- CN
- China
- Prior art keywords
- queue
- scheduling
- status information
- scheduling operation
- dispatching
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种队列的调度方法及装置,其中该方法包括:在第一时钟周期内,获取对一个或多个队列进行调度所需要的状态信息,并存储;在第二时钟周期内,按照与获取的状态信息对应的调度策略执行调度操作。通过该方法解决了相关技术中难以实现在一个时钟周期完成队列信息的获取以及根据队列信息进行队列调度、最后在队列完成后立即更新队列信息操作的问题,减小了用于存储状态信息的芯片缓存单元和布局布线延时对时序设计的影响,进一步满足了芯片设计中对时钟频率的需求。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种队列的调度方法及装置。
背景技术
在数据通信领域,数据进入不同网络的带宽变化或者多通道汇聚都会存在队列调度。在通信设备带宽越来越大的趋势下,对多队列的调度效率也有了更高的要求。多队列高效率调度要求调度出队的周期越来越短,调度出队的报文要求没有间隔,也就是背靠背调度。
队列调度需要根据不同队列入队报文存储情况进行调度;队列调度的单位一般是数据包或者数据分片,报文或者分片个数需要存储在芯片缓存中,而队列信息和状态表一般也存在芯片缓存中。背靠背高效率队列调度的传统设计中,队列出队需要从缓存读出该队列报文个数等信息,并在调度出队的当拍时钟周期立即更新该队列和队列信息的缓存内容。而缓存资源在芯片中都会放在固定位置,操作缓存时会带来缓存单元和布局布线的延时。在通信芯片设计时,芯片工作的主时钟频率都有要求,传统多队列调度带来的延时会使芯片时钟设计更加困难。
相关技术的背靠背调度方法需要在1个时钟周期完成从队列状态模块获取队列信息,再根据队列信息进行队列调度,最后队列调度完后立即更新队列状态模块。而队列信息通常是存在芯片缓存里,这种队列信息在缓存间读取更新操作造成缓存单元和布局布线延时会比较大。在芯片的实现中,为达到***处理带宽要求,***时钟频率有最低设计要求,操作队列信息模块造成的较大延时,使得1个时钟周期完成队列调度的设计实现起来非常困难。
针对相关技术中难以实现在一个时钟周期完成队列信息的获取以及根据队列信息进行队列调度、最后在队列完成后立即更新队列信息操作的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种队列的调度方法及装置,解决了相关技术中难以实现在一个时钟周期完成队列信息的获取以及根据队列信息进行队列调度、最后在队列完成州立即更新队列信息的操作的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种队列的调度方法,包括:在第一时钟周期内,获取对一个或多个队列进行调度所需要的状态信息,并存储;在第二时钟周期内,按照与获取的所述状态信息对应的调度策略执行调度操作。
进一步地,所述状态信息包括:所述队列包含的报文数量。
进一步地,按照与获取的所述状态信息对应的调度策略执行调度操作包括:判断所述报文数量是否大于预定阈值;在判断结果为是时,按照第一队列调度策略对所述一个或多个队列执行调度操作;在判断结果为否时,按照第二队列调度策略执行调度操作,其中,与所述第一队列调度策略对应的调度速度大于与第二队列调度策略对应的调度速度。
进一步地,所述第一队列调度操作为在单位周期内对预定长度的报文进行背靠背出队列调度操作;和/或所述第二队列调度操作为在不小于预定数量个单位周期内进行出队列调度操作。
进一步地,所述预定阈值为3个报文。
进一步地,所述单位周期为一个时钟周期。
根据本发明的另一个方面,提供了一种队列的调度装置,包括:获取模块,用于在第一时钟周期内,获取对一个或多个队列进行调度所需要的状态信息,并存储;调度模块,用于在第二时钟周期内,按照与获取的所述状态信息对应的调度策略执行调度操作。
进一步地,所述状态信息包括:所述队列包含的报文数量。
进一步地,所述调度模块包括:判断单元,用于判断所述报文数量是否大于预定阈值;第一调度单元,用于在判断结果为是时,按照第一队列调度策略对所述一个或多个队列执行调度操作;第二调度单元,用于在判断结果为否时,按照第二队列调度策略执行调度操作,其中,与所述第一队列调度策略对应的调度速度大于与第二队列调度策略对应的调度速度。
进一步地,所述第一队列调度操作,为在单位周期内对预定长度的报文进行背靠背出队列调度操作;和/或所述第二队列调度操作,为在不小于预定数量个单位周期内进行出队列调度操作。
通过本发明,在多个时钟周期内完成存储一个或多个队列的状态信息,并根据该状态信息对应的调度策略执行调度操作的方式,解决了相关技术中难以实现在一个时钟周期完成队列信息的获取以及根据队列信息进行队列调度、最后在队列完成后立即更新队列信息操作的问题,减小了用于存储状态信息的芯片缓存单元和布局布线延时对时序设计的影响,进一步满足了芯片设计中对时钟频率的需求。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的队列的调度方法的流程图;
图2是根据本发明实施例的队列的调度装置的结构示意图;
图3是根据本发明实施例的队列的调度装置的优选结构示意图;
图4是根据本发明可选实施例的高效率多队列调度的装置结构示意图;
图5是根据本发明可选实施例的高效率多队列调度的方法流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种本发明实施例的连接建立方法,图1是根据本发明实施例的队列的调度方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102:在第一时钟周期内,获取对一个或多个队列进行调度所需要的状态信息,并存储;
步骤S104:在第二时钟周期内,按照与获取的状态信息对应的调度策略执行调度操作。
通过本实施例,在多个时钟周期内完成存储一个或多个队列的状态信息,并根据该状态信息对应的调度策略执行调度操作的方式,解决了相关技术中难以实现在一个时钟周期完成队列信息的获取以及根据队列信息进行队列调度、最后在队列完成后立即更新队列信息的操作的问题,减小了用于存储状态信息的芯片缓存单元和布局布线延时对时序设计的影响,进一步满足了芯片设计中对时钟频率的需求。
在本实施例的一个可选实施方式中,状态信息可以包括:队列包含的报文数量,此外,该状态信息还可以包括队列中报文的长度信息等。
为了能够执行调度策略调度的操作,在本实施例的一个可选实施方式中,按照与获取的状态信息对应的调度策略执行调度操作可以通过以下方式实现,该方式包括以下步骤:
步骤S11:判断报文数量是否大于预定阈值;
步骤S12:在判断结果为是时,按照第一队列调度策略对一个或多个队列执行调度操作;
步骤S13:在判断结果为否时,按照第二队列调度策略执行调度操作,其中,与第一队列调度策略对应的调度速度大于与第二队列调度策略对应的调度速度。
可选地,第一队列调度操作,为在单位周期内对预定长度的报文进行背靠背出队列调度操作;和/或第二队列调度操作,为在不小于预定数量个单位周期内进行出队列调度操作。需要说明的是本实施例中的对调度操作预定数量个单位周期优选的为3个单位周期,但需要说明的是上述3个单位周期仅仅是举例说明,本领域技术人员可以根据实际情况对调度的操作单位周期进行相应的调整。
在本实施例的一个实施例中,上述步骤S11中的预定阈值可选为3个报文。同样的,这里对预定阈值的限定也仅仅是一种可选的实施方式,并不对本发明构成限定,本领域技术人员可以根据实际情况对该预定阈值进行相应的调整。
可选地,为了能够实现芯片缓存单元和布局线延时的统一,将该单位周期设置一个时钟周期。
在本实施例中还提供了一种队列的调度装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能被构想的。
图2是根据本发明实施例的队列的调度装置的结构示意图,如图2所示,该装置包括:包括:获取模块22,用于在第一时钟周期内,获取对一个或多个队列进行调度所需要的状态信息,并存储;调度模块24与获取模块24耦合连接,用于在第二时钟周期内,按照与获取的状态信息对应的调度策略执行调度操作。
可选地,状态信息包括:队列包含的报文数量。
图3是根据本发明实施例的队列的调度装置的优选结构示意图,如图3所示,该装置中的调度模块24还包括:判断单元32,用于判断报文数量是否大于预定阈值;
第一调度单元34与判断单元32耦合连接,用于在判断结果为是时,按照第一队列调度策略对一个或多个队列执行调度操作;
第二调度单元36与判断单元32耦合连接,用于在判断结果为否时,按照第二队列调度策略执行调度操作,其中,与第一队列调度策略对应的调度速度大于与第二队列调度策略对应的调度速度。
可选地,第一队列调度操作为在单位周期内对预定长度的报文进行背靠背出队列调度操作;和/或第二队列调度操作为在不小于预定数量个单位周期内进行出队列调度操作。
为了更好的对本发明进行说明,下面结合本发明的可选实施及附图例进行说明。
本发明提供了一种高效率多队列调度的实现方法和装置,图4是根据本发明可选实施例的高效率多队列调度的装置结构示意图,如图4所示,该装置包括:
队列存储模块402,用于入队队列报文的存储,存在芯片内部块状缓存,如果队列数多,可以存储在外挂缓存。
队列状态模块404与队列存储模块402耦合连接,用于记录各队列缓存的报文数量,报文入队和出队后都更新该模块。
快速调度模块406与队列状态模块404耦合连接,用于根据队列状态模块提供的队列信息,快速调度出队队列,调度出队周期是1个时钟周期。
快速调度模块406工作在队列存储的报文数比较多的时候,在背靠背调度完成后下个时钟周期更新队列状态模块404。由于进入快速调度模块406的队列报文数比较多,调度队列的队列状态模块404晚几个时钟周期更新,不会造成调度的误操作。
慢速调度模块408,用于根据队列状态模块404提供的队列信息,慢速调度出队队列,调度出队周期是3个时钟周期,慢速调度模块408工作在队列存储的报文数比较少的时候,调度效率比较低,不需要连续背靠背调度,每次调度完成后下个时钟周期更新队列状态模块404。新一轮调度需要在调度出队的信息在队列状态模块404更新完毕后进行,保证慢速调度都是根据最新的队列信息进行调度。
调度表模块410,用于预存从快/慢速调度模块中,已经调度出队的队列信息,预存10个即将出队的队列号和报文长度等信息,调度表使用反压机制控制调度模块的是否工作,出队单元会根据调度表中存储的队列信息进行出队操作。
快速和慢速两种调度模块配合共同工作,可以保证多队列的高效率调度。在高带宽大流量的传输中,调度装置先进入慢速调度模式,一旦缓存中报文数达到快速调度的阈值,就进入快速调度模式,当通讯网络中流量减小或者停止,调度模式又恢复到慢速调度。快慢两种调度模块都不需要在1个周期内更新队列信息的队列状态模块,从而减小了缓存队列更新和布局布线延时对芯片设计时钟频率的影响。
为了对上述装置中的模块的功能的原理进行进一步的说明,本发明可选实施例还提供了一种高效率多队列调度的实现方法包括以下步骤,图5是根据本发明可选实施例的高效率多队列调度的方法流程图,如图5所示,该流程包括以下步骤:
步骤S502:判断是否收到入队操作使能,如收到则执行S504,如否则继续等待;
步骤S504:更新队列状态表操作,根据入队操作或者调度出队操作更新队列状态表,队列状态表记录的是各队列报文个数和长度信息,队列状态表记录的报文数触发S506操作;
步骤S506:判断队列状态表记录队列报文个数是否大于3,如是则该队列执行快速调度S510,如否则执行慢速调度S508;
步骤S508:慢速队列调度操作,缓存小于等于3并且大于0个报文的队列进行慢速调度,调度出队列后,下个周期出队信息更新队列状态表。调度周期按照***设计要求设置为3个周期或更长,调度完成后操作S504和S512;
步骤S510:快速队列调度操作,缓存大于3个报文以上的队列进行快速调度,快速调度周期为1,确保长度为1拍的报文能背靠背高效率出队列;调度出队列后,下个周期出队信息更新队列状态表。由于出队列信息更新队列表项会滞后于调度周期,因此在队列缓存数小于等于3个报文后,停止快速队列调度操作,调度完成后操作S504和S512;
步骤S512:更新调度表操作,步骤S508和S510调度结果存入调度表,根据调度表进行S514操作;
步骤S514:出队操作,按照队列信息进行出队操作。
通过本发明可选实施例,在多队列调度效率和优化芯片设计时序上做到了很好的统一,在达到背靠背高效率调度队列的前提下,将1个周期的调度操作分成多个周期来实现,大大减小了芯片缓存单元和布局布线延时对时序设计的影响,有利于满足芯片设计中时钟频率的需求。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种队列的调度方法,其特征在于,包括:
在第一时钟周期内,获取对一个或多个队列进行调度所需要的状态信息,并存储;
在第二时钟周期内,按照与获取的所述状态信息对应的调度策略执行调度操作。
2.根据权利要求1所述的方法,其特征在于,所述状态信息包括:所述队列包含的报文数量。
3.根据权利要求2所述的方法,其特征在于,按照与获取的所述状态信息对应的调度策略执行调度操作包括:
判断所述报文数量是否大于预定阈值;
在判断结果为是时,按照第一队列调度策略对所述一个或多个队列执行调度操作;
在判断结果为否时,按照第二队列调度策略执行调度操作,其中,与所述第一队列调度策略对应的调度速度大于与第二队列调度策略对应的调度速度。
4.根据权利要求3所述的方法,其特征在于,
所述第一队列调度操作,为在单位周期内对预定长度的报文进行背靠背出队列调度操作;和/或,所述第二队列调度操作,为在预定数量个单位周期内进行出队列调度操作。
5.根据权利要求3所述的方法,其特征在于,所述预定阈值为3个报文。
6.根据权利要求4所述的方法,其特征在于,所述单位周期为一个时钟周期。
7.一种队列的调度装置,其特征在于,包括:
获取模块,用于在第一时钟周期内,获取对一个或多个队列进行调度所需要的状态信息,并存储;
调度模块,用于在第二时钟周期内,按照与获取的所述状态信息对应的调度策略执行调度操作。
8.根据权利要求7所述的装置,其特征在于,所述状态信息包括:所述队列包含的报文数量。
9.根据权利要求8所述的装置,其特征在于,所述调度模块包括:
判断单元,用于判断所述报文数量是否大于预定阈值;
第一调度单元,用于在判断结果为是时,按照第一队列调度策略对所述一个或多个队列执行调度操作;
第二调度单元,用于在判断结果为否时,按照第二队列调度策略执行调度操作,其中,与所述第一队列调度策略对应的调度速度大于与第二队列调度策略对应的调度速度。
10.根据权利要求9所述的装置,其特征在于,
所述第一队列调度操作为在单位周期内对预定长度的报文进行背靠背出队列调度操作;和/或所述第二队列调度操作为在不小于预定数量个单位周期内进行出队列调度操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410606263.7A CN105634983A (zh) | 2014-10-30 | 2014-10-30 | 队列的调度方法及装置 |
PCT/CN2015/073274 WO2016065779A1 (zh) | 2014-10-30 | 2015-02-25 | 队列的调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410606263.7A CN105634983A (zh) | 2014-10-30 | 2014-10-30 | 队列的调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105634983A true CN105634983A (zh) | 2016-06-01 |
Family
ID=55856492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410606263.7A Pending CN105634983A (zh) | 2014-10-30 | 2014-10-30 | 队列的调度方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105634983A (zh) |
WO (1) | WO2016065779A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656169A (zh) * | 2018-12-20 | 2019-04-19 | 深圳南方德尔汽车电子有限公司 | 多重调度表切换方法、装置、计算机设备及存储介质 |
CN112804162A (zh) * | 2019-11-13 | 2021-05-14 | 深圳市中兴微电子技术有限公司 | 一种调度方法、装置、终端设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242341A (zh) * | 2007-02-07 | 2008-08-13 | 华为技术有限公司 | 一种报文调度方法及装置 |
CN103441954A (zh) * | 2013-08-27 | 2013-12-11 | 福建星网锐捷网络有限公司 | 一种报文发送方法、装置及网络设备 |
CN103546392A (zh) * | 2012-07-12 | 2014-01-29 | 中兴通讯股份有限公司 | 队列单周期调度方法和装置 |
CN104022965A (zh) * | 2014-05-20 | 2014-09-03 | 华为技术有限公司 | 一种报文出队调度的方法和设备 |
-
2014
- 2014-10-30 CN CN201410606263.7A patent/CN105634983A/zh active Pending
-
2015
- 2015-02-25 WO PCT/CN2015/073274 patent/WO2016065779A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242341A (zh) * | 2007-02-07 | 2008-08-13 | 华为技术有限公司 | 一种报文调度方法及装置 |
CN103546392A (zh) * | 2012-07-12 | 2014-01-29 | 中兴通讯股份有限公司 | 队列单周期调度方法和装置 |
CN103441954A (zh) * | 2013-08-27 | 2013-12-11 | 福建星网锐捷网络有限公司 | 一种报文发送方法、装置及网络设备 |
CN104022965A (zh) * | 2014-05-20 | 2014-09-03 | 华为技术有限公司 | 一种报文出队调度的方法和设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656169A (zh) * | 2018-12-20 | 2019-04-19 | 深圳南方德尔汽车电子有限公司 | 多重调度表切换方法、装置、计算机设备及存储介质 |
CN112804162A (zh) * | 2019-11-13 | 2021-05-14 | 深圳市中兴微电子技术有限公司 | 一种调度方法、装置、终端设备和存储介质 |
CN112804162B (zh) * | 2019-11-13 | 2024-04-09 | 深圳市中兴微电子技术有限公司 | 一种调度方法、装置、终端设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2016065779A1 (zh) | 2016-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102594691B (zh) | 一种处理报文的方法及装置 | |
EP1117213A3 (en) | Packet switch device and scheduling control method | |
US8848532B2 (en) | Method and system for processing data | |
CN102025638A (zh) | 基于优先级的数据传输方法、装置及网络设备 | |
CN110995598B (zh) | 一种变长报文数据处理方法和调度装置 | |
CN102811176B (zh) | 一种数据流量控制方法和装置 | |
CN106341205B (zh) | 低延时时间触发网络***及优化方法 | |
CN107733813B (zh) | 报文转发方法及装置 | |
CN101621833A (zh) | 一种报文流量控制方法和基站控制器 | |
CN113821516B (zh) | 一种基于虚拟队列的时间敏感网络交换*** | |
CN103748845A (zh) | 报文发送方法、接收方法、装置及*** | |
CN102340734A (zh) | 定位应用管理方法及装置 | |
CN102984089B (zh) | 流量管理调度方法及装置 | |
CN101072224A (zh) | 一种基于绑定链路实现数据发送的方法 | |
CN102984083A (zh) | 队列管理方法及装置 | |
CN105634983A (zh) | 队列的调度方法及装置 | |
CN108462653B (zh) | 基于tte的协议控制帧快速发送方法 | |
CN101917687B (zh) | 一种短信下发方法和短信中心 | |
CN105094990A (zh) | 一种高效的实现大规模数据交换的***及其方法 | |
CN108462650B (zh) | 一种基于tte交换机的输出单元 | |
CN102170401B (zh) | 一种数据的处理方法和设备 | |
CN109257280B (zh) | 一种微引擎及其处理报文的方法 | |
CN117331655A (zh) | 多线程调度方法及装置 | |
CN104038441A (zh) | 一种数据传输方法及*** | |
US20060077973A1 (en) | Output scheduling method of crosspoint buffered switch |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160601 |