[go: up one dir, main page]

CN109379304B - Fair scheduling method for reducing low-priority packet delay - Google Patents

Fair scheduling method for reducing low-priority packet delay Download PDF

Info

Publication number
CN109379304B
CN109379304B CN201811276225.4A CN201811276225A CN109379304B CN 109379304 B CN109379304 B CN 109379304B CN 201811276225 A CN201811276225 A CN 201811276225A CN 109379304 B CN109379304 B CN 109379304B
Authority
CN
China
Prior art keywords
priority
queue
virtual queue
virtual
over
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
CN201811276225.4A
Other languages
Chinese (zh)
Other versions
CN109379304A (en
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.)
CETC 54 Research Institute
Original Assignee
CETC 54 Research Institute
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 CETC 54 Research Institute filed Critical CETC 54 Research Institute
Priority to CN201811276225.4A priority Critical patent/CN109379304B/en
Publication of CN109379304A publication Critical patent/CN109379304A/en
Application granted granted Critical
Publication of CN109379304B publication Critical patent/CN109379304B/en
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/62Queue scheduling characterised by scheduling criteria
    • H04L47/6285Provisions for avoiding starvation of low priority queues
    • 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

Landscapes

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

Abstract

本发明公开了一种适用于CICQ交换结构的平均延迟低、可扩展性强、硬件实现简单的降低低优先级包延迟的公平调度方法。它涉及到高速串行交换输入排队调度领域。本发明针对支持优先级调度算法在根据优先级的高低来设计不同的分配策略时,无法对低优先级业务兼顾公平,同时,面对多用户不同QoS的需求时,其可扩展性较差、复杂度较高的问题。应用本方法的优点是可以通过参数配置的方式确定低优先级包传输的最大时延,并且可以根据设计需求灵活的扩展已有调度算法,同时复杂度低、通用性强适于所有支持优先级业务的高速交换结构。

Figure 201811276225

The invention discloses a fair scheduling method for reducing the delay of low-priority packets, which is suitable for CICQ switching structure, has low average delay, strong expansibility and simple hardware implementation. It relates to the field of high-speed serial switching input queuing scheduling. When designing different allocation strategies according to the priority, the present invention cannot take into account the fairness of low-priority services, and at the same time, when facing the needs of multiple users with different QoS, the invention has poor scalability, higher complexity problems. The advantage of applying this method is that the maximum delay of low-priority packet transmission can be determined by parameter configuration, and the existing scheduling algorithm can be flexibly extended according to design requirements, and at the same time, it has low complexity and strong versatility and is suitable for all supported priorities. High-speed switching fabric for business.

Figure 201811276225

Description

一种用于降低低优先级包延迟的公平调度方法A Fair Scheduling Method for Reducing the Delay of Low Priority Packets

技术领域technical field

本发明涉及一种公平性较好的高速串行交换调度算法,它特别适合于支持优先级调度的CICQ交换电路,能够以较好的公平性和灵活性实现对多优先级业务的QOS支持。The invention relates to a high-speed serial switching scheduling algorithm with better fairness, which is particularly suitable for CICQ switching circuits supporting priority scheduling, and can realize QoS support for multi-priority services with better fairness and flexibility.

背景技术Background technique

交换系统主要负责数据从一个端口到另一个端口的传输,它主要包括三部分:输入(出)端口、交换结构、控制模块。其中控制模块是整个交换系统的核心。而交换结构和控制模块也可以合在一起成为交换内核。由于交换结构多端口的特点决定了不同输入输出端口在每个时隙,只能有一个信元输入或输出,交换结构想要良好的无阻塞特性,就必须在节点设置缓冲区。因此,就有了输入排队和输出排队的情况出现。The switching system is mainly responsible for the transmission of data from one port to another port, and it mainly includes three parts: input (output) port, switching structure, and control module. The control module is the core of the entire switching system. The switch fabric and control module can also be combined into a switch kernel. Due to the multi-port characteristics of the switching structure, different input and output ports can only have one cell input or output in each time slot. If the switching structure wants to have good non-blocking characteristics, it is necessary to set up buffers at the nodes. Therefore, there is an input queue and an output queue.

首先,在一个线性通道X中,有若干个信元等待输出,由于该队列的输入仅受队列缓存空间大小的限制,而在输出过程中,只有队首的信元参与调度。因而造成该缓存队列中的其他信元受到队首信元的阻塞,该队列中其他信元都不参与调度,所以产生队头阻塞(HOL)问题。由数学分析可知,交换端口能达到的最大吞吐率被限制在58.6%。解决办法也很多主要有以下几种:开窗法、加速法和虚拟输出队列法。其中,虚拟输出队列法是解决该问题的主要技术。First, in a linear channel X, there are several cells waiting to be output, because the input of the queue is only limited by the size of the queue buffer, and in the output process, only the cell at the head of the queue participates in scheduling. As a result, other cells in the buffer queue are blocked by the head-of-line cell, and other cells in the queue do not participate in scheduling, so a head-of-line blocking (HOL) problem occurs. According to the mathematical analysis, the maximum throughput rate that the switch port can achieve is limited to 58.6%. There are also many solutions, mainly including the following: windowing method, acceleration method and virtual output queue method. Among them, the virtual output queue method is the main technology to solve this problem.

当采用虚拟输出队列法,就会引入输入竞争。输入端竞争是指,同一个输入端内到达不同输出端的多个信元,在同一时隙都需要传输;因此,需要高效公平的调度算法来解决信元输入/输出端竞争,建立多条输入/输出端连接,并控制交换结构工作,保证无冲突地传输信元。When the virtual output queue method is used, input competition is introduced. Input end competition means that multiple cells arriving at different output ends in the same input end need to be transmitted in the same time slot; therefore, an efficient and fair scheduling algorithm is required to solve the competition between the input and output ends of cells and establish multiple input /Output connection, and control the operation of the switch fabric to ensure that cells are transmitted without collisions.

发明内容SUMMARY OF THE INVENTION

本发明所要解决的技术问题就是提供一种高效公平的调度算法,使用该算法可以在严格优先级轮询调度和饥饿避免优先级轮询调度进行切换。利用可配置的阈值参数设定调度器的计数阈值,有效的降低低优先级数据包的平均延迟,避免由此产生的某业务的饥饿。The technical problem to be solved by the present invention is to provide an efficient and fair scheduling algorithm, which can be used to switch between strict priority round-robin scheduling and starvation-avoidance priority round-robin scheduling. Use configurable threshold parameters to set the count threshold of the scheduler, which effectively reduces the average delay of low-priority packets and avoids starvation of a certain service.

本发明采用的技术方案为:The technical scheme adopted in the present invention is:

一种用于降低低优先级包延迟的公平调度方法,包括以下步骤:A fair scheduling method for reducing the delay of low-priority packets, comprising the following steps:

(1)配置阈值参数,并对输入数据包在输入端进行缓存,同时生成数据包的标签,根据优先级和目标端口将数据包的标签划分成不同的虚拟队列,并为每个虚拟队列设置一个计数器;(1) Configure the threshold parameters, buffer the input data packets at the input end, and generate the labels of the data packets at the same time, divide the labels of the data packets into different virtual queues according to the priority and the target port, and set the settings for each virtual queue a counter;

(2)每个虚拟队列根据该队列中空满的情况向调度器发出申请;(2) Each virtual queue sends an application to the scheduler according to the situation that the queue is full;

(3)调度器从申请信号集合中选择最高优先级的虚拟队列授权仲裁,同一优先级不同目标端口的虚拟队列采用轮询的方式授权仲裁;同时每个虚拟队列的计数器进行计数,计数规则为:当虚拟队列非空,并且授权仲裁其他虚拟队列时,该虚拟队列的计数器值增加1,当计数到达配置阈值参数时,标记该虚拟队列为over,否则标记为under;(3) The scheduler selects the highest priority virtual queue from the application signal set to authorize arbitration, and the virtual queues of the same priority with different target ports use the polling method to authorize arbitration; at the same time, the counter of each virtual queue is counted, and the counting rule is: : When the virtual queue is not empty and it is authorized to arbitrate other virtual queues, the counter value of the virtual queue is increased by 1. When the count reaches the configured threshold parameter, the virtual queue is marked as over, otherwise it is marked as under;

(4)调度器判断是否有标记为over的虚拟队列,如果有,则调度器一直锁定标记为over的虚拟队列,优先授权仲裁该队列,直到该队列为空时over状态解除;否则,返回步骤(3),直到所有的虚拟队列为空;(4) The scheduler judges whether there is a virtual queue marked over, if so, the scheduler keeps locking the virtual queue marked over, and grants priority to arbitrate the queue until the over state is released when the queue is empty; otherwise, go back to the step (3), until all virtual queues are empty;

(5)根据仲裁结果,从虚拟队列中读取标签,根据标签选择数据包发送到相应的目的端口。(5) According to the arbitration result, the tag is read from the virtual queue, and the data packet is selected according to the tag and sent to the corresponding destination port.

其中,步骤(1)中标签中包含输入数据包的存储空间位置、输出端口号和优先级信息。Wherein, the label in step (1) includes the storage space location, output port number and priority information of the input data packet.

其中,步骤(4)中调度器一直锁定标记为over的虚拟队列,优先授权仲裁该队列,直到该队列为空时over状态解除,具体为:调度器从标记为over的虚拟队列中选择最高优先级的虚拟队列授权仲裁,同一优先级的over虚拟队列,用轮询的策略授权仲裁,直到该虚拟队列为时空over状态解除。Wherein, in step (4), the scheduler keeps locking the virtual queue marked as over, and authorizes the arbitration of the queue in priority until the over state is released when the queue is empty. Specifically, the scheduler selects the highest priority from the virtual queue marked as over. The virtual queues of the same priority level authorize arbitration, and the over virtual queues of the same priority use the polling strategy to authorize arbitration until the virtual queue is released from the space-time over state.

其中,步骤(5)具体为:Wherein, step (5) is specifically:

根据仲裁结果从虚拟队列中读取标签,提取标签中数据包的存储位置序号和输出端口号,根据存储位置序号从输入端缓存区读取对应的数据包,根据标签中输出端口号发送该数据包到输出目标端口对应的交叉点。Read the label from the virtual queue according to the arbitration result, extract the storage location sequence number and output port number of the data packet in the label, read the corresponding data packet from the input buffer according to the storage location sequence number, and send the data according to the output port number in the label. Packet to the corresponding crosspoint of the output destination port.

本发明与背景技术相比,具有如下优点:Compared with the background technology, the present invention has the following advantages:

(1)本发明通过虚队列区分业务优先级和目标端口的方式能够有效降低模块间通信量,使队列本身就携带优先级和路由信息,因此,降低了调度算法的设计难度和复杂度。(1) The present invention can effectively reduce the traffic between modules by distinguishing service priorities and target ports through virtual queues, so that the queues themselves carry priority and routing information, thus reducing the design difficulty and complexity of scheduling algorithms.

(2)本发明通过为每个虚队列设置计数器的方式来计算每个队列的被服务频率,通过与预设阈值参数进行比较,确定每个队列的极限值,因此,可以限制低优先级业务包的最大延迟,防止某个队列或者某种业务出现饥饿的情况。(2) The present invention calculates the service frequency of each queue by setting a counter for each virtual queue, and determines the limit value of each queue by comparing with a preset threshold parameter, so that low-priority services can be restricted The maximum delay of a packet to prevent starvation of a queue or service.

(3)本发明通过增加over和under的队列分类,进一步扩展了优先级的不同属性,通过这种方式使业务的实时性更能得到保证。(3) The present invention further expands the different attributes of the priority by increasing the queue classification of over and under, and in this way, the real-time performance of the business can be better guaranteed.

(4)本发明还具有较强的灵活性性和适用性,能够在多种排队交换结构中与其他算法配合使用,也可以根据业务类型灵活配置阈值参数,是交换达到较好的性能。(4) The present invention also has strong flexibility and applicability, can be used in conjunction with other algorithms in various queuing switching structures, and can also flexibly configure threshold parameters according to business types, so that switching achieves better performance.

附图说明Description of drawings

图1是本发明实施调度算法流程图。FIG. 1 is a flowchart of the implementation of the scheduling algorithm of the present invention.

图2是本发明输入包的标签生成及入队过程和虚拟队列结构。Fig. 2 is the label generation and enqueue process and virtual queue structure of the input packet of the present invention.

图3是本发明为每个队列设置的计数器实现框图。FIG. 3 is a block diagram of the implementation of the counter set for each queue according to the present invention.

图4是本发明CICQ交换结构的原理框图。FIG. 4 is a schematic block diagram of the CICQ switching structure of the present invention.

具体实施方式Detailed ways

下面结合附图对本发明作进一步的解释说明。The present invention will be further explained below in conjunction with the accompanying drawings.

参照图1,本发明一种用于降低低优先级包延迟的公平调度方法包括以下步骤:Referring to FIG. 1, a fair scheduling method for reducing the delay of low-priority packets according to the present invention includes the following steps:

(1)配置阈值参数,并对输入数据包在输入端进行缓存,同时生成数据包的标签,根据优先级和目标端口将数据包的标签划分成不同的虚拟队列,并为每个虚拟队列设置一个计数器;标签中包含输入数据包的存储空间位置、输出端口号和优先级信息。(1) Configure the threshold parameters, buffer the input data packets at the input end, and generate the labels of the data packets at the same time, divide the labels of the data packets into different virtual queues according to the priority and the target port, and set the settings for each virtual queue A counter; the label contains the storage location, output port number, and priority information of incoming packets.

图2是本发明输入包的标签生成及入队过程和虚拟队列结构。当包解析完成后会生成一个标签,该标签会存放在该标签排队区中的虚拟队列中。标签的排队原则是:同一优先级,同一目标端口的标签按照先入先出的方式缓存到同一虚拟队列中,同一虚拟队列按照先入先出的方式进行缓存。Fig. 2 is the label generation and enqueue process and virtual queue structure of the input packet of the present invention. When the packet parsing is completed, a label will be generated, and the label will be stored in the virtual queue in the label queuing area. The queuing principle of labels is: the labels of the same priority and the same target port are cached in the same virtual queue according to the first-in, first-out method, and the same virtual queue is buffered according to the first-in, first-out method.

(2)每个虚拟队列根据该队列中空满的情况向调度器发出申请;(2) Each virtual queue sends an application to the scheduler according to the situation that the queue is full;

(3)调度器从申请信号集合中选择最高优先级的虚拟队列授权仲裁,同一优先级不同目标端口的虚拟队列采用轮询的方式授权仲裁;同时每个虚拟队列的计数器进行计数,计数规则为:当虚拟队列非空,并且授权仲裁其他虚拟队列时,该虚拟队列的计数器值增加1,当计数到达配置阈值参数时,标记该虚拟队列为over,否则标记为under;(3) The scheduler selects the highest priority virtual queue from the application signal set to authorize arbitration, and the virtual queues of the same priority with different target ports use the polling method to authorize arbitration; at the same time, the counter of each virtual queue is counted, and the counting rule is: : When the virtual queue is not empty and it is authorized to arbitrate other virtual queues, the counter value of the virtual queue is increased by 1. When the count reaches the configured threshold parameter, the virtual queue is marked as over, otherwise it is marked as under;

(4)调度器判断是否有标记为over的虚拟队列,如果有,则调度器从标记为over的虚拟队列中选择最高优先级的虚拟队列授权仲裁,同一优先级的over虚拟队列,用轮询的策略授权仲裁,直到该虚拟队列为时空over状态解除;否则,返回步骤(3),直到所有的虚拟队列为空;(4) The scheduler judges whether there is a virtual queue marked over, if so, the scheduler selects the virtual queue with the highest priority from the virtual queue marked over to authorize arbitration, and the over virtual queue with the same priority uses polling The strategy authorizes arbitration until the virtual queue is released from the space-time over state; otherwise, return to step (3) until all virtual queues are empty;

