WO2015100915A1 - 一种队列调度方法和装置、计算机存储介质 - Google Patents

一种队列调度方法和装置、计算机存储介质 Download PDF

Info

Publication number
WO2015100915A1
WO2015100915A1 PCT/CN2014/077915 CN2014077915W WO2015100915A1 WO 2015100915 A1 WO2015100915 A1 WO 2015100915A1 CN 2014077915 W CN2014077915 W CN 2014077915W WO 2015100915 A1 WO2015100915 A1 WO 2015100915A1
Authority
WO
WIPO (PCT)
Prior art keywords
queue
scheduling
identifier
authorization
unit
Prior art date
Application number
PCT/CN2014/077915
Other languages
English (en)
French (fr)
Inventor
王斌
Original Assignee
深圳市中兴微电子技术有限公司
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 深圳市中兴微电子技术有限公司 filed Critical 深圳市中兴微电子技术有限公司
Priority to EP14876562.1A priority Critical patent/EP3091699B1/en
Priority to US15/108,385 priority patent/US10079772B2/en
Publication of WO2015100915A1 publication Critical patent/WO2015100915A1/zh

Links

Classifications

    • 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/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/10Current supply arrangements

Definitions

  • the present invention relates to a queue management technology in the field of communications, and in particular, to a queue scheduling method and apparatus, and a computer storage medium. Background technique
  • a dedicated traffic management chip is generally used inside the router to complete the buffering and scheduling output of the high-speed data stream; and, according to the quality of service (QoS, Quality of Service) The requirements are scheduled according to the issued authorization.
  • QoS Quality of Service
  • the process is usually as follows: First, the packet is queued to complete the message, that is, the message is queued and the queue is updated.
  • the authorization system sends the authorization.
  • the packet is also updated to update the queue information and consume the authorization.
  • the scheduling module determines whether the queue needs to be added to the schedule according to the real-time queue information and the queue authorization value. If the queue has a packet and has authorization, a packet of the queue is scheduled to be dequeued, and the authorization deduction and queue depth are simultaneously performed. Update.
  • IP packet forwarding rate is in millions of packets per second (MPPS, Million Packet Per Second).
  • IP packet length (bytes) IP packet forwarding rate (MPPS)
  • the chip in order to meet the demand, the chip needs to provide 300MPPS packet processing capability. Under the system clock of 600MHz, it processes the enqueue and dequeue operations every two cycles, and the authorized bandwidth is 50MPPS; It needs to handle the triggering of enqueue, dequeue and authorization at the same time.
  • the bandwidth requirement is up to 650MPPS. However, such bandwidth requirements cannot be solved by time slot division. If the entitlement is used to squeeze into the queue, the enqueue bandwidth will be obtained. It is not guaranteed that some bytes of packets will not reach the line speed.
  • the embodiment of the present invention is to provide a queue scheduling method and device, which can adapt to queue scheduling of high-speed and large-capacity storage, realize line-speed enqueue, line-speed dequeue, and ensure bandwidth of queue management processing authorization. And the need for traffic management QoS.
  • an embodiment of the present invention provides a queue scheduling method, where a scheduling extension unit is set; the method further includes:
  • the scheduling extension unit receives an enqueue trigger message, where the enqueue trigger message includes the queue identifier;
  • the scheduling extension unit writes the queue identifier to a queue identifier cache, and sets a state of the queue identifier to be in the queue identifier cache;
  • the scheduling extension unit acquires the queue information of the queue when the authorization is not reached, and sends the enqueue report to the scheduling unit;
  • the scheduling unit determines whether to schedule the queue according to the queue information of the queue. According to the first possible implementation, in combination with the first aspect, the scheduling extension unit writes the queue identifier to the queue identifier cache and sets the state of the queue identifier to be in the queue identifier cache, including:
  • the scheduling extension unit searches the queue identifier cache according to the identifier of the queue; when the queue identifier cache does not have the identifier of the queue, writes the queue identifier to the queue identifier cache, and sets the The status of the queue identifier is in the queue identifier cache;
  • the identifier of the queue is in the queue identifier cache, the status of the queue identifier cache and the queue identifier is not processed.
  • the scheduling extension unit sends the enqueue report to the scheduling unit when the authorization is not authorized, including:
  • the method further includes: when the authorized extension unit has an authorized arrival, reading the queue information of the queue according to the authorization queue number that the authorization arrives to form an authorization. Report
  • the method further includes:
  • the queue is read out of the queue buffer, and the current queue information of the queue is sent to the scheduling unit as a dequeue report.
  • the queue information includes a queue depth and a queue authorization value;
  • the scheduling unit determines whether to join the scheduling to the queue according to the queue information of the queue, where: the scheduling unit sets a scheduling state of the queue;
  • the scheduling unit determines whether to join the scheduling to the queue according to the queue information of the queue, and includes: when the scheduling status of the queue is If the queue depth and the queue authorization value are not zero, the scheduling unit adds the queue to the scheduling, and sets the scheduling state of the queue to join the scheduling state;
  • the scheduling unit discards the enqueue report or the authorization report, and the queue is discarded. Not processed;
  • the scheduling unit determines whether to join the scheduling to the queue according to the queue information of the queue, including: the degree unit adds the queue to the scheduling, and the queue The scheduling state remains unchanged; the scheduling unit discards the dequeue report, and sets the scheduling state of the queue to a state in which no scheduling is added.
  • an embodiment of the present invention provides a queue scheduling apparatus, where the apparatus includes: a scheduling extension unit and a scheduling unit, where
  • the scheduling extension unit is configured to: after the queue is written into the queue buffer, receive an enqueue trigger message, where the enqueue trigger message includes the queue identifier and queue information of the queue;
  • the scheduling unit is configured to determine whether to schedule the queue according to the queue information of the queue.
  • the scheduling extension unit is configured to
  • the queue identifier is written to the queue identifier cache, and the state of the queue identifier is set in the queue identifier cache.
  • the identifier of the queue is in the queue identifier cache, the status of the queue identifier cache and the queue identifier is not processed.
  • the apparatus further includes an authorization unit configured to send an authorization to the scheduling unit by using the scheduling extension unit;
  • the scheduling extension unit is configured to
  • the scheduling extension unit when an authorization arrives, is configured to
  • the device further includes a dequeue management unit configured to read the queue Queue cache, and send the current queue information of the queue as a dequeue report to the The scheduling unit.
  • the queue information includes a queue depth and a queue authorization value
  • the scheduling unit is configured to
  • the scheduling unit is further configured to: when the scheduling status of the queue is not in the state of being scheduled, and the queue depth and the queue authorization value of the queue are not Zero time, the queue is added to the scheduling, and the scheduling state of the queue is set to join the scheduling state;
  • the scheduling state of the queue is a state of joining the scheduling, and the queue depth or the queue authorization value of the queue is zero, the enqueue report or the authorization report is discarded, and the queue is not processed. ;
  • the scheduling unit is further configured to: join the queue to the scheduling, and the scheduling status of the queue remains unchanged; discard the dequeue report, and set the scheduling status of the queue to There is no state of joining the schedule.
  • an embodiment of the present invention provides a computer storage medium, wherein computer executable instructions are stored, and the computer executable instructions are used to execute the foregoing method.
  • the queue scheduling method and apparatus reduce the bandwidth sent to the scheduling unit by setting a scheduling extension unit before the scheduling unit, and maintaining the state of the queue identifier cache and the queue identifier by the scheduling extension unit. It can adapt to high-speed, large-capacity storage queue scheduling, realize line-speed enqueue, line-speed dequeue, and can ensure the bandwidth of queue management processing authorization and traffic management QoS requirements.
  • FIG. 1 is a schematic flowchart of a method for queue scheduling according to an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of a device for queue scheduling according to an embodiment of the present invention
  • FIG. 3 is a schematic flowchart of a method according to an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of another apparatus for queue scheduling according to an embodiment of the present invention.
  • a queue scheduling method may be applied to a device for performing queue scheduling, and the method may include:
  • the scheduling extension unit receives the enqueue trigger message.
  • the method may further include: setting a scheduling extension unit, where the scheduling extension unit may be configured with an advanced first Queue (First Input First Output) queue identifier cache, used to cache the queue identifier, the depth of the queue identifier cache is equal to the number of queues, and the scheduling extension unit may also set the state of the queue identifier corresponding to each queue. , indicating whether the queue identifier is in the queue cache;
  • advanced first Queue First Input First Output
  • the enqueue trigger message includes the queue identifier.
  • the queue identifier may be obtained by a device that writes the queue after the queue is completely written into the queue cache.
  • the scheduling extension unit writes the queue identifier to a queue identifier cache, and sets a state of the queue identifier to be in the queue identifier cache.
  • step S102 may specifically include:
  • the scheduling extension unit searches the queue identifier cache according to the identifier of the queue
  • the queue identifier is written to the queue identifier cache, and the state of the queue identifier is set to be cached in the queue identifier.
  • the identifier of the queue is in the queue identifier cache, the status of the queue identifier cache and the queue identifier is not processed.
  • the scheduling extension unit acquires the queue information of the queue when the authorization is not reached, and sends the enqueue report to the scheduling unit.
  • the enqueue report includes queue information of the queue, and is used to prompt the scheduling unit that the queue is in a state capable of being dequeued, and the queue information of the queue may be scheduled by sending an enqueue report.
  • the extension unit acquires, so that the obtained queue information of the queue is the latest queue information of the queue;
  • the scheduling extension unit sends the enqueue report to the scheduling unit, which may include:
  • the scheduling extension unit reads the queue identifier from the queue identifier cache, and sets a state of the queue identifier to not be in the queue identifier cache;
  • the scheduling extension unit reads the queue information of the queue according to the read queue identifier to form an enqueue report
  • the scheduling extension unit sends the enqueue report to the scheduling unit.
  • the authorization is sent by the authorization unit, and the authorization unit is configured to send an authorization to the scheduling unit by using the scheduling extension unit.
  • the scheduling extension unit uses a strict priority (SP, Strict Priority) manner. Processing according to whether the authorization is arrived or not;
  • the scheduling extension unit reads the queue information of the queue to form an authorization report according to the authorization queue number that the authorization arrives, and sends the authorization report to the scheduling unit.
  • the scheduling extension unit When there is no authorization to arrive, the scheduling extension unit will send the enqueue report to the scheduling unit, that is, the authorized arrival will be processed preferentially, and the enqueue report will be processed when no authorization is reached.
  • the scheduling unit determines, according to the queue information of the queue, whether to schedule the queue.
  • the method may further include: reading the queue to the queue cache, and sending the current queue information of the queue to the scheduling unit as a dequeue report;
  • the scheduling unit determines, according to the queue information of the queue, whether to join the scheduling to the queue, which may include:
  • the scheduling unit sets a scheduling state of the queue, and is used to indicate whether the queue is added to the scheduling.
  • the scheduling unit performs different processing according to the type of the received report.
  • the scheduling unit is configured according to the The queue information of the queue determines whether the scheduling is added to the queue, and specifically includes:
  • the scheduling unit adds the queue to the scheduling, and sets the scheduling state of the queue to Join the status of the schedule;
  • the scheduling unit discards the enqueue report or the authorization report, and the queue is Not processed;
  • the scheduling unit determines whether to join the scheduling to the queue according to the queue information of the queue, which may include: the degree unit adds the queue to the scheduling, And the scheduling state of the queue remains unchanged; the scheduling unit discards the dequeue report, and sets a scheduling state of the queue to a state that is not added to the scheduling. Further, after the scheduling unit receives the dequeue report, when the scheduling unit determines that the queue does not satisfy the queue authorization value is non-zero, it sends an authorization request to the authorization unit, and waits for the authorization unit to send the relevant information. The new authorization for the queue.
  • a queue scheduling method which sets a scheduling extension unit, and maintains the state of the queue identifier cache and the queue identifier by scheduling the extension unit, reduces the bandwidth sent to the scheduling unit, and can adapt to high-speed, large-capacity storage. Queue scheduling, line-speed enrollment, line-speed dequeue, and can ensure that the queue management handles the bandwidth that the authorization arrives and the traffic management QoS requirements.
  • a queue scheduling apparatus 20 includes: a scheduling extension unit 201 and a scheduling unit 202, where
  • the scheduling extension unit 201 is configured to receive an enqueue trigger message after the queue is written into the queue buffer; where the enqueue trigger message includes the queue identifier;
  • the scheduling extension unit 201 is further configured to write the queue identifier into a queue identifier cache, and set a state of the queue identifier to be in the queue identifier cache;
  • the scheduling extension unit 201 is further configured to: obtain the queue information of the queue when the authorization is not reached, and send the enqueue report to the scheduling unit 202;
  • the enqueue report includes the queue information of the queue, and is used to prompt the scheduling unit 202 that the queue is in a state capable of being dequeued;
  • the scheduling unit 202 is configured to determine whether to schedule the queue according to the queue information of the queue.
  • the queue identifier may be obtained by a device that writes to the queue after the queue is completely written to the queue cache.
  • the scheduling extension unit 201 may include a FIFO queue.
  • the identifier cache 2011 is configured to cache the queue identifier.
  • the depth of the queue identifier cache 2011 is equal to the number of queues, and the scheduling extension unit 201 can also be configured to indicate the status of the queue identifier corresponding to each queue. Said in the queue cache.
  • the scheduling extension unit 201 can be specifically configured to:
  • the queue identifier When there is no identifier of the queue in the queue identifier cache 2011, the queue identifier is written to the queue identifier cache 2011, and the status of the queue identifier is set to 2012 in the queue identifier cache 2011;
  • the queue ID cache 2011 When the queue ID cache 2011 has the identifier of the queue, the status of the queue ID cache 2011 and the queue identifier is not processed.
  • the enqueue report includes queue information of the queue, and is used to prompt the scheduling unit 202 that the queue is in a state capable of being dequeued, and the queue information of the queue may be extended by scheduling before sending the enqueue report.
  • the unit 201 obtains, so that the obtained queue information of the queue is the latest queue information of the queue.
  • the queue scheduling apparatus 20 may further include an authorization unit 203 configured to send an authorization to the scheduling unit 202 through the scheduling extension unit 201;
  • the scheduling extension unit 201 is specifically configured to read the queue identifier from the queue identifier cache 2011, and set the state of the queue identifier 2012 to not be in the queue identifier cache 2011;
  • the scheduling extension unit 201 is specifically configured to:
  • the authorization report is sent to the scheduling unit 202. It should be noted that the authorization is sent by the authorization unit 203. At this time, the scheduling extension unit 201 may further include an SP module 2013 using the SP mode, and the SP module 2013 reports whether the authorization is reached according to the authorization. And the processing of the authorization report;
  • the SP module 2013 of the scheduling extension unit 201 preferentially reads the queue information of the queue to form an authorization report according to the authorization queue number that the authorization arrives, and sends the authorization report.
  • the SP module 2013 of the scheduling extension unit 201 preferentially reads the queue information of the queue to form an authorization report according to the authorization queue number that the authorization arrives, and sends the authorization report.
  • the SP module 2013 of the scheduling extension unit 201 sends the enqueue report to the scheduling unit 202, that is, the authorized arrival arrives with priority, and the enqueue report is processed when no authorization arrives.
  • the queue scheduling apparatus 20 may further include a dequeue management unit 204 configured to read the queue cache by the queue, and send the current queue information of the queue as a dequeue report. To the scheduling unit 202.
  • a dequeue management unit 204 configured to read the queue cache by the queue, and send the current queue information of the queue as a dequeue report.
  • the scheduling unit 202 may be specifically configured to:
  • the scheduling state of the queue is set to indicate whether the queue is added to the scheduling.
  • the scheduling unit 202 performs different processing according to the type of the received report. In this embodiment, preferably, the receiving is received. After the team report or the authorization report, the scheduling unit 202 is specifically configured to:
  • the queue is added to the scheduling, and the scheduling state of the queue is set to join the scheduling state.
  • the scheduling state of the queue is the state of joining the scheduling, and the queue depth or the queue authorization value of the queue is zero, the enqueue report or the authorization report is discarded, and the queue is not processed;
  • the scheduling unit 202 is further configured to: The queue joins the scheduling, and the scheduling state of the queue remains unchanged; the dequeue report is discarded, and the scheduling state of the queue is set to a state in which no scheduling is added.
  • the scheduling unit 202 determines that the queue does not satisfy the queue authorization value is non-zero, it sends an authorization request to the authorization unit 203, and waits for the authorization unit 203 to send. New authorization for the queue.
  • queue scheduling device 20 only includes functional units for scheduling write, authorization, and readout of queues, and functional units that specifically implement the process of writing, authorizing, and reading queues are known in the art. Common sense, so this embodiment will not be described again.
  • the embodiment of the present invention provides a queue scheduling apparatus 20, which reduces the transmission to the scheduling unit 202 by setting the scheduling extension unit 201 before the scheduling unit 202 and maintaining the state of the queue identifier buffer and the queue identifier by the scheduling extension unit 201.
  • the bandwidth can adapt to the queue scheduling of high-speed and large-capacity storage, realize line-speed enqueue, line-speed dequeue, and ensure the bandwidth of queue management processing authorization and traffic management QoS requirements.
  • Embodiments of the present invention also provide a computer storage medium in which a computer is executable.
  • a computer is executable.
  • the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of a hardware embodiment, a software embodiment, or an embodiment of a combination of software and hardware.
  • the invention can be embodied in the form of a computer program product embodied on one or more computer usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

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

