CN104753818B - 一种队列调度方法和装置 - Google Patents
一种队列调度方法和装置 Download PDFInfo
- Publication number
- CN104753818B CN104753818B CN201310750600.5A CN201310750600A CN104753818B CN 104753818 B CN104753818 B CN 104753818B CN 201310750600 A CN201310750600 A CN 201310750600A CN 104753818 B CN104753818 B CN 104753818B
- Authority
- CN
- China
- Prior art keywords
- queue
- identity
- scheduling
- team
- caching
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/10—Current supply arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开了一种队列调度的方法和装置,该方法包括:设置调度扩展单元;在队列写入队列缓存后,调度扩展单元接收入队触发消息,所述入队触发消息包括所述队列标识和所述队列的队列信息;所述调度扩展单元将所述队列标识写入队列标识缓存,并将所述队列标识的状态设置为在所述队列标识缓存中;所述调度扩展单元在没有授权到达时,发送入队报告至调度单元;所述调度单元根据所述队列的队列信息确定是否对所述队列进行调度。
Description
技术领域
本发明涉及通信领域中队列管理技术,尤其涉及一种队列调度方法和装置。背景技术
随着互联网的迅猛发展,为了实现报文的高速转发处理,一般在路由器内部采用专门的流量管理芯片完成对高速数据流的缓存和调度输出;而且,需要根据服务质量(QoS,Quality of Service)的要求,按照下发的授权进行调度。
具体处理过程通常是:首先,收到报文完成报文分队列的缓存,即完成报文入队更新队列信息,同时授权系统会下发授权,报文出队也会更新队列信息和消耗授权;调度模块根据实时的队列信息和队列授权值判断队列是否需要加入调度,如果队列有报文且有授权,则调度出队列的一个报文,进行出队处理,同时进行授权扣减和队列深度的更新。
与此同时,队列管理必须能够线速处理64-16384字节的所有IP包,在200Gbps的以太网环境下,典型的IP包长与IP包转发率之间的关系如表1所示,其中,IP包转发率的单位为百万包/秒(MPPS,Million Packet Per Second)。
IP包长(字节) | IP包转发率(MPPS) |
64 | 297.6190476 |
128 | 168.9189189 |
256 | 90.57971014 |
512 | 46.9924812 |
1024 | 23.94636015 |
1500 | 16.44736842 |
16384 | 1.524018532 |
表1
由表1可知,为了满足需求,芯片需提供300MPPS的分组处理能力,在600MHz的系统时钟下,对应于每两个周期处理一次入队和出队操作,同时授权到达的带宽为50MPPS;对于调度,需要同时处理入队、出队和授权的触发,带宽要求达650MPPS;但是,这样的带宽要求无法通过时隙划分进行解决,如果采用授权挤占入队的方法,则入队带宽就会得不到保证,某些字节的报文就达不到线速,这些问题需要解决。
发明内容
有鉴于此,本发明实施例期望提供一种队列调度方法和装置,能够适应高速、大容量存储的队列调度,实现线速入队、线速出队,且能保证队列管理处理授权到达的带宽以及流量管理QoS的需求。
为达到上述目的,本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种队列调度方法,其特征在于,设置调度扩展单元;所述方法还包括:
在队列写入队列缓存后,调度扩展单元接收入队触发消息,所述入队触发消息包括所述队列标识;
所述调度扩展单元将所述队列标识写入队列标识缓存,并将所述队列标识的状态设置为在所述队列标识缓存中;
所述调度扩展单元在没有授权到达时,获取所述队列的队列信息,并发送入队报告至调度单元;
所述调度单元根据所述队列的队列信息确定是否对所述队列进行调度。
根据第一种可能的实现方式,结合第一方面,所述调度扩展单元将所述队列标识写入到队列标识缓存并将所述队列标识的状态设置为在所述队列标识缓存中,包括:
所述调度扩展单元根据所述队列的标识查找所述队列标识缓存;
当所述队列标识缓存中没有所述队列的标识时,将所述队列标识写入到所述队列标识缓存,并设置所述队列标识的状态为在所述队列标识缓存中;
当所述队列标识缓存中有所述队列的标识时,对所述队列标识缓存和所述队列标识的状态不做处理。
根据第二种可能的实现方式,结合第一方面,所述调度扩展单元在没有授权到达时,发送入队报告至调度单元,包括:
将所述队列标识从所述队列标识缓存中读出,并将所述队列标识的状态设置为不在所述队列标识缓存中;
根据读出的所述队列标识读取所述队列的队列信息组成入队报告;
将所述入队报告发送至所述调度单元。
根据第三种可能的实现方式,结合第一方面,所述方法还包括:所述调度扩展单元在有授权到达时,根据所述授权到达的授权队列号读取所述队列的队列信息组成授权报告;
将所述授权报告发送给所述调度单元。
根据第四种可能的实现方式,结合第一方面、第一种至第三种可能的实现方式中的任一项,所述方法还包括:
将所述队列读出所述队列缓存,并将所述队列当前的队列信息作为出队报告发送给所述调度单元。
根据第五种可能的实现方式,结合第四种可能的实现方式,所述队列信息包括队列深度和队列授权值;
相应的,所述调度单元根据所述队列的队列信息确定是否对所述队列加入调度,包括:所述调度单元设置所述队列的调度状态;
在所述调度单元在接收到所述入队报告或所述授权报告之后,所述调度单元根据所述队列的队列信息确定是否对所述队列加入调度,包括:
当所述队列的调度状态为没有加入调度的状态,且所述队列的队列深度和队列授权值不为零时,所述调度单元将所述队列加入调度,并设置所述队列的调度状态为加入调度的状态;
当所述队列的调度状态为加入调度的状态,且所述队列的队列深度或队列授权值为零时,所述调度单元丢弃所述入队报告或所述授权报告,并对所述队列不作处理;
在所述调度单元接收到所述出队报告之后,所述调度单元根据所述队列的队列信息确定是否对所述队列加入调度,包括:
当所述队列的队列深度非零且所述队列的队列授权值非零时,所述调度单元将所述队列加入调度,且所述队列的调度状态保持不变;
当不满足所述队列的队列深度非零且所述队列的队列授权值非零时,所述调度单元丢弃所述出队报告,并设置所述队列的调度状态为没有加入调度的状态。
第二方面,本发明实施例提供了一种队列调度装置,所述装置包括:调度扩展单元和调度单元,其中,
所述调度扩展单元用于,在队列写入队列缓存后,接收入队触发消息,所述入队触发消息包括所述队列标识和所述队列的队列信息;
将所述队列标识写入队列标识缓存,并将所述队列标识的状态设置为在所述队列标识缓存中;
在没有授权到达时,获取所述队列的队列信息,并发送入队报告至调度单元;
所述调度单元用于,根据所述队列的队列信息确定是否对所述队列进行调度。
根据第一种可能的实现方式,结合第二方面,所述调度扩展单元具体用于,
根据所述队列的标识查找所述队列标识缓存;
当所述队列标识缓存中没有所述队列的标识时,将所述队列标识写入到所述队列标识缓存,并设置所述队列标识的状态为在所述队列标识缓存中;
当所述队列标识缓存中有所述队列的标识时,对所述队列标识缓存和所述队列标识的状态不做处理。
根据第二种可能的实现方式,结合第二方面,所述装置还包括授权单元,用于通过所述调度扩展单元向所述调度单元发送授权;
相应的,在没有授权到达时,所述调度扩展单元具体用于,
将所述队列标识从所述队列标识缓存中读出,并将所述队列标识的状态设置为不在所述队列标识缓存中;
根据读出的所述队列标识读取所述队列的队列信息组成入队报告;
将所述入队报告发送至所述调度单元。
根据第三种可能的实现方式,结合第二方面,在有授权到达的时候,所述调度扩展单元具体用于,
根据所述授权到达的授权队列号读取所述队列的队列信息组成授权报告;
将所述授权报告发送给所述调度单元。
根据第四种可能的实现方式,结合第二方面、第一种至第三种可能的实现方式中的任一项,所述装置还包括出队管理单元,用于将所述队列读出所述队列缓存,并将所述队列当前的队列信息作为出队报告发送给所述调度单元。
根据第五种可能的实现方式,结合第四种可能的实现方式,所述队列信息包括队列深度和队列授权值;
相应的,所述调度单元具体用于,
设置所述队列的调度状态;
在接收到所述入队报告或所述授权报告之后,所述调度单元具体还用于:
当所述队列的调度状态为没有加入调度的状态,且所述队列的队列深度和队列授权值不为零时,将所述队列加入调度,并设置所述队列的调度状态为加入调度的状态;
以及当所述队列的调度状态为加入调度的状态,且所述队列的队列深度或队列授权值为零的时候,丢弃所述入队报告或所述授权报告,并对所述队列不作处理;
在接收到所述出队报告之后,所述调度单元具体还用于:
当所述队列的队列深度非零且所述队列的队列授权值非零时,将所述队列加入调度,且所述队列的调度状态保持不变;
当不满足所述队列的队列深度非零且所述队列的队列授权值非零时,丢弃所述出队报告,且设置所述队列的调度状态为没有加入调度的状态。
本发明实施例所提供的队列调度方法和装置,通过在调度单元之前设置调度扩展单元,并通过调度扩展单元对队列标识缓存和队列标识的状态进行维护,从而降低了发送至调度单元的带宽,能够适应高速、大容量存储的队列调度,实现线速入队、线速出队,且能保证队列管理处理授权到达的带宽以及流量管理QoS的需求。
附图说明
图1为本发明实施例提供的一种队列调度的方法的流程示意图;
图2为本发明实施例提供的一种队列调度的装置的结构示意图;
图3为本发明实施例提供的一种调度扩展单元的结构示意图;
图4为本发明实施例提供的另一种队列调度的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
参见图1,为本发明实施例提供的一种队列调度方法,可以应用在一个用于进行队列调度的装置上,该方法可以包括:
S101:在队列写入队列缓存后,调度扩展单元接收入队触发消息;
示例性的,在本步骤S101之前,该方法还可以包括设置调度扩展单元,所述调度扩展单元中可以设置一个先进先出(FIFO,First Input First Output)的队列标识缓存,用于缓存队列标识,所述队列标识缓存的深度等于队列数目,并且所述调度扩展单元还可以为每个队列对应的设置队列标识的状态,用于指示队列标识是否在所述队列缓存中;
示例性的,所述入队触发消息包括所述队列标识;具体的,在本实施例中,所述队列标识可以在队列完全写入队列缓存之后由写入队列的装置得到。
S102:调度扩展单元将所述队列标识写入到队列标识缓存,并将所述队列标识的状态设置为在所述队列标识缓存中;
示例性的,步骤S102具体可以包括:
调度扩展单元根据所述队列的标识查找所述队列标识缓存;
当所述队列标识缓存中没有所述队列的标识时,将所述队列标识写入到所述队列标识缓存,并设置所述队列标识的状态为在所述队列标识缓存中;
当所述队列标识缓存中有所述队列的标识时,对所述队列标识缓存和所述队列标识的状态不做处理。
S103:调度扩展单元在没有授权到达时,获取所述队列的队列信息,发送入队报告至调度单元;
示例性的,所述入队报告包括所述队列的队列信息,用于提示所述调度单元所述队列处于能够出队的状态,所述队列的队列信息可以是在发送入队报告之前由调度扩展单元获取,以使得获取到的所述队列的队列信息为所述队列最新的队列信息;
具体的,在没有授权到达时,调度扩展单元发送入队报告至调度单元,可以包括:
调度扩展单元将所述队列标识从所述队列标识缓存中读出,并将所述队列标识的状态设置为不在所述队列标识缓存中;
调度扩展单元根据读出的所述队列标识读取所述队列的队列信息组成入队报告;
调度扩展单元将所述入队报告发送至调度单元。
需要说明的是,授权是由授权单元发送的,授权单元用于通过所述调度扩展单元向所述调度单元发送授权,此时,调度扩展单元采用严格优先(SP,Strict Priority)的方式,根据授权是否到达进行处理;
在本实施例中,当有授权到达时,调度扩展单元根据所述授权到达的授权队列号读取所述队列的队列信息组成授权报告,并将所述授权报告发送给调度单元;
而在没有授权到达时,调度扩展单元才会发送入队报告至调度单元,也就是说,有授权到达就优先处理授权到达,没有授权到达时才处理入队报告。
S104:调度单元根据所述队列的队列信息确定是否对所述队列进行调度;
示例性的,本方法还可以包括:将所述队列读出所述队列缓存,并将所述队列当前的队列信息作为出队报告发送给所述调度单元;
相应的,调度单元根据所述队列的队列信息确定是否对所述队列加入调度,具体可以包括:
所述调度单元设置所述队列的调度状态,用于表示所述队列的是否加入调度;
调度单元根据接收到报告的类型的不同进行不同的处理,在本实施例中,优选的,所述调度单元在接收到所述入队报告或所述授权报告之后,所述调度单元根据所述队列的队列信息确定是否对所述队列加入调度,具体可以包括:
当所述队列的调度状态为没有加入调度的状态,且所述队列的队列深度和队列授权值不为零时,所述调度单元将所述队列加入调度,并设置所述队列的调度状态为加入调度的状态;
当所述队列的调度状态为加入调度的状态,且所述队列的队列深度或队列授权值为零时,所述调度单元丢弃所述入队报告或所述授权报告,且对所述队列不作处理;
优选的,在所述调度单元接收到所述出队报告之后,所述调度单元根据所述队列的队列信息确定是否对所述队列加入调度,具体可以包括:
当所述队列的队列深度非零且所述队列的队列授权值非零时,所述调度单元将所述队列加入调度,且所述队列的调度状态保持不变;
当不满足所述队列的队列深度非零且所述队列的队列授权值非零时,所述调度单元丢弃所述出队报告,且设置所述队列的调度状态为没有加入调度的状态。
进一步的,在所述调度单元接收到所述出队报告之后,当调度单元确定所述队列不满足队列授权值非零时,则会向授权单元发送授权请求,并等待授权单元发送的关于所述队列的新的授权。
需要说明的是,本实施例仅是对队列的写入、授权和读出的调度方法进行详细的说明,具体的队列的写入、授权和读出的过程由于是本领域的公知常识,因此本实施例不再赘述。
本实施例提供了一种队列调度的方法,设置调度扩展单元,并通过调度扩展单元对队列标识缓存和队列标识的状态的维护,降低了发送至调度单元的带宽,能够适应高速、大容量存储的队列调度,实现线速入队、线速出队,且能保证队列管理处理授权到达的带宽以及流量管理QoS的需求。
参见图2,为本发明实施例提供的一种队列调度装置20,所述装置包括:调度扩展单元201和调度单元202,其中,
调度扩展单元201,用于在队列写入队列缓存后,接收入队触发消息;
这里,所述入队触发消息包括所述队列标识;
所述调度扩展单元201,还用于将所述队列标识写入队列标识缓存,并将所述队列标识的状态设置为在所述队列标识缓存中;
所述调度扩展单元201,还用于在没有授权到达时,获取所述队列的队列信息,发送入队报告至调度单元202;
其中,所述入队报告包括所述队列的队列信息,用于提示调度单元202所述队列处于能够出队的状态;
调度单元202,用于根据所述队列的队列信息确定是否对所述队列进行调度。
示例性的,在本实施例中,所述队列标识可以在队列完全写入队列缓存之后由写入队列的装置得到。
示例性的,如图3所示,调度扩展单元201中可以包括一个FIFO队列标识缓存2011,用于缓存队列标识;其中,队列标识缓存2011的深度等于队列数目,并且调度扩展单元201还可以为每个队列对应的设置队列标识的状态2012,用于指示队列标识是否在所述队列缓存中。
由此,调度扩展单元201具体可以用于:
根据所述队列的标识查找队列标识缓存2011;
当队列标识缓存2011中没有所述队列的标识时,将所述队列标识写入到队列标识缓存2011,并设置队列标识的状态2012为在队列标识缓存2011中;
当队列标识缓存2011中有所述队列的标识时,对队列标识缓存2011和队列标识的状态2012不做处理。
示例性的,所述入队报告包括所述队列的队列信息,用于提示调度单元202所述队列处于能够出队的状态,所述队列的队列信息可以是在发送入队报告之前由调度扩展单元201获取,以使得获取到的所述队列的队列信息为所述队列最新的队列信息。
示例性的,如图4所示,所述队列调度装置20还可以包括授权单元203,用于通过调度扩展单元201向调度单元202发送授权;
相应的,在没有授权到达时,调度扩展单元201具体用于,
将所述队列标识从队列标识缓存2011中读出,并将队列标识的状态2012设置为不在队列标识缓存2011中;
根据读出的所述队列标识读取所述队列的队列信息组成入队报告;
将所述入队报告发送至调度单元202。
相应的,在有授权到达时,调度扩展单元201具体用于,
根据所述授权到达的授权队列号读取所述队列的队列信息组成授权报告;
将所述授权报告发送给调度单元202。
需要说明的是,授权是由授权单元203发送的,此时,如图3所示调度扩展单元201还可以包括一个采用SP方式的SP模块2013,SP模块2013根据授权是否到达控制入队报告以及授权报告的处理;
在本实施例中,当有授权到达时,调度扩展单元201的SP模块2013会优先根据所述授权到达的授权队列号读取所述队列的队列信息组成授权报告,并将所述授权报告发送给调度单元202;
而在没有授权到达时,调度扩展单元201的SP模块2013才会发送入队报告至调度单元202,也就是说,有授权到达就优先处理授权到达,没有授权到达时才处理入队报告。
示例性的,参见图4,所述队列调度装置20还可以包括出队管理单元204,用于将所述队列读出所述队列缓存,并将所述队列当前的队列信息作为出队报告发送给调度单元202。
示例性的,调度单元202具体可以用于,
设置所述队列的调度状态,用于表示所述队列的是否加入调度;
调度单元202根据接收到报告的类型的不同进行不同的处理,在本实施例中,优选的,在接收到所述入队报告或所述授权报告之后,调度单元202具体还用于:
当所述队列的调度状态为没有加入调度的状态,且所述队列的队列深度和队列授权值不为零时,将所述队列加入调度,并设置所述队列的调度状态为加入调度的状态;
当所述队列的调度状态为加入调度的状态,且所述队列的队列深度或队列授权值为零时,丢弃所述入队报告或所述授权报告,且对所述队列不作处理;
优选的,在接收到所述出队报告之后,调度单元202具体还用于:
当所述队列的队列深度非零且所述队列的队列授权值非零时,将所述队列加入调度,且所述队列的调度状态保持不变;
当不满足所述队列的队列深度非零且所述队列的队列授权值非零时,丢弃所述出队报告,且设置所述队列的调度状态为没有加入调度的状态。
进一步的,在所述调度单元接收到所述出队报告之后,当调度单元202确定所述队列不满足队列授权值非零时,则会向授权单元203发送授权请求,并等待授权单元203发送的关于所述队列的新的授权。
需要说明的是,所述队列调度装置20仅包括对队列的写入、授权和读出进行调度的功能单元,具体实现队列的写入、授权和读出过程的功能单元由于是本领域的公知常识,因此本实施例不再赘述。
本发明实施例提供了一种队列调度装置20,通过在调度单元202之前设置调度扩展单元201,并通过调度扩展单元201对队列标识缓存和队列标识的状态的维护,降低了发送至调度单元202的带宽,能够适应高速、大容量存储的队列调度,实现线速入队、线速出队,同时保证队列管理处理授权到达的带宽以及流量管理QoS的需求。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (12)
1.一种队列调度方法,其特征在于,设置调度扩展单元;所述方法还包括:
在队列写入队列缓存后,调度扩展单元接收入队触发消息,所述入队触发消息包括所述队列标识;
所述调度扩展单元将所述队列标识写入队列标识缓存,并将所述队列标识的状态设置为在所述队列标识缓存中;
所述调度扩展单元在没有授权到达时,获取所述队列的队列信息,并发送入队报告至调度单元;
所述调度单元根据所述队列的队列信息确定是否对所述队列进行调度;
所述队列信息包括队列深度和队列授权值;
相应的,所述调度单元根据所述队列的队列信息确定是否对所述队列加入调度,包括:所述调度单元设置所述队列的调度状态;
在所述调度单元在接收到所述入队报告之后,所述调度单元根据所述队列的队列信息确定是否对所述队列加入调度,包括:
当所述队列的调度状态为没有加入调度的状态,且所述队列的队列深度和队列授权值不为零时,所述调度单元将所述队列加入调度,并设置所述队列的调度状态为加入调度的状态;
当所述队列的调度状态为加入调度的状态,且所述队列的队列深度或队列授权值为零时,所述调度单元丢弃所述入队报告,并对所述队列不作处理。
2.根据权利要求1所述的方法,其特征在于,所述调度扩展单元将所述队列标识写入到队列标识缓存并将所述队列标识的状态设置为在所述队列标识缓存中,包括:
所述调度扩展单元根据所述队列的标识查找所述队列标识缓存;
当所述队列标识缓存中没有所述队列的标识时,将所述队列标识写入到所述队列标识缓存,并设置所述队列标识的状态为在所述队列标识缓存中;
当所述队列标识缓存中有所述队列的标识时,对所述队列标识缓存和所述队列标识的状态不做处理。
3.根据权利要求1所述的方法,其特征在于,所述调度扩展单元在没有授权到达时,发送入队报告至调度单元,包括:
将所述队列标识从所述队列标识缓存中读出,并将所述队列标识的状态设置为不在所述队列标识缓存中;
根据读出的所述队列标识读取所述队列的队列信息组成入队报告;
将所述入队报告发送至所述调度单元。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述调度扩展单元在有授权到达时,根据所述授权到达的授权队列号读取所述队列的队列信息组成授权报告;
将所述授权报告发送给所述调度单元。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
将所述队列读出所述队列缓存,并将所述队列当前的队列信息作为出队报告发送给所述调度单元。
6.根据权利要求5所述的方法,其特征在于,在所述调度单元接收到所述出队报告之后,所述调度单元根据所述队列的队列信息确定是否对所述队列加入调度,包括:
当所述队列的队列深度非零且所述队列的队列授权值非零时,所述调度单元将所述队列加入调度,且所述队列的调度状态保持不变;
当不满足所述队列的队列深度非零且所述队列的队列授权值非零时,所述调度单元丢弃所述出队报告,并设置所述队列的调度状态为没有加入调度的状态。
7.一种队列调度装置,其特征在于,所述装置包括:调度扩展单元和调度单元,其中,
所述调度扩展单元用于,在队列写入队列缓存后,接收入队触发消息,所述入队触发消息包括所述队列标识和所述队列的队列信息;
将所述队列标识写入队列标识缓存,并将所述队列标识的状态设置为在所述队列标识缓存中;
在没有授权到达时,获取所述队列的队列信息,并发送入队报告至调度单元;
所述调度单元用于,根据所述队列的队列信息确定是否对所述队列进行调度;
所述队列信息包括队列深度和队列授权值;
相应的,所述调度单元具体用于,
设置所述队列的调度状态;
在接收到所述入队报告之后,所述调度单元具体还用于:
当所述队列的调度状态为没有加入调度的状态,且所述队列的队列深度和队列授权值不为零时,将所述队列加入调度,并设置所述队列的调度状态为加入调度的状态;
以及当所述队列的调度状态为加入调度的状态,且所述队列的队列深度或队列授权值为零的时候,丢弃所述入队报告,并对所述队列不作处理。
8.根据权利要求7所述的装置,其特征在于,所述调度扩展单元具体用于,
根据所述队列的标识查找所述队列标识缓存;
当所述队列标识缓存中没有所述队列的标识时,将所述队列标识写入到所述队列标识缓存,并设置所述队列标识的状态为在所述队列标识缓存中;
当所述队列标识缓存中有所述队列的标识时,对所述队列标识缓存和所述队列标识的状态不做处理。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括授权单元,用于通过所述调度扩展单元向所述调度单元发送授权;
相应的,在没有授权到达时,所述调度扩展单元具体用于,
将所述队列标识从所述队列标识缓存中读出,并将所述队列标识的状态设置为不在所述队列标识缓存中;
根据读出的所述队列标识读取所述队列的队列信息组成入队报告;
将所述入队报告发送至所述调度单元。
10.根据权利要求7所述的装置,其特征在于,在有授权到达的时候,所述调度扩展单元具体用于,
根据所述授权到达的授权队列号读取所述队列的队列信息组成授权报告;
将所述授权报告发送给所述调度单元。
11.根据权利要求7-10任一项所述的装置,其特征在于,所述装置还包括出队管理单元,用于将所述队列读出所述队列缓存,并将所述队列当前的队列信息作为出队报告发送给所述调度单元。
12.根据权利要求11所述的装置,其特征在于,
在接收到所述出队报告之后,所述调度单元具体还用于:
当所述队列的队列深度非零且所述队列的队列授权值非零时,将所述队列加入调度,且所述队列的调度状态保持不变;
当不满足所述队列的队列深度非零且所述队列的队列授权值非零时,丢弃所述出队报告,且设置所述队列的调度状态为没有加入调度的状态。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310750600.5A CN104753818B (zh) | 2013-12-30 | 2013-12-30 | 一种队列调度方法和装置 |
EP14876562.1A EP3091699B1 (en) | 2013-12-30 | 2014-05-20 | Queue scheduling method and device, and computer program |
US15/108,385 US10079772B2 (en) | 2013-12-30 | 2014-05-20 | Queue scheduling method and device, and computer storage medium |
PCT/CN2014/077915 WO2015100915A1 (zh) | 2013-12-30 | 2014-05-20 | 一种队列调度方法和装置、计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310750600.5A CN104753818B (zh) | 2013-12-30 | 2013-12-30 | 一种队列调度方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104753818A CN104753818A (zh) | 2015-07-01 |
CN104753818B true CN104753818B (zh) | 2019-04-30 |
Family
ID=53493091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310750600.5A Active CN104753818B (zh) | 2013-12-30 | 2013-12-30 | 一种队列调度方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10079772B2 (zh) |
EP (1) | EP3091699B1 (zh) |
CN (1) | CN104753818B (zh) |
WO (1) | WO2015100915A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10015048B2 (en) | 2014-12-27 | 2018-07-03 | Intel Corporation | Programmable protocol parser for NIC classification and queue assignments |
US9825862B2 (en) | 2015-08-26 | 2017-11-21 | Barefoot Networks, Inc. | Packet header field extraction |
US9912774B2 (en) | 2015-12-22 | 2018-03-06 | Intel Corporation | Accelerated network packet processing |
US10735331B1 (en) | 2016-12-09 | 2020-08-04 | Barefoot Networks, Inc. | Buffer space availability for different packet classes |
US10419366B1 (en) | 2017-01-31 | 2019-09-17 | Barefoot Networks, Inc. | Mechanism for communicating to remote control plane from forwarding element |
US10848429B1 (en) | 2017-03-21 | 2020-11-24 | Barefoot Networks, Inc. | Queue scheduler control via packet data |
US10757028B1 (en) | 2017-04-23 | 2020-08-25 | Barefoot Networks, Inc. | Configurable forwarding element deparser |
US10826840B1 (en) | 2017-07-23 | 2020-11-03 | Barefoot Networks, Inc. | Multiple copies of stateful tables |
US10771387B1 (en) | 2017-09-28 | 2020-09-08 | Barefoot Networks, Inc. | Multiple packet data container types for a processing pipeline |
CN107835137B (zh) * | 2017-10-20 | 2021-05-11 | 常州楠菲微电子有限公司 | 用于交换机的输出端口调度系统及该交换机 |
CN111277513B (zh) * | 2018-12-04 | 2023-04-18 | 中兴通讯股份有限公司 | 一种pq队列扩容实现方法、装置、设备及存储介质 |
CN109710416B (zh) * | 2019-01-11 | 2021-03-02 | 银清科技有限公司 | 资源调度方法及装置 |
CN113067778B (zh) * | 2021-06-04 | 2021-09-17 | 新华三半导体技术有限公司 | 一种流量管理方法及流量管理芯片 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4896261A (en) * | 1986-11-24 | 1990-01-23 | Motorola Inc. | System for scheduling serial message transmission on a bus which is adoptable for rescheduling prioritized messages using a doubly-linked list |
CN101060463A (zh) * | 2007-06-04 | 2007-10-24 | 杭州华三通信技术有限公司 | 异步传输模式调度方法及装置 |
CN101902487A (zh) * | 2009-05-26 | 2010-12-01 | 中兴通讯股份有限公司 | 基于链表的队列调度方法与装置 |
CN102546098A (zh) * | 2011-12-15 | 2012-07-04 | 福建星网锐捷网络有限公司 | 数据传输装置、方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7899068B1 (en) * | 2007-10-09 | 2011-03-01 | Juniper Networks, Inc. | Coordinated queuing between upstream and downstream queues in a network device |
US8869151B2 (en) * | 2010-05-18 | 2014-10-21 | Lsi Corporation | Packet draining from a scheduling hierarchy in a traffic manager of a network processor |
-
2013
- 2013-12-30 CN CN201310750600.5A patent/CN104753818B/zh active Active
-
2014
- 2014-05-20 US US15/108,385 patent/US10079772B2/en active Active
- 2014-05-20 WO PCT/CN2014/077915 patent/WO2015100915A1/zh active Application Filing
- 2014-05-20 EP EP14876562.1A patent/EP3091699B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4896261A (en) * | 1986-11-24 | 1990-01-23 | Motorola Inc. | System for scheduling serial message transmission on a bus which is adoptable for rescheduling prioritized messages using a doubly-linked list |
CN101060463A (zh) * | 2007-06-04 | 2007-10-24 | 杭州华三通信技术有限公司 | 异步传输模式调度方法及装置 |
CN101902487A (zh) * | 2009-05-26 | 2010-12-01 | 中兴通讯股份有限公司 | 基于链表的队列调度方法与装置 |
CN102546098A (zh) * | 2011-12-15 | 2012-07-04 | 福建星网锐捷网络有限公司 | 数据传输装置、方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104753818A (zh) | 2015-07-01 |
EP3091699A4 (en) | 2017-06-07 |
US10079772B2 (en) | 2018-09-18 |
WO2015100915A1 (zh) | 2015-07-09 |
EP3091699B1 (en) | 2019-08-07 |
EP3091699A1 (en) | 2016-11-09 |
US20160330128A1 (en) | 2016-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104753818B (zh) | 一种队列调度方法和装置 | |
CN101188477B (zh) | 一种数据包序列接收的方法及设备 | |
US8588242B1 (en) | Deficit round robin scheduling using multiplication factors | |
WO2014099267A1 (en) | Parallel processing using multi-core processor | |
CN101795266A (zh) | 航电asm协议控制器 | |
US9807026B2 (en) | Hierarchical quality of service scheduling method and device | |
CN109962859A (zh) | 一种报文调度方法及设备 | |
EP3210343B1 (en) | Method and system for non-tagged based latency calculation | |
Zuo et al. | Low-latency networking: Architecture, techniques, and opportunities | |
WO2012109880A1 (zh) | 队列调度方法和装置 | |
WO2010032533A1 (ja) | ネットワークプロトコル処理システム、及びネットワークプロトコル処理方法 | |
WO2012171461A1 (zh) | 报文转发方法及装置 | |
CN104022965B (zh) | 一种报文出队调度的方法和设备 | |
Suen et al. | Affordable avionic networks with Gigabit Ethernet assessing the suitability of commercial components for airborne use | |
CN108989233A (zh) | 拥塞管理方法及装置 | |
WO2016188032A1 (zh) | 利用流表转发数据的方法及系统 | |
CN103955445B (zh) | 一种数据处理方法、处理器及数据处理设备 | |
WO2023108479A1 (zh) | 确定性流传输方法及装置 | |
Cavalieri | Modelling and analysing congestion in KNXnet/IP | |
CN105354080B (zh) | 一种任务处理方法及装置 | |
WO2016065779A1 (zh) | 队列的调度方法及装置 | |
CN110535834A (zh) | 一种网络安全IPsec的加速处理方法及系统 | |
Li et al. | Queueing Theory over OpenvSwitch: Performance Analysis and Optimization | |
WO2014153996A1 (zh) | 队列调度方法、装置和计算机存储介质 | |
Nie et al. | Hybrid traffic scheduling in time‐sensitive networking for the support of automotive applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20150701 Assignee: Xi'an Chris Semiconductor Technology Co. Ltd. Assignor: SHENZHEN ZTE MICROELECTRONICS TECHNOLOGY CO., LTD. Contract record no.: 2019440020036 Denomination of invention: Method and device for scheduling queue Granted publication date: 20190430 License type: Common License Record date: 20190619 |