(5)根据仲裁结果,从虚拟队列中读取标签,根据标签选择数据包发送到相应的目的端口。具体为:根据仲裁结果从虚拟队列中读取标签,提取标签中数据包的存储位置序号和输出端口号,根据存储位置序号从输入端缓存区读取对应的数据包,根据标签中输出端口号发送该数据包到输出目标端口对应的交叉点。(5) According to the arbitration result, the tag is read from the virtual queue, and the data packet is selected according to the tag and sent to the corresponding destination port. Specifically: read the label from the virtual queue according to the arbitration result, extract the storage location sequence number and output port number of the data packet in the label, read the corresponding data packet from the input buffer area according to the storage location sequence number, and output the port number according to the label Send the packet to the crosspoint corresponding to the output destination port.

其中,如图1,本发明所设计的包解析主要完成数据包的入队功能。它主要包括地址申请、标签生成、入队控制、基于输出码组和优先级的虚队列组织和调度申请和结果处理几个主要过程。Among them, as shown in FIG. 1 , the packet analysis designed by the present invention mainly completes the enqueuing function of data packets. It mainly includes several main processes of address application, label generation, enqueue control, virtual queue organization and scheduling based on output code group and priority, and result processing.

地址申请主要是为将要入队的数据包从共享缓存的ram中申请一个实际的地址,可以把数据包存储在这个RAM中。同时,出队时通过接收调度结果获得的标签中的包存储序号完成出队。The address application is mainly to apply for an actual address from the RAM of the shared cache for the data packet to be queued, and the data packet can be stored in this RAM. At the same time, when dequeuing, the dequeue is completed by receiving the packet storage sequence number in the label obtained from the scheduling result.

当有包需要入队时,数据包处理功能会把当前包申请的空闲地址和获取的与该数据包对应的信息写入标签中,这些信息包括存储空间位置、输出端口号和优先级信息等。而入队控制会根据标签中的优先级和目标端口信息,把新得到的标签写入相应虚队列中,从而完成数据包的存储和标签虚拟队列组织形式的链接。When a packet needs to be queued, the packet processing function will write the free address applied for by the current packet and the acquired information corresponding to the packet into the label, including storage space location, output port number and priority information, etc. . The enqueue control will write the newly obtained label into the corresponding virtual queue according to the priority and target port information in the label, so as to complete the link between the storage of the data packet and the organization of the label virtual queue.

其中,根据当前虚拟队列中的状态,向调度控制发送调度申请,当调度完成以后,根据调度的结果,读取相应队列标签信息。根据标签信息中数据包存储序号等信息配合输出总线控制器,搬移数据包送往输出端口所对应的交叉点或者下一级。Wherein, according to the state of the current virtual queue, a scheduling application is sent to the scheduling control, and after the scheduling is completed, the corresponding queue label information is read according to the scheduling result. According to the data packet storage sequence number and other information in the label information, it cooperates with the output bus controller to move the data packet to the cross point or the next level corresponding to the output port.

其中,步骤(4)的实现过程是:当有优先级高的over虚拟队列时,高优先级over虚拟队列先调度;同一优先级的over虚拟队列,用轮询的策略在标记为“over”的虚拟队列中选择;如果没有over虚拟队列的存在,用轮询的策略在under的队列中选择。Among them, the implementation process of step (4) is: when there is an over virtual queue with a high priority, the high priority over virtual queue is scheduled first; the over virtual queue with the same priority is marked as "over" with a polling strategy Select from the virtual queue of over; if there is no over virtual queue, use the polling strategy to select from the under queue.

其中,步骤(5)的实现过程是根据调度器仲裁结果,读取相应虚拟队列的队首标签,获取标签中包存储序号、输出端口号等信息。根据标签信息中数据包存储序号等信息配合输出总线控制器,搬移数据包送往输出端口所对应的交叉点或者下一级。Wherein, the implementation process of step (5) is to read the head tag of the corresponding virtual queue according to the arbitration result of the scheduler, and obtain information such as the packet storage sequence number and the output port number in the tag. According to the data packet storage sequence number and other information in the label information, it cooperates with the output bus controller to move the data packet to the cross point or the next level corresponding to the output port.

图3为第(3)步的计数器设计原理框图。判断逻辑根据每次的仲裁结果和当前该虚拟队列KN的缓存情况,如果该队中有包,但仲裁结果指针指向的是另一队列,则该计数器增加。当计数器的值达到预先配置的值时,该队列的over信号拉高,否则under信号拉高。Figure 3 is a block diagram of the design principle of the counter in step (3). The judgment logic is based on each arbitration result and the current cache situation of the virtual queue KN. If there is a packet in the queue, but the arbitration result pointer points to another queue, the counter increases. When the value of the counter reaches the pre-configured value, the over signal of the queue is pulled high, otherwise the under signal is pulled high.

图4是CICQ交换结构的原理框图。其中N为交换结构端口号。当数据包从某一端口进入后,先在输入端口处进行虚拟排队,并向输入调度器提出申请,接受仲裁结果。其中第(5)步的实现过程是根据仲裁结果和标签中输出端口信息把相应数据包发往该数据包输出端口所对应的交叉点进行缓存。例如,从端口1进入发往端口3的数据包会发往图4中的第1行第3列的交叉点进行缓存。输出调度根据同一列不同交叉点的状态选择数据包发送到输出端口。本发明一种用于降低低优先级包延迟的公平调度方法是指输入调度过程。Figure 4 is a schematic block diagram of the CICQ switching structure. Where N is the switch fabric port number. When a data packet enters from a certain port, virtual queuing is performed at the input port first, and an application is made to the input scheduler to accept the arbitration result. The implementation process of step (5) is to send the corresponding data packet to the cross point corresponding to the output port of the data packet for buffering according to the arbitration result and the output port information in the label. For example, a packet entering from port 1 to port 3 will be sent to the intersection of row 1 and column 3 in Figure 4 for buffering. Output scheduling selects packets to send to output ports based on the status of different intersections in the same column. A fair scheduling method for reducing the delay of low-priority packets in the present invention refers to an input scheduling process.

Claims (4)

1.一种用于降低低优先级包延迟的公平调度方法,其特征在于包括以下步骤:1. A fair scheduling method for reducing low-priority packet delay is characterized in that comprising the following steps: (1)配置阈值参数,并对输入数据包在输入端进行缓存,同时生成数据包的标签,根据优先级和目标端口将数据包的标签划分成不同的虚拟队列,并为每个虚拟队列设置一个计数器;其中,标签的排队原则是:同一优先级,同一目标端口的标签按照先入先出的方式缓存到同一虚拟队列中,同一虚拟队列按照先入先出的方式进行缓存;(1) Configure the threshold parameters, buffer the input data packets at the input end, and generate the labels of the data packets at the same time, divide the labels of the data packets into different virtual queues according to the priority and the target port, and set the settings for each virtual queue A counter; among them, the queuing principle of labels is: the same priority, the labels of the same target port are cached in the same virtual queue according to the first-in, first-out method, and the same virtual queue is cached according to the first-in, first-out method; (2)每个虚拟队列根据该队列中空满的情况向调度器发出申请;(2) Each virtual queue sends an application to the scheduler according to the situation that the queue is full; (3)调度器从申请信号集合中选择最高优先级的虚拟队列授权仲裁,同一优先级不同目标端口的虚拟队列采用轮询的方式授权仲裁;同时每个虚拟队列的计数器进行计数,计数规则为:当虚拟队列非空,并且授权仲裁其他虚拟队列时,该虚拟队列的计数器值增加1,当计数到达配置阈值参数时,标记该虚拟队列为over,否则标记为under;(3) The scheduler selects the highest priority virtual queue from the application signal set to authorize arbitration, and the virtual queues of the same priority with different target ports use the polling method to authorize arbitration; at the same time, the counter of each virtual queue is counted, and the counting rule is: : When the virtual queue is not empty and it is authorized to arbitrate other virtual queues, the counter value of the virtual queue is increased by 1. When the count reaches the configured threshold parameter, the virtual queue is marked as over, otherwise it is marked as under; (4)调度器判断是否有标记为over的虚拟队列,如果有,则调度器一直锁定标记为over的虚拟队列,优先授权仲裁该队列,直到该队列为空时over状态解除;否则,返回步骤(3),直到所有的虚拟队列为空;(4) The scheduler judges whether there is a virtual queue marked over, if so, the scheduler keeps locking the virtual queue marked over, and grants priority to arbitrate the queue until the over state is released when the queue is empty; otherwise, go back to the step (3), until all virtual queues are empty; (5)根据仲裁结果,从虚拟队列中读取标签,根据标签选择数据包发送到相应的目的端口。(5) According to the arbitration result, the tag is read from the virtual queue, and the data packet is selected according to the tag and sent to the corresponding destination port. 2.根据权利要求1所述的一种用于降低低优先级包延迟的公平调度方法,其特征在于:步骤(1)中标签中包含输入数据包的存储空间位置、输出端口号和优先级信息。2. a kind of fair scheduling method for reducing low-priority packet delay according to claim 1, is characterized in that: in step (1), in label, comprise the storage space position, output port number and priority of input data packet information. 3.根据权利要求1所述的一种用于降低低优先级包延迟的公平调度方法,其特征在于:步骤(4)中调度器一直锁定标记为over的虚拟队列,优先授权仲裁该队列,直到该队列为空时over状态解除,具体为:调度器从标记为over的虚拟队列中选择最高优先级的虚拟队列授权仲裁,同一优先级的over虚拟队列,用轮询的策略授权仲裁,直到该虚拟队列为时空over状态解除。3. a kind of fair scheduling method for reducing low-priority packet delay according to claim 1, is characterized in that: in step (4), scheduler locks the virtual queue marked as over all the time, priority authorizes to arbitrate this queue, Until the queue is empty, the over state is released, specifically: the scheduler selects the highest priority virtual queue from the virtual queue marked over to authorize arbitration, and the over virtual queue of the same priority uses the polling strategy to authorize arbitration until The virtual queue is released from the space-time over state. 4.根据权利要求1所述的一种用于降低低优先级包延迟的公平调度方法,其特征在于:步骤(5)具体为:4. a kind of fair scheduling method for reducing low-priority packet delay according to claim 1, is characterized in that: step (5) is specifically: 根据仲裁结果从虚拟队列中读取标签,提取标签中数据包的存储位置序号和输出端口号,根据存储位置序号从输入端缓存区读取对应的数据包,根据标签中输出端口号发送该数据包到输出目标端口对应的交叉点。Read the label from the virtual queue according to the arbitration result, extract the storage location sequence number and output port number of the data packet in the label, read the corresponding data packet from the input buffer according to the storage location sequence number, and send the data according to the output port number in the label. Packet to the corresponding crosspoint of the output destination port.
CN201811276225.4A 2018-10-30 2018-10-30 Fair scheduling method for reducing low-priority packet delay Active CN109379304B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811276225.4A CN109379304B (en) 2018-10-30 2018-10-30 Fair scheduling method for reducing low-priority packet delay

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811276225.4A CN109379304B (en) 2018-10-30 2018-10-30 Fair scheduling method for reducing low-priority packet delay

Publications (2)

Publication Number Publication Date
CN109379304A CN109379304A (en) 2019-02-22
CN109379304B true CN109379304B (en) 2022-05-06

Family

ID=65390626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811276225.4A Active CN109379304B (en) 2018-10-30 2018-10-30 Fair scheduling method for reducing low-priority packet delay

Country Status (1)

Country Link
CN (1) CN109379304B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114531399B (en) * 2020-11-05 2023-09-19 中移(苏州)软件技术有限公司 Memory blocking balancing method, device, electronic device and storage medium
CN112491748B (en) * 2020-11-20 2022-05-27 中国电子科技集团公司第五十四研究所 A Credit-Based Proportional Fair Scheduling Method Supporting Data Packet Switching

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993001553A1 (en) * 1991-07-08 1993-01-21 Seiko Epson Corporation Microprocessor architecture capable of supporting multiple heterogeneous processors
CN1875584A (en) * 2003-10-31 2006-12-06 皇家飞利浦电子股份有限公司 Integrated circuit and method for avoiding starvation of data
TW200819990A (en) * 2006-10-27 2008-05-01 Nvidia Corp Priority adjustable system resources arbitration method
CN101478483A (en) * 2009-01-08 2009-07-08 中国人民解放军信息工程大学 Method for implementing packet scheduling in switch equipment and switch equipment
CN102394829A (en) * 2011-11-14 2012-03-28 上海交通大学 Reliability demand-based arbitration method in network on chip
CN104994132A (en) * 2015-05-20 2015-10-21 北京麓柏科技有限公司 Storage system, centralized control equipment and service quality control method and device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993001553A1 (en) * 1991-07-08 1993-01-21 Seiko Epson Corporation Microprocessor architecture capable of supporting multiple heterogeneous processors
CN1875584A (en) * 2003-10-31 2006-12-06 皇家飞利浦电子股份有限公司 Integrated circuit and method for avoiding starvation of data
TW200819990A (en) * 2006-10-27 2008-05-01 Nvidia Corp Priority adjustable system resources arbitration method
CN101478483A (en) * 2009-01-08 2009-07-08 中国人民解放军信息工程大学 Method for implementing packet scheduling in switch equipment and switch equipment
CN102394829A (en) * 2011-11-14 2012-03-28 上海交通大学 Reliability demand-based arbitration method in network on chip
CN104994132A (en) * 2015-05-20 2015-10-21 北京麓柏科技有限公司 Storage system, centralized control equipment and service quality control method and device

Also Published As

Publication number Publication date
CN109379304A (en) 2019-02-22

Similar Documents

Publication Publication Date Title
EP3562110B1 (en) Traffic management for high-bandwidth switching
US10567307B2 (en) Traffic management for high-bandwidth switching
US11824791B2 (en) Virtual channel starvation-free arbitration for switches
US10764208B2 (en) Distributed switch architecture
EP1949622B1 (en) Method and system to reduce interconnect latency
US6654343B1 (en) Method and system for switch fabric flow control
US7050440B2 (en) Method and structure for variable-length frame support in a shared memory switch
EP2442499B1 (en) Data exchange method and data exchange structure
US20040083326A1 (en) Switch scheduling algorithm
US8879578B2 (en) Reducing store and forward delay in distributed systems
CN109379304B (en) Fair scheduling method for reducing low-priority packet delay
CN114531488A (en) High-efficiency cache management system facing Ethernet exchanger
US7623456B1 (en) Apparatus and method for implementing comprehensive QoS independent of the fabric system
US20040120321A1 (en) Input buffered switches using pipelined simple matching and method thereof
JP4568364B2 (en) Method, apparatus, and computer program for scheduling unicast and multicast traffic in an interconnect fabric (method and apparatus for scheduling unicast traffic and multicast traffic in an interconnect fabric)
CN112491748B (en) A Credit-Based Proportional Fair Scheduling Method Supporting Data Packet Switching
Rojas-Cessa et al. Load-balanced combined input-crosspoint buffered packet switches
Mhamdi PBC: A partially buffered crossbar packet switch
Rojas-Cessa High-performance round-robin arbitration schemes for input-crosspoint buffered switches
KR100404376B1 (en) Partitioned Crossbar Switch with Multiple Input/Output Buffers
Mhamdi A Partially Buffered Crossbar packet switching architecture and its scheduling
KR20060032103A (en) Output Scheduling Method of Crosspoint Buffer Switch
CN115473862B (en) Method and system for avoiding blocking of multicast packet queue head of switching chip
EP2169883B1 (en) Asynchronous flow control and scheduling method
JP2003051839A (en) Control Method of Input Buffer Type Switch Fabric Communication Device with Virtual Output Queuing

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