权利要求书
1、 一种队列调度方法, 其中, 设置调度扩展单元, 所述方法包括: 在队列写入队列緩存后, 调度扩展单元接收入队触发消息, 所述入队 触发消息包括所述队列标识;
所述调度扩展单元将所述队列标识写入队列标识緩存, 并将所述队列 标识的状态设置为在所述队列标识緩存中;
所述调度扩展单元在没有授权到达时, 获取所述队列的队列信息, 并 发送入队报告至调度单元;
所述调度单元根据所述队列的队列信息确定是否对所述队列进行调 度。
2、 根据权利要求 1所述的方法, 其中, 所述调度扩展单元将所述队列 标识写入到队列标识緩存并将所述队列标识的状态设置为在所述队列标识 緩存中, 包括:
所述调度扩展单元根据所述队列的标识查找所述队列标识緩存; 当所述队列标识緩存中没有所述队列的标识时, 将所述队列标识写入 到所述队列标识緩存, 并设置所述队列标识的状态为在所述队列标识緩存 中;
当所述队列标识緩存中有所述队列的标识时, 对所述队列标识緩存和 所述队列标识的状态不^处理。
3、 根据权利要求 1所述的方法, 其中, 所述调度扩展单元在没有授权 到达时, 发送入队报告至调度单元, 包括:
将所述队列标识从所述队列标识緩存中读出, 并将所述队列标识的状 态设置为不在所述队列标识緩存中;
根据读出的所述队列标识读取所述队列的队列信息组成入队报告; 将所述入队报告发送至所述调度单元。
4、 根据权利要求 1所述的方法, 其中, 所述方法还包括: 所述调度扩 展单元在有授权到达时, 根据所述授权到达的授权队列号读取所述队列的 队列信息组成授权报告;
将所述授权报告发送给所述调度单元。
5、 根据权利要求 1至 4任一项所述的方法, 其中, 所述方法还包括: 将所述队列读出所述队列緩存, 并将所述队列当前的队列信息作为出 队报告发送给所述调度单元。
6、 根据权利要求 5所述的方法, 其中, 所述队列信息包括队列深度和 队列授权值;
相应的, 所述调度单元根据所述队列的队列信息确定是否对所述队列 加入调度, 包括: 所述调度单元设置所述队列的调度状态;
在所述调度单元在接收到所述入队报告或所述授权报告之后, 所述调 度单元根据所述队列的队列信息确定是否对所述队列加入调度, 包括: 当所述队列的调度状态为没有加入调度的状态, 且所述队列的队列深 度和队列授权值不为零时, 所述调度单元将所述队列加入调度, 并设置所 述队列的调度状态为加入调度的状态;
当所述队列的调度状态为加入调度的状态, 且所述队列的队列深度或 队列授权值为零时, 所述调度单元丟弃所述入队报告或所述授权报告, 并 对所述队列不作处理;
在所述调度单元接收到所述出队报告之后, 所述调度单元根据所述队 列的队列信息确定是否对所述队列加入调度, 包括: 度单元将所述队列加入调度, 且所述队列的调度状态保持不变; 所述调度单元丟弃所述出队报告, 并设置所述队列的调度状态为没有加入 调度的状态。
7、 一种队列调度装置, 其中, 所述装置包括: 调度扩展单元和调度单 元, 其中,
所述调度扩展单元配置为, 在队列写入队列緩存后, 接收入队触发消 息, 所述入队触发消息包括所述队列标识和所述队列的队列信息;
将所述队列标识写入队列标识緩存, 并将所述队列标识的状态设置为 在所述队列标识緩存中;
在没有授权到达时, 获取所述队列的队列信息, 并发送入队报告至调 度单元;
所述调度单元配置为, 根据所述队列的队列信息确定是否对所述队列 进行调度。
8、 根据权利要求 7所述的装置, 其中, 所述调度扩展单元配置为, 根据所述队列的标识查找所述队列标识緩存;
当所述队列标识緩存中没有所述队列的标识时, 将所述队列标识写入 到所述队列标识緩存, 并设置所述队列标识的状态为在所述队列标识緩存 中;
当所述队列标识緩存中有所述队列的标识时, 对所述队列标识緩存和 所述队列标识的状态不^处理。
9、 根据权利要求 7所述的装置, 其中, 所述装置还包括授权单元, 配 置为通过所述调度扩展单元向所述调度单元发送授权;
相应的, 在没有授权到达时, 所述调度扩展单元配置为,
将所述队列标识从所述队列标识緩存中读出, 并将所述队列标识的状 态设置为不在所述队列标识緩存中;
根据读出的所述队列标识读取所述队列的队列信息组成入队报告; 将所述入队报告发送至所述调度单元。
10、 根据权利要求 Ί 所述的装置, 其中, 在有授权到达的时候, 所述 调度扩展单元配置为,
根据所述授权到达的授权队列号读取所述队列的队列信息组成授权报 告.
将所述授权报告发送给所述调度单元。
11、 根据权利要求 7至 10任一项所述的装置, 其中, 所述装置还包括 出队管理单元, 配置为将所述队列读出所述队列緩存, 并将所述队列当前 的队列信息作为出队报告发送给所述调度单元。
12、 根据权利要求 11所述的装置, 其中, 所述队列信息包括队列深度 和队列授权值;
相应的, 所述调度单元配置为,
设置所述队列的调度状态;
在接收到所述入队报告或所述授权报告之后, 所述调度单元还配置为: 当所述队列的调度状态为没有加入调度的状态, 且所述队列的队列深 度和队列授权值不为零时, 将所述队列加入调度, 并设置所述队列的调度 状态为加入调度的状态;
以及当所述队列的调度状态为加入调度的状态, 且所述队列的队列深 度或队列授权值为零的时候, 丟弃所述入队报告或所述授权报告, 并对所 述队列不作处理;
在接收到所述出队报告之后, 所述调度单元还配置为: 队列加入调度, 且所述队列的调度状态保持不变; 丟弃所述出队报告, 且设置所述队列的调度状态为没有加入调度的状态。
13、 一种计算机存储介质, 其中存储有计算机可执行指令, 所述计算 机可执行指令用于执行所述权利要求 1至 6任一项所述的方法。
PCT/CN2014/077915 2013-12-30 2014-05-20 一种队列调度方法和装置、计算机存储介质 WO2015100915A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
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

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310750600.5 2013-12-30
CN201310750600.5A CN104753818B (zh) 2013-12-30 2013-12-30 一种队列调度方法和装置

Publications (1)

Publication Number Publication Date
WO2015100915A1 true WO2015100915A1 (zh) 2015-07-09

Family

ID=53493091

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/077915 WO2015100915A1 (zh) 2013-12-30 2014-05-20 一种队列调度方法和装置、计算机存储介质

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)

* Cited by examiner, † Cited by third party
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
US11245572B1 (en) 2017-01-31 2022-02-08 Barefoot Networks, Inc. Messaging between remote controller and forwarding element
US10412018B1 (en) 2017-03-21 2019-09-10 Barefoot Networks, Inc. Hierarchical queue scheduler
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
US10594630B1 (en) 2017-09-28 2020-03-17 Barefoot Networks, Inc. Expansion of packet data within 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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
EP3091699A4 (en) 2017-06-07
US10079772B2 (en) 2018-09-18
CN104753818B (zh) 2019-04-30
EP3091699A1 (en) 2016-11-09
US20160330128A1 (en) 2016-11-10
CN104753818A (zh) 2015-07-01
EP3091699B1 (en) 2019-08-07

Similar Documents

Publication Publication Date Title
WO2015100915A1 (zh) 一种队列调度方法和装置、计算机存储介质
US20220231962A1 (en) System and method for facilitating data request management in a network interface controller (nic)
US20190171612A1 (en) Network adapter with a common queue for both networking and data manipulation work requests
US8831025B2 (en) Parallel processing using multi-core processor
US8554855B1 (en) Push notification delivery system
WO2011120467A2 (zh) 报文保序处理方法、保序协处理器和网络设备
US20080291937A1 (en) Transmission control protocol queue sorting
US11665104B1 (en) Delay-based tagging in a network switch
KR100716184B1 (ko) 네트워크 프로세서에서의 큐 관리 방법 및 그 장치
US10248615B2 (en) Distributed processing in a network
US20140281390A1 (en) System and method for ordering packet transfers in a data processor
JP2007208963A (ja) パケット処理装置及びパケット処理方法
US8935329B2 (en) Managing message transmission and reception
WO2012097614A1 (zh) 基于安全联盟的IPSec报文处理方法及装置
US20170264719A1 (en) Multi-Stream Interleaving for Network Technologies
WO2017045501A1 (zh) 一种报文调度方法和装置、存储介质
JP4988487B2 (ja) データの転送方法、装置、プログラム
US20220263681A1 (en) Methods and systems for transmitting and receiving data packets through a bonded connection
US9705733B2 (en) Systems and methods for throttling polling
WO2016065779A1 (zh) 队列的调度方法及装置
TWI666929B (zh) 多媒體串流及網路裝置及其運作方法
JP5187448B2 (ja) 中継装置
WO2012106902A1 (zh) 一种队列管理方法、装置及系统
US11438276B2 (en) Method and system for prioritizing network traffic data units
US20230216794A1 (en) Packet buffering with a common time-indexed data store across packet streams

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14876562

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2014876562

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014876562

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15108385

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE