TW202226794A - Time-division multiplexing scheduler and device - Google Patents

Time-division multiplexing scheduler and device Download PDF

Info

Publication number
TW202226794A
TW202226794A TW109145149A TW109145149A TW202226794A TW 202226794 A TW202226794 A TW 202226794A TW 109145149 A TW109145149 A TW 109145149A TW 109145149 A TW109145149 A TW 109145149A TW 202226794 A TW202226794 A TW 202226794A
Authority
TW
Taiwan
Prior art keywords
value
scheduler
current count
current
packet transmission
Prior art date
Application number
TW109145149A
Other languages
Chinese (zh)
Other versions
TWI733635B (en
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 TW109145149A priority Critical patent/TWI733635B/en
Application granted granted Critical
Publication of TWI733635B publication Critical patent/TWI733635B/en
Priority to US17/542,534 priority patent/US11563691B2/en
Publication of TW202226794A publication Critical patent/TW202226794A/en
Priority to US17/974,915 priority patent/US11831413B2/en

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/501Overload detection

Landscapes

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

Abstract

Disclosed is a time-division multiplexing (TDM) scheduler capable of determining a service order for serving N packet transmission demanders. The TDM scheduler includes: N current count value generators configured to serve the N packet transmission demanders respectively, and generate N current count values according to parameters of the N packet transmission demanders, a latest scheduling result generated by the EDD scheduler previously, and a predetermined counting rule; and an earliest due date (EDD) scheduler configured to generate a current scheduling result for determining the service order according to the N current count values and a predetermined urgency decision rule, wherein an extremum of the N current count values relates to one of the N packet transmission demanders, and the EDD scheduler selects this demander as the one to be served preferentially.

Description

分時多工排程器與裝置Time-sharing multiplexing scheduler and device

本發明是關於排程器與排程裝置,尤其是關於分時多工排程器與分時多工排程裝置。The present invention relates to a scheduler and a scheduling device, and more particularly, to a time-sharing multiplexing scheduler and a time-sharing multiplexing scheduling device.

一般的交換器(例如:乙太網路交換器)利用分時多工(time-division multiplexing; TDM)技術處理多個傳輸埠的封包傳輸;更明確地說,該交換器於一個時槽(time slot)內處理一個傳輸埠的封包傳輸,而於連續的複數個時槽內依據一預定順序處理該些傳輸埠的封包傳輸。當該些傳輸埠之輸入/輸出頻寬(I/O bandwidth)的總合大於該交換器的核心頻寬(core bandwidth)時,該交換器無法完全滿足所有傳輸埠的頻寬要求,此情形稱為超額認購(oversubscription; OS);此時,該交換器會基於該些傳輸埠的屬性,完全地滿足處於全線速(line rate)模式之傳輸埠的頻寬要求,並滿足處於超額認購模式之傳輸埠的部分頻寬要求。A typical switch (eg, an Ethernet switch) uses time-division multiplexing (TDM) technology to process packet transmissions across multiple ports; more specifically, the switch operates on a time slot ( The packet transmission of one transmission port is processed in a time slot, and the packet transmission of the transmission ports is processed according to a predetermined sequence in a plurality of consecutive time slots. When the total I/O bandwidth of the transmission ports is greater than the core bandwidth of the switch, the switch cannot fully meet the bandwidth requirements of all transmission ports. In this case It is called oversubscription (OS); at this time, the switch will fully meet the bandwidth requirements of the transmission ports in the full line rate mode based on the attributes of the transmission ports, and meet the bandwidth requirements of the transmission ports in the oversubscription mode. part of the bandwidth requirements of the port.

承上所述,一般的網路交換器是以人工方式來規劃多份TDM表包括全線速TDM表與超額認購TDM表,以定義前述預定順序,從而分配時槽給多個傳輸埠進行封包傳輸。然而,上述作法耗費人力,須因應不同的傳輸埠數量規劃不同的TDM表,也難以公平地分配頻寬給處於超額認購模式的傳輸埠。As mentioned above, a general network switch manually plans multiple TDM tables, including full line-rate TDM tables and oversubscribed TDM tables, to define the aforementioned predetermined order, thereby allocating time slots to multiple transmission ports for packet transmission. . However, the above method is labor-intensive, different TDM tables need to be planned according to the number of different transmission ports, and it is difficult to fairly allocate the bandwidth to the transmission ports in the over-subscription mode.

本揭露的目的之一在於提供一種分時多工(time-division multiplexing; TDM)排程器與裝置,以避免先前技術的問題。One of the objectives of the present disclosure is to provide a time-division multiplexing (TDM) scheduler and apparatus to avoid the problems of the prior art.

本揭露之TDM排程器的一實施例能夠決定N個封包傳輸需求者的一服務順序,其中該N為大於一的整數。該實施例包含N個當前計數值產生器與一最早屆期(earliest due date; EDD)排程器。該N個當前計數值產生器分別用來服務該N個封包傳輸需求群組。該N個當前計數值產生器依據該N個封包傳輸需求群組的參數、一最近排程結果以及一預設計數規則產生N個當前計數值。該最早屆期排程器用來依據該N個當前計數值與一預設緊急度判斷規則產生一當前排程結果,其中該當前排程結果決定該服務順序,該最近排程結果是該最早屆期排程器先前產生的。An embodiment of the TDM scheduler of the present disclosure can determine a service order of N packet transmission requesters, where N is an integer greater than one. This embodiment includes N current count value generators and an earliest due date (EDD) scheduler. The N current count value generators are respectively used for serving the N packet transmission request groups. The N current count value generators generate N current count values according to the parameters of the N packet transmission request groups, a recent scheduling result and a predetermined counting rule. The earliest expiration scheduler is used for generating a current scheduling result according to the N current count values and a predetermined urgency judgment rule, wherein the current scheduling result determines the service order, and the latest scheduling result is the earliest scheduling result previously generated by the scheduler.

本揭露之TDM排程器的另一實施例能夠決定N個封包傳輸需求者的一服務順序,其中該N個封包傳輸需求者包含一第一需求者與一第二需求者。該實施例包含N個當前計數值產生器以及一最早屆期排程器。該N個當前計數值產生器分別用來服務該N個封包傳輸需求者;每個當前計數值產生器用來產生一計數值;該N個當前計數值產生器共產生N個當前計數值。該N個當前計數值產生器包含一第一計數值產生電路與一第二計數值產生電路分別用來服務前述第一需求者與一第二需求者。該第一(第二)計數值產生電路包含:一第一(第二)儲存電路,用來儲存該第一(第二)需求者的第一(第二)參數配置;以及一第一(第二)計數電路,用來依據複數個第一(第二)輸入參數與一預設計數規則更新一第一(第二)先前計數值,以產生該N個當前計數值的一第一(第二)當前計數值,其中該複數個第一(第二)輸入參數包含該第一(第二)參數配置與該第一(第二)先前計數值,該第一先前計數值源自於該EDD排程器先前產生的一最近排程結果,該第一(第二)先前計數值與該第一(第二)當前計數值均落於一第一(第二)計數範圍內,該第一(第二)計數範圍由該第一(第二)參數配置而定,且包含一第一(第二)極值。該EDD排程器用來依據該N個當前計數值與一預設緊急度判斷規則產生一當前排程結果用於決定該服務順序;舉例而言,該N個當前計數值中的一極值關聯該N個封包傳輸需求者的其中之一,該EDD排程器依據該預設緊急度判斷規則選擇該極值所關聯的需求者作為一最優先對象。Another embodiment of the TDM scheduler of the present disclosure can determine a service order of N packet transmission requesters, wherein the N packet transmission requesters include a first requester and a second requester. This embodiment includes N current count value generators and an earliest expiration scheduler. The N current count value generators are respectively used to serve the N packet transmission requesters; each current count value generator is used to generate a count value; the N current count value generators generate N current count values in total. The N current count value generators include a first count value generation circuit and a second count value generation circuit for serving the first demander and a second demander, respectively. The first (second) count value generating circuit includes: a first (second) storage circuit for storing the first (second) parameter configuration of the first (second) demander; and a first (second) The second) counting circuit is used to update a first (second) previous count value according to a plurality of first (second) input parameters and a preset counting rule, so as to generate a first (second) count value of the N current count values. second) current count value, wherein the plurality of first (second) input parameters include the first (second) parameter configuration and the first (second) previous count value derived from A recent scheduling result previously generated by the EDD scheduler, the first (second) previous count value and the first (second) current count value both fall within a first (second) count range, the The first (second) count range is determined by the first (second) parameter configuration and includes a first (second) extreme value. The EDD scheduler is used for generating a current scheduling result according to the N current count values and a predetermined urgency judgment rule for determining the service order; for example, an extreme value among the N current count values is associated with One of the N packet transmission demanders, the EDD scheduler selects the demander associated with the extreme value as a top priority object according to the preset urgency judgment rule.

本揭露之TDM排程裝置的一實施例包含一TDM排程器與一傳輸埠排程器。該TDM排程器包含N個當前計數值產生器與一EDD排程器。該N個當前計數值產生器分別用來服務N個封包傳輸需求群組;該N個當前計數值產生器依據該N個封包傳輸需求群組的參數、該EDD排程器先前產生的一最近排程結果、以及一預設計數規則產生N個當前計數值。該EDD排程器用來依據該N個當前計數值與一預設緊急度判斷規則產生一當前排程結果。該傳輸埠排程器包含N個排程電路與一多工器。該N個排程電路分別用來服務該N個封包傳輸需求群組;該N個封包傳輸需求群組的每一個包含至少一傳輸埠,每個排程電路用來依據一預設演算法選擇該排程電路所服務的該封包傳輸需求群組的一傳輸埠,因此,該N個排程電路共選擇N個傳輸埠。該多工器用來依據該當前排程結果所指出的一最優先對象輸出一傳輸埠選擇訊號指出該N個傳輸埠的其中之一作為一獲選傳輸埠,從而允許該獲選傳輸埠進行傳輸;該最優先對象為該N個封包傳輸需求群組的其中之一;該獲選傳輸埠為該最優先對象之M個傳輸埠的其中之一,該M為正整數。An embodiment of the TDM scheduler of the present disclosure includes a TDM scheduler and a port scheduler. The TDM scheduler includes N current count value generators and an EDD scheduler. The N current count value generators are respectively used to serve N packet transmission demand groups; the N current count value generators are based on the parameters of the N packet transmission demand groups, a most recent one previously generated by the EDD scheduler The scheduling result and a predetermined counting rule generate N current count values. The EDD scheduler is used for generating a current scheduling result according to the N current count values and a predetermined urgency judgment rule. The transmission port scheduler includes N scheduling circuits and a multiplexer. The N scheduling circuits are respectively used for serving the N packet transmission request groups; each of the N packet transmission request groups includes at least one transmission port, and each scheduling circuit is used for selecting according to a predetermined algorithm A transmission port of the packet transmission request group served by the scheduling circuit, therefore, the N scheduling circuits select N transmission ports in total. The multiplexer is used for outputting a transmission port selection signal according to a top priority object indicated by the current scheduling result to indicate one of the N transmission ports as a selected transmission port, so as to allow the selected transmission port to transmit ; the highest priority object is one of the N packet transmission request groups; the selected transmission port is one of the M transmission ports of the highest priority object, where M is a positive integer.

有關本發明的特徵、實作與功效,茲配合圖式作較佳實施例詳細說明如下。With regard to the features, implementations and effects of the present invention, preferred embodiments are described in detail as follows in conjunction with the drawings.

本揭露的分時多工排程器(time-division multiplexing scheduler; TDM scheduler)與裝置能夠自動地為複數個封包傳輸需求者分配時槽,除能大幅節省人力,也能快速地實現時槽分配的規劃。該TDM排程器與裝置可用於一網路裝置(例如:乙太網路交換器)中,然其應用不限於此。The time-division multiplexing scheduler (TDM scheduler) and device of the present disclosure can automatically allocate time slots to a plurality of packet transmission requesters, which not only saves manpower significantly, but also quickly realizes time slot allocation. planning. The TDM scheduler and device can be used in a network device (eg, an Ethernet switch), but its application is not limited thereto.

圖1顯示本揭露之TDM排程器的一實施例。圖1之TDM排程器100能夠決定N個封包傳輸需求者MG1~MGn(例如:N個媒體存取控制群(media access control groups; MAC groups),每個MAC群包含至少一傳輸埠)的一服務順序,該N為大於一的整數。TDM排程器100包含N個當前計數值產生器110-1~110-n以及一最早屆期(earliest due date; EDD)排程器120。FIG. 1 shows an embodiment of the TDM scheduler of the present disclosure. The TDM scheduler 100 of FIG. 1 can determine the number of N packet transmission requesters MG1 ˜MGn (eg, N media access control groups (MAC groups), each MAC group includes at least one transmission port). A service order, where N is an integer greater than one. The TDM scheduler 100 includes N current count value generators 110 - 1 to 110 - n and an earliest due date (EDD) scheduler 120 .

請參閱圖1。N個當前計數值產生器110-1~110-n分別用來服務N個封包傳輸需求者MG1~MGn。N個當前計數值產生器110-1~110-n的每一個用來產生一當前計數值

Figure 02_image001
;因此,N個當前計數值產生器110-1~110-n產生N個當前計數值
Figure 02_image003
。每個當前計數值產生器
Figure 02_image005
的一實施例包含一儲存電路
Figure 02_image007
(例如:暫存器)與一計數電路
Figure 02_image009
如圖2所示。儲存電路112-k用來儲存封包傳輸需求者MGk的參數配置。計數電路114-k用來依據封包傳輸需求者MGk的複數個輸入參數(例如:封包傳輸需求者MGk的參數配置以及一最近排程結果如後所述)與一預設計數規則,更新封包傳輸需求者MGk的一先前計數值,以產生封包傳輸需求者MGk的當前計數值MGk_DCNT_VAL,其中第k時槽的先前計數值是第(k-1)時槽的當前計數值。本領域具有通常知識者可依據本揭露,利用一已知計數器與一控制電路(未顯示於圖)來實現計數電路114-k,其中該控制電路用來開始與暫停該已知計數器的計數,並用來重置該計數器(或說載入該計數器的初始計數值)。 See Figure 1. The N current count value generators 110-1 to 110-n are respectively used to serve the N packet transmission requesters MG1 to MGn. Each of the N current count value generators 110-1 to 110-n is used to generate a current count value
Figure 02_image001
; Therefore, N current count value generators 110-1 to 110-n generate N current count values
Figure 02_image003
. each current count value generator
Figure 02_image005
An embodiment of the includes a storage circuit
Figure 02_image007
(Example: Scratchpad) and a counting circuit
Figure 02_image009
as shown in picture 2. The storage circuit 112-k is used to store the parameter configuration of the packet transmission requester MGk. The counting circuit 114-k is used for updating the packet transmission according to a plurality of input parameters of the packet transmission demander MGk (for example, the parameter configuration of the packet transmission demander MGk and a latest scheduling result will be described later) and a preset counting rule A previous count value of the demander MGk to generate the current count value MGk_DCNT_VAL of the packet transmission demander MGk, wherein the previous count value of the kth time slot is the current count value of the (k-1)th time slot. Those skilled in the art can implement the counting circuit 114-k by using a known counter and a control circuit (not shown in the figure) according to the present disclosure, wherein the control circuit is used to start and pause the counting of the known counter, And used to reset the counter (or load the initial count value of the counter).

承上所述,該預設計數規則的一實施例包含一遞減/遞增計數規則與一例外規則。當該複數個輸入參數不滿足該例外規則所定義的例外情形時,計數電路114-k減少/增加該先前計數值達一預設值(例如:1),以產生該當前計數值;而當該複數個輸入參數滿足該例外規則所定義的例外情形時,計數電路114-k可依例外情形的種類執行下列操作的至少其中之一:當封包傳輸需求者MGk於第K時槽獲選為一最優先對象或者因無優先服務需求而讓出第K時槽的傳輸機會時,載入計數電路114-k的初始計數值MGk_DCNT_INIT(說明於後面段落)作為它在第(K+1)時槽的當前計數值;當封包傳輸需求者MGk於第K時槽未獲選為該最優先對象且計數電路114-k之第(K+1)時槽的先前計數值(亦即:計數電路114-k之第K時槽的當前計數值)是它的計數範圍內的極值(例如:最小值或最大值)時,輸出該先前計數值作為計數電路114-k之第(K+1)時槽的當前計數值;當封包傳輸需求者MGk設定在超額認購模式且於第K時槽獲選為該最優先對象時,若它的計數電路114-k之第K時槽的當前計數值不是計數電路114-k之計數範圍內的極值,減少/增加其它設定在超額認購模式之封包傳輸需求者的每一個的計數電路之第(K+1)時槽的先前計數值達一補償值(例如:該預設值加上一差值如後所述),以產生此計數電路之第(K+1)時槽的當前計數值。本實施例中,封包傳輸需求者MGk的複數個輸入參數包含它的參數配置與它的先前計數值,該參數配置包含計數電路114-k的初始計數值MGk_DCNT_INIT;封包傳輸需求者MGk的先前計數值與當前計數值均落於一計數範圍內,該計數範圍由該參數配置而定,且包含一極值(例如:該計數範圍內的最小值或最大值),該計數範圍內的另一極值(例如:該計數範圍內的最大值或最小值)可作為該先前計數值的初始計數值,且該計數範圍(亦即:該計數範圍內的最大值減去最小值)正比於封包傳輸需求者MGk被分配的頻寬。As mentioned above, an embodiment of the default counting rule includes a decrement/increment counting rule and an exception rule. When the plurality of input parameters do not meet the exception conditions defined by the exception rule, the counting circuit 114-k decreases/increases the previous count value by a preset value (eg, 1) to generate the current count value; and when When the plurality of input parameters satisfy the exception condition defined by the exception rule, the counting circuit 114-k may perform at least one of the following operations according to the type of the exception condition: when the packet transmission requester MGk is selected as the Kth time slot A highest priority object or when the transmission opportunity of the Kth time slot is given up due to no priority service requirement, the initial count value MGk_DCNT_INIT of the counting circuit 114-k (explained in the following paragraph) is loaded as its value at the (K+1)th time The current count value of the slot; the previous count value of the slot at the (K+1)th time of the counting circuit 114-k when the packet transmission requester MGk is not selected as the highest priority object at the Kth time (ie: the counting circuit When the current count value of the Kth slot of 114-k is the extreme value (for example: minimum or maximum value) within its counting range, the previous count value is output as the (K+1)th of the counting circuit 114-k ) the current count value of the time slot; when the packet transmission demander MGk is set in the oversubscription mode and the Kth time slot is selected as the highest priority object, if the current count value of the Kth time slot of its counting circuit 114-k The value is not the extreme value within the counting range of the counting circuit 114-k, the previous count value of the (K+1)th time slot of the counting circuit of each of the other packet transmission demanders set in the oversubscription mode is decreased/increased by one Compensation value (eg: the preset value plus a difference as described later) to generate the current count value of the (K+1)th time slot of the counting circuit. In this embodiment, a plurality of input parameters of the packet transmission demander MGk include its parameter configuration and its previous count value, and the parameter configuration includes the initial count value MGk_DCNT_INIT of the counting circuit 114-k; the packet transmission demander MGk's previous count value Both the numerical value and the current count value fall within a count range, which is determined by the parameter configuration and includes an extreme value (for example: the minimum or maximum value within the count range), and the other count within the count range. An extreme value (eg: the maximum or minimum value within the count range) can be used as the initial count value for the previous count value, and the count range (ie: the maximum value minus the minimum value within the count range) is proportional to the packet The bandwidth allocated to the transmission demander MGk.

承上所述,封包傳輸需求者MGk的先前計數值源自於一最近排程結果;更明確地說, EDD排程器120所產生之第(K-1)時槽的當前排程結果會作為第K時槽的最近排程結果輸出給N個當前計數值產生器110-1~110-n,且EDD排程器120所產生之第K時槽的當前排程結果會作為第(K+1)時槽的最近排程結果輸出給N個當前計數值產生器110-1~110-n。另外,封包傳輸需求者MGk的參數配置可依封包傳輸需求者MGk的模式(例如:全線速(line rate)模式或超額認購(oversubscription; OS)模式)、該封包傳輸需求者的頻寬要求以及一核心頻寬(例如:包含TDM排程器100之網路裝置的核心頻寬)而定。舉例而言,在該核心頻寬小於該N個封包傳輸需求者之頻寬要求的總和的情形下,藉由每個封包傳輸需求者的參數配置(尤其是前述計數範圍的設定),該參數配置會優先滿足全線速模式之需求者的頻寬要求,再以最大努力原則來服務超額認購模式之需求者的部分頻寬要求。As mentioned above, the previous count value of the packet transmission requester MGk is derived from a latest scheduling result; more specifically, the current scheduling result of the (K-1)th time slot generated by the EDD scheduler 120 will be The latest scheduling result of the K th time slot is output to the N current count value generators 110-1 to 110-n, and the current scheduling result of the K th time slot generated by the EDD scheduler 120 is used as the (K th time slot) +1) The latest scheduling result of the time slot is output to the N current count value generators 110-1 to 110-n. In addition, the parameter configuration of the packet transmission demander MGk can be based on the mode of the packet transmission demander MGk (for example: full line rate (line rate) mode or oversubscription (oversubscription; OS) mode), bandwidth requirements of the packet transmission demander, and A core bandwidth (eg, the core bandwidth of a network device including the TDM scheduler 100 ) is determined. For example, in the case that the core bandwidth is less than the sum of the bandwidth requirements of the N packet transmission requirements, the parameter configuration (especially the setting of the aforementioned counting range) of each packet transmission requirement, the parameter The configuration will give priority to meeting the bandwidth requirements of the demanders in the full wire-speed mode, and then serve part of the bandwidth requirements of the demanders in the over-subscription mode based on the principle of best effort.

請參閱圖1。EDD排程器120用來依據該N個當前計數值與一預設緊急度判斷規則產生一當前排程結果用於決定該服務順序,並可選擇性地進一步依據N個封包傳輸需求者MG1~MGn之至少一部分的傳輸需求狀態(例如:儲存該/該些封包傳輸需求者之待傳輸封包的緩衝器的狀態)與各封包傳輸需求者所處的模式(例如:全線速模式或超額認購模式)來產生該當前排程結果。舉例而言,該N個當前計數值中的一極值(例如:當該預設計數規則採用前述遞減計數規則,該極值為該N個當前計數值中的最小值;或者當該預設計數規則採用前述遞增計數規則,該極值為該N個當前計數值中的最大值)關聯該N個封包傳輸需求者的其中之一(後稱第一目標需求者),EDD排程器120依據該預設緊急度判斷規則選擇該第一目標需求者作為一最優先對象;然而,當EDD排程器120依據該預設緊急度判斷規則發現該第一目標需求者無優先服務需求時,EDD排程器120可依據該預設緊急度判斷規則選擇其它封包傳輸需求者的其中之一(後稱第二目標需求者)作為該最優先對象,該第二目標需求者所關聯的當前計數值可能是: (1) 該N個當前計數值中的該極值。此情形下該第二目標需求者的順位低於該第一目標需求者的順位,但高於其它也關聯該極值的封包傳輸需求者(若有的話)的順位。EDD排程器120是依據一預設順序得知該N個封包傳輸需求者的順位。 (2) 該N個當前計數值中的一次極值(例如:該N個當前計數值中的次小值或次大值)。此情形下,該第二目標需求者以外的其它封包傳輸需求者所關聯的當前計數值均不等於(小於或大於)該次極值,或者該第二目標需求者的順位高於其它也關聯該次極值的封包傳輸需求者的順位。 See Figure 1. The EDD scheduler 120 is used for generating a current scheduling result according to the N current count values and a predetermined urgency judgment rule for determining the service order, and optionally further according to the N packet transmission requesters MG1~ The transmission demand status of at least a part of the MGn (for example: the status of the buffer storing the packets to be transmitted by the/these packet transmission demanders) and the mode of each packet transmission demander (for example: full line rate mode or oversubscribed mode) ) to generate the current schedule result. For example, an extreme value among the N current count values (for example: when the preset counting rule adopts the aforementioned down counting rule, the extreme value is the minimum value among the N current count values; The counting rule adopts the aforementioned incremental counting rule, and the extreme value is the maximum value among the N current counting values) associated with one of the N packet transmission requesters (hereinafter referred to as the first target requester), and the EDD scheduler 120 Selecting the first target demander as a top priority object according to the preset urgency judgment rule; however, when the EDD scheduler 120 finds that the first target demander has no priority service demand according to the preset urgency judgment rule, The EDD scheduler 120 may select one of the other packet transmission requesters (hereinafter referred to as the second target requester) as the highest priority object according to the preset urgency judgment rule. The current scheduler associated with the second target requester Values may be: (1) The extreme value among the N current count values. In this case, the order of the second target demander is lower than the order of the first target demander, but higher than the order of other packet transmission demanders (if any) that are also associated with the extreme value. The EDD scheduler 120 learns the order of the N packet transmission requesters according to a preset order. (2) One extreme value among the N current count values (for example: the next smallest value or the next largest value among the N current count values). In this case, the current count values associated with other packet transmission demanders other than the second target demander are not equal to (less than or greater than) the next extreme value, or the second target demander is also associated with a higher order than others The order of the packet transmission requester of the next extreme value.

圖3顯示圖1之EDD排程器120的一實施例。如圖3所示,EDD排程器120包含一轉換電路122與一決定電路124。轉換電路122用來依據一預設轉換規則將該N個當前計數值轉換為N個優先值。決定電路124用來依據該N個優先值產生該當前排程結果;本實施例中,決定電路124決定該N個優先值中的極值(例如:最小值或最大值)所關聯的封包傳輸需求者為該最優先對象。FIG. 3 shows an embodiment of the EDD scheduler 120 of FIG. 1 . As shown in FIG. 3 , the EDD scheduler 120 includes a conversion circuit 122 and a determination circuit 124 . The conversion circuit 122 is used for converting the N current count values into N priority values according to a preset conversion rule. The determination circuit 124 is used for generating the current scheduling result according to the N priority values; in this embodiment, the determination circuit 124 determines the packet transmission associated with the extreme value (eg, the minimum value or the maximum value) among the N priority values The demander is the highest priority object.

請參閱圖3。於一實作範例中,轉換電路122依據該預設轉換規則參考該N個封包傳輸需求者各自的傳輸需求狀態

Figure 02_image011
(例如:儲存封包傳輸需求者MGk之待傳輸封包的緩衝器的狀態),以產生該N個優先值;該傳輸需求狀態為一第一狀態或一第二狀態,該第一狀態表示有至少一待傳送封包,該第二狀態表示沒有任何待傳送封包;處於該第二狀態的所有封包傳輸需求者無優先服務需求,因此,轉換電路122可選擇性地將這種封包傳輸需求者的當前計數值轉換為一最低優先值,該最低優先值可視實施需求而預設。另外,對於無優先服務需求且讓出傳輸機會的封包傳輸需求者MGk,轉換電路122可輸出一重載訊號RELOAD_MG,以通知計數電路114-k載入它的初始計數值
Figure 02_image013
如前所述。 See Figure 3. In an implementation example, the conversion circuit 122 refers to the respective transmission demand states of the N packet transmission demanders according to the preset conversion rule
Figure 02_image011
(For example: storing the state of the buffer of the packet to be transmitted by the packet transmission requester MGk) to generate the N priority values; the transmission request state is a first state or a second state, and the first state indicates that there are at least A packet to be transmitted, the second state indicates that there is no packet to be transmitted; all packet transmission requesters in the second state have no priority service requirements, therefore, the conversion circuit 122 can selectively transfer the current packet transmission requester's current The count value is converted into a lowest priority value, and the lowest priority value can be preset according to implementation requirements. In addition, for the packet transmission demander MGk that has no priority service demand and has given up the transmission opportunity, the conversion circuit 122 can output a reload signal RELOAD_MG to notify the counting circuit 114-k to load its initial count value
Figure 02_image013
As mentioned earlier.

請參閱圖3。於一實作範例中,轉換電路122依據該預設轉換規則參考該N個封包傳輸需求者之每一個的一最小服務間隔狀態值

Figure 02_image015
,以產生該N個優先值。該最小服務間隔狀態值指出它所關聯的一封包傳輸需求者是否已達到未被服務的一時間門檻;當該封包傳輸需求者持續未被服務的時間已達到該時間門檻時(亦即:當該最小服務間隔狀態值為一特定值如後所述),該封包傳輸需求者有資格作為該最優先對象;當該封包傳輸需求者持續未被服務的時間未達到該時間門檻,轉換電路122可選擇性地將該封包傳輸需求者的當前計數值轉換為該最低優先值。 See Figure 3. In an implementation example, the conversion circuit 122 refers to a minimum service interval status value of each of the N packet transmission requesters according to the preset conversion rule
Figure 02_image015
, to generate the N priority values. The minimum service interval status value indicates whether a packet transmission demander associated with it has reached a time threshold of not being served; when the packet transmission demander has not been served for a period of time that has reached the time threshold (ie: when The minimum service interval status value is a specific value (as described later), the packet transmission requester is eligible to be the highest priority object; when the packet transmission requester has not been served for a period of time that does not reach the time threshold, the conversion circuit 122 Optionally, the current count value of the packet transmission requester can be converted into the lowest priority value.

請參閱圖3。於一實作範例中,對於未讓出傳輸機會且達到該時間門檻的全線速模式之封包傳輸需求者,若它的/它們的當前計數值不是它的/它們的計數範圍內的極值,轉換電路122依據該預設轉換規則將它的/它們的當前計數值轉換為該最低優先值,否則將它的/它們的當前計數值當作它們的優先值。於一實作範例中,對於未讓出傳輸機會且達到該時間門檻的超額認購模式之封包傳輸需求者,轉換電路122依據該預設轉換規則將它的/它們的當前計數值當作它們的優先值。See Figure 3. In an implementation example, for a packet transmission requester in full wire-speed mode that has not given up a transmission opportunity and has reached the time threshold, if its/their current count value is not the extreme value within its/their count range, The conversion circuit 122 converts its/their current count values to the lowest priority value according to the preset conversion rule, and otherwise treats its/their current count values as their priority values. In an implementation example, for the packet transmission demander in the oversubscription mode that has not given up the transmission opportunity and has reached the time threshold, the conversion circuit 122 regards its/their current count value as their current count value according to the preset conversion rule. priority value.

值得注意的是,最小服務間隔狀態值MGk_MIN_VLD可由前述當前計數值產生器110-k產生;舉例而言,封包傳輸需求者MGk的參數配置包含該需求者MGk的最小服務間隔值MCNT k(例如:正整數);當前計數值產生器110-k於一開始計數時載入該最小服務間隔值MCNT k,且每經過至少一時槽,當前計數值產生器110-k遞減該最小服務間隔值MCNT k;當MCNT k不為零時,當前計數值產生器110-k據以產生該最小服務間隔狀態值為一第一值(例如:0)指出需求者MGk尚不能作為該最優先對象;當MCNT k為零時,當前計數值產生器110-k據以產生該最小服務間隔狀態值為一第二值(例如:1)指出需求者MGk可作為該最優先對象。 It is worth noting that the minimum service interval state value MGk_MIN_VLD can be generated by the aforementioned current count value generator 110-k; for example, the parameter configuration of the packet transmission demander MGk includes the minimum service interval value MCNTk of the demander MGk (for example: positive integer); the current count value generator 110-k loads the minimum service interval value MCNT k at the beginning of counting, and decrements the minimum service interval value MCNT k every time at least one time slot passes ; When MCNT k is not zero, the current count value generator 110-k generates a first value (eg: 0) according to the minimum service interval status value to indicate that the demander MGk cannot yet be the highest priority object; when MCNT When k is zero, the current count value generator 110-k generates a second value (eg, 1) for the minimum service interval status value based on the current count value generator 110-k, indicating that the demander MGk can be the highest priority object.

圖4顯示圖1之TDM排程器100的一應用範例。此範例中,TDM排程器100包含於一乙太網路交換器400,交換器400的核心頻寬(或稱核心全線速頻寬)為400Gbps的。TDM排程器100用來分配時槽給六個封包傳輸需求者MG1~MG6(例如:六個乙太網路傳輸埠),以允許它們於分配到的時槽內傳輸封包,其中MG1~MG4之每一個的輸入/輸出頻寬(或稱需求頻寬)為100Gbps,MG5~MG6之每一個的輸入/輸出頻寬為50Gbps,MG1~MG3處於全線速模式,MG4~MG6處於超額認購模式。基於MG1~MG6所處的模式,TDM排程器100會分配100Gbps的交換器核心頻寬給MG1~MG3的每一個,並將剩下的交換器核心頻寬100Gbps分配給MG4~MG6共用。FIG. 4 shows an application example of the TDM scheduler 100 of FIG. 1 . In this example, the TDM scheduler 100 is included in an Ethernet switch 400 , and the core bandwidth (or called core full line rate bandwidth) of the switch 400 is 400 Gbps. The TDM scheduler 100 is used for allocating time slots to six packet transmission requesters MG1~MG6 (for example, six Ethernet ports) to allow them to transmit packets in the allocated time slots, among which MG1~MG4 The input/output bandwidth (or demanded bandwidth) of each of them is 100Gbps, the input/output bandwidth of each of MG5~MG6 is 50Gbps, MG1~MG3 are in full line speed mode, and MG4~MG6 are in oversubscription mode. Based on the mode in which MG1~MG6 are in, the TDM scheduler 100 will allocate 100Gbps of switch core bandwidth to each of MG1~MG3, and allocate the remaining switch core bandwidth of 100Gbps to MG4~MG6 for common use.

請參閱圖4。TDM排程器100可藉由前述每個封包傳輸需求者的參數配置來實現上述分配。舉例而言,TDM排程器100或一外部裝置(未顯示於圖)可計算/設定MG1~MG3之每一個所關聯的計數範圍為

Figure 02_image017
(例如:數值3到數值0,其表示該封包傳輸需求者可使用總核心頻寬的
Figure 02_image019
),計算/設定MG4所關聯的計數範圍為
Figure 02_image021
(例如:數值8到數值1,其表示該封包傳輸需求者可使用總核心頻寬的
Figure 02_image023
),以及設定MG5~MG6之每一個所關聯的計數範圍為
Figure 02_image025
(例如:數值16到數值1,其表示該封包傳輸需求者可使用總核心頻寬的
Figure 02_image027
)。值得注意的是,本領域具有通常知識者能夠依據本揭露利用已知或自行開發的電路來實現上述範圍的計算/設定。另值得注意的是,若計算出的計數範圍帶有小數時,TDM排程器100/該外部裝置可將該小數無條件捨去(chop);然此並非本發明的實施限制。 See Figure 4. The TDM scheduler 100 can realize the above allocation through the aforementioned parameter configuration of each packet transmission requester. For example, the TDM scheduler 100 or an external device (not shown) can calculate/set the count range associated with each of MG1 to MG3 as
Figure 02_image017
(For example: a value of 3 to a value of 0, which indicates that the packet transmission requester can use the total core bandwidth
Figure 02_image019
), calculate/set the count range associated with MG4 to
Figure 02_image021
(For example: a value of 8 to a value of 1, which indicates that the packet transmission requester can use the total core bandwidth
Figure 02_image023
), and set the count range associated with each of MG5~MG6 as
Figure 02_image025
(For example: a value of 16 to a value of 1, which indicates that the requester of the packet transmission can use a percentage of the total core bandwidth
Figure 02_image027
). It is worth noting that those with ordinary knowledge in the art can use known or self-developed circuits to realize the calculation/setting of the above-mentioned range according to the present disclosure. It is also worth noting that if the calculated count range has a decimal, the TDM scheduler 100/the external device can unconditionally chop the decimal; however, this is not a limitation of the present invention.

圖5顯示圖4之範例的時槽分配結果,每個時槽對應一最優先對象(例如:獲選的傳輸埠)可於該時槽內傳輸封包。如圖5所示,MG1~MG6的預設順位為MG1>MG2>MG3>MG4>MG5>MG6,其由一預設順序來決定,該預設順序指出全線速模式之需求者的順位高於超額認購模式之需求者的順位,且頻寬需求高之需求者的順位高於頻寬需求低之需求者的順位;然該預設順序的安排不限於上述作法,可依實施需求而定。圖5顯示: (1) 所有需求者MG1~MG6於一開始的數值(亦即:前述的當前計數值)為它們所關聯的計數範圍內的極值(在此為最小值)。值得注意的是,全線速模式之需求者的極值(在圖4之範例中為0)不同於超額認購模式之需求者的極值(在圖4之範例中為1),以確保全線速模式之需求者的時槽分配優先度高於超額認購模式之需求者的時槽分配優先度。 (2) TDM排程器100(主要是EDD排程器120)從對應第K時槽(K為正整數)的六個當前計數值MG1_DCNT_VAL~MG6_DCNT_VAL中選出一極值(在此為最小值),並將該極值所關聯的需求者當作一最優先對象(例如:第0時槽的最小值0所關聯的需求者MG1);倘當該六個當前計數值中有複數個計數值同為該極值,TDM排程器100依據前述預設順序選擇該複數個需求者中一最高順位者作為該最優先對象。 (3) 承(2),在選出該最優先對象後,所有第K時槽的當前計數值被當作第(K+1)時槽的先前計數值,TDM排程器100(主要是N個當前計數值產生器110-1~110-n)依據該些先前計數值產生第(K+1)時槽的當前計數值,其中TDM排程器100執行下列操作:載入第K時槽之最優先對象的初始計數值(例如:第0時槽的最優先對象MG1的初始計數值3)作為它的第(K+1)時槽的當前計數值;若一未獲選之需求者的第(K+1)時槽的先前計數值不是該需求者所關聯之計數範圍內的最小值,將該需求者的第(K+1)時槽的先前計數值減去一預設值/補償值如前所述,以產生它的第(K+1)時槽的當前計數值趨近該極值;若一未獲選之需求者的第(K+1)時槽的先前計數值是該需求者所關聯之計數範圍內的最小值,將該需求者的第(K+1)時槽的先前計數值當作它的第(K+1)時槽的當前計數值(亦即:維持該需求者的當前計數值不變);然後TDM排程器100(主要是EDD排程器120)從對應第(K+1)時槽的六個當前計數值中選出一極值(在此為最小值),並將該極值所關聯的需求者當作一最優先對象。 (4) 在上述第(2)~(3)點中,TDM排程器100(主要是EDD排程器120)可選擇性地參考MG1~MG6之至少一部分的傳輸需求狀態如前所述,以決定該最優先對象。值得注意的是,對於第K時槽無優先服務需求的封包傳輸需求者而言,若它原本是最優先的對象且設定在全線速模式,TDM排程器100也會載入它的初始計數值作為它的第(K+1)時槽的當前計數值。另值得注意的是,若全線速模式之封包傳輸需求者無優先服務需求,它的傳輸機會可限定於僅能讓給超額認購模式之封包傳輸需求者;然此並非本發明的實施限制。 (5) 在上述第(2)~(3)點中,TDM排程器100(主要是EDD排程器120)可選擇性地參考MG1~MG6之每一個的最小服務間隔狀態值如前所述,以決定該最優先對象。 FIG. 5 shows the time slot allocation result of the example of FIG. 4 , each time slot corresponds to a top priority object (eg, a selected transmission port) that can transmit packets in the time slot. As shown in FIG. 5 , the default order of MG1 to MG6 is MG1 > MG2 > MG3 > MG4 > MG5 > MG6, which is determined by a predetermined order, which indicates that the order of demanders in full line speed mode is higher than The order of demanders in the over-subscription mode, and the order of demanders with high bandwidth demand is higher than the order of demanders with low bandwidth demand; however, the arrangement of the preset order is not limited to the above method, and can be determined according to the implementation demand. Figure 5 shows: (1) The initial value of all demanders MG1~MG6 (ie: the aforementioned current count value) is the extreme value (here, the minimum value) within their associated count range. It is worth noting that the extreme value of demanders in the full line speed mode (0 in the example of Figure 4) is different from the extreme value of demanders in the oversubscribed mode (1 in the example of Figure 4) to ensure full line speed. The time slot allocation priority of the demander in the mode is higher than the time slot allocation priority of the demander in the over-subscription mode. (2) The TDM scheduler 100 (mainly the EDD scheduler 120 ) selects an extreme value (the minimum value here) from the six current count values MG1_DCNT_VAL~MG6_DCNT_VAL corresponding to the Kth time slot (K is a positive integer). , and regard the demander associated with the extreme value as a top priority object (for example: the demander MG1 associated with the minimum value 0 of the 0th time slot); if there are multiple count values in the six current count values For the same extreme value, the TDM scheduler 100 selects a highest-ranked one among the plurality of demanders as the highest-priority object according to the aforementioned predetermined order. (3) Following (2), after the top priority object is selected, the current count values of all the Kth time slots are regarded as the previous count values of the (K+1)th time slot, and the TDM scheduler 100 (mainly N The current count value generators 110-1 to 110-n) generate the current count value of the (K+1)th time slot according to the previous count values, wherein the TDM scheduler 100 performs the following operations: loading the Kth time slot The initial count value of the highest priority object (for example: the initial count value 3 of the highest priority object MG1 in the 0th time slot) is used as the current count value of its (K+1)th time slot; if an unselected demander The previous count value of the (K+1)th time slot is not the minimum value within the count range associated with the demander, and the previous count value of the (K+1)th time slot of the demander is subtracted by a preset value / The compensation value is as described above, so that the current count value of the (K+1)th time slot that generates it approaches the extreme value; if the previous count value of the (K+1)th time slot of an unselected demander The value is the minimum value in the count range associated with the demander, and the previous count value of the demander's (K+1)th time slot is regarded as the current count value of its (K+1)th time slot (also That is: keep the current count value of the demander unchanged); then the TDM scheduler 100 (mainly the EDD scheduler 120 ) selects an extreme value from the six current count values corresponding to the (K+1)th time slot (here is the minimum value), and the demander associated with this extreme value is regarded as a top priority object. (4) In the above points (2) to (3), the TDM scheduler 100 (mainly the EDD scheduler 120 ) may selectively refer to the transmission demand status of at least a part of MG1 to MG6. As described above, to determine the highest priority object. It is worth noting that, for a packet transmission requester that has no priority service requirement in the Kth time slot, if it is originally the highest priority object and is set to the full wire-speed mode, the TDM scheduler 100 will also load its initial schedule. The value is taken as the current count value of its (K+1)th time slot. It is also worth noting that, if the packet transmission demander in the full wire speed mode has no priority service demand, its transmission opportunity can be limited to only the packet transmission demander in the oversubscribed mode; however, this is not an implementation limitation of the present invention. (5) In the above points (2) to (3), the TDM scheduler 100 (mainly the EDD scheduler 120 ) may selectively refer to the minimum service interval status value of each of MG1 to MG6 as described above to determine the highest priority object.

值得注意的是,雖然圖4-5的範例中,TDM排程器100(主要是N個當前計數值產生器110-1~110-n)是採用遞減計數規則,但本領域具有通常知識者可據以類推採用遞增計數規則時的情形;因此,重覆及冗餘的說明在此省略。It is worth noting that although the TDM scheduler 100 (mainly the N current count value generators 110-1 to 110-n) in the example of FIG. The case when the incremental counting rule is adopted can be deduced by analogy; therefore, repeated and redundant descriptions are omitted here.

圖6為一範例顯示前述補償值如何用於一時槽分配結果。圖6的範例中,MG1和MG2都是設定在超額認購模式,當中封包傳輸需求者MG1的計數範圍為數值5至數值1,而封包傳輸需求者MG2的計數範圍為數值10至數值1。請參閱圖6,於一第一情形下(例如:競爭時槽的需求者較多的情形),MG1每5個時槽獲得一次傳輸機會(亦即:被選為最優先對象),MG2每10個時槽獲得一次傳輸機會,且MG1與MG2的每一個是在它的當前計數值為它的計數範圍內的最小值時獲得傳輸機會;於一第二情形下(例如:競爭時槽的需求者較少的情形),MG1每4個時槽獲得一次傳輸機會,MG2每8個時槽獲得一次傳輸機會,此時,MG1是在它的當前計數值不是它的計數範圍內的最小值時獲得傳輸機會,因此,當MG1於第K時槽(例如:圖6之第二情形的第4時槽)獲得傳輸機會,MG2於第(K+1)時槽的當前計數值會是:MG2之第K時槽的當前計數值減去該預設值(在此為1),再減去MG1之第K時槽的當前計數值與MG1之計數範圍內的最小值(在此為1)之間的差值,該預設值與該差值的和為該補償值。FIG. 6 is an example showing how the aforementioned compensation value is used for a slot allocation result. In the example of FIG. 6 , both MG1 and MG2 are set in oversubscription mode, in which the count range of packet transmission demander MG1 is from 5 to 1, and the count range of packet transmission demander MG2 is from 10 to 1. Please refer to Fig. 6, in a first situation (for example: a situation where there are many demanders competing for time slots), MG1 gets a transmission opportunity every 5 time slots (that is, it is selected as the highest priority object), and MG2 gets a transmission opportunity every 5 time slots. 10 time slots get a transmission opportunity, and each of MG1 and MG2 gets a transmission opportunity when its current count value is the minimum value within its count range; MG1 gets a transmission opportunity every 4 time slots, MG2 gets a transmission opportunity every 8 time slots, at this time, MG1 is in its current count value not the minimum value within its count range Therefore, when MG1 obtains a transmission opportunity at the Kth time slot (for example, the 4th time slot in the second case of Figure 6), the current count value of MG2 at the (K+1)th time slot will be: The current count value of the Kth time slot of MG2 minus the preset value (here is 1), and then subtract the current count value of the Kth time slot of MG1 and the minimum value within the count range of MG1 (here is 1) ), the sum of the preset value and the difference is the compensation value.

圖7顯示本揭露之分時多工排程裝置的一實施例,能夠決定N個封包傳輸需求群組MG1~MGn的一服務順序。圖7之實施例適用於N個封包傳輸需求群組MG1~MGn的至少其中之一包含複數個傳輸埠的情形。圖7之TDM排程裝置700可用於一網路裝置(例如:乙太網路交換器),並包含一TDM排程器710(例如:圖1之TDM排程器100)與一傳輸埠排程器720,其中TDM排程器710用來選出N個封包傳輸需求群組MG1~MGn的其中之一如前所述,傳輸埠排程器720用來決定選擇獲選的封包傳輸需求群組之M個傳輸埠的哪一個,該M為正整數。FIG. 7 shows an embodiment of the TDMA scheduling apparatus of the present disclosure, which can determine a service order of N packet transmission demand groups MG1 ˜MGn. The embodiment of FIG. 7 is applicable to a situation where at least one of the N packet transmission demand groups MG1 ˜MGn includes a plurality of transmission ports. The TDM scheduler 700 of FIG. 7 can be used in a network device (eg, an Ethernet switch), and includes a TDM scheduler 710 (eg, the TDM scheduler 100 of FIG. 1 ) and a transmission port row The scheduler 720, wherein the TDM scheduler 710 is used to select one of the N packet transmission request groups MG1-MGn. As mentioned above, the transmission port scheduler 720 is used to determine the selected packet transmission request group. Which of the M transmission ports, the M is a positive integer.

請參閱圖7。傳輸埠排程器720包含N個排程電路722-1~722-n、一第一多工器724與一第二多工器726。每個排程電路

Figure 02_image029
用來服務一封包傳輸需求群組MGk,該封包傳輸需求群組MGk包含至少一傳輸埠。每個排程電路722-k用來依據複數個排程參數與一預設演算法(例如:已知的加權式輪詢(Weighted round robin; WRR)演算法,或自定義的加權式輪詢演算法),輸出一傳輸埠選擇訊號MGk_SEL_PORT指出封包傳輸需求群組MGk的一傳輸埠;因此,N個排程電路722-1~722-n共輸出了N個傳輸埠選擇訊號MG1_SEL_PORT~MGn_SEL_PORT指出N個傳輸埠。本實施例中,每個排程電路722-k所接收的排程參數包含:封包傳輸需求群組MGk之每個傳輸埠的傳輸需求狀態;封包傳輸需求群組MGk之每個傳輸埠的權值;指出封包傳輸需求群組MGk所處模式(亦即:全線速模式或超額認購模式)的參數,其可由TDM排程器710提供;以及第一多工器724與第二多工器726的輸出。另外,本實施例中,若封包傳輸需求群組MGk處於超額認購模式,排程電路722-k採用的預設演算法為已知的WRR演算法;若封包傳輸需求群組MGk處於全線速模式,排程電路722-k採用的預設演算法為一TDM WRR演算法。該TDM WRR演算法與該WRR演算法的區別在於TDM WRR演算法不考慮封包傳輸需求群組MGk的傳輸埠是否有封包待轉發。 See Figure 7. The transmission port scheduler 720 includes N scheduling circuits 722 - 1 to 722 - n , a first multiplexer 724 and a second multiplexer 726 . per scheduling circuit
Figure 02_image029
It is used for serving a packet transmission requirement group MGk, and the packet transmission requirement group MGk includes at least one transmission port. Each scheduling circuit 722-k is used for a plurality of scheduling parameters and a predetermined algorithm (eg, a known weighted round robin (WRR) algorithm, or a custom weighted round robin) algorithm algorithm), outputs a transmission port selection signal MGk_SEL_PORT to indicate a transmission port of the packet transmission request group MGk; therefore, the N scheduling circuits 722-1~722-n output a total of N transmission port selection signals MG1_SEL_PORT~MGn_SEL_PORT to indicate N transmission ports. In this embodiment, the scheduling parameters received by each scheduling circuit 722-k include: the transmission demand status of each transmission port in the packet transmission demand group MGk; the weight of each transmission port in the packet transmission demand group MGk value; a parameter indicating the mode in which the packet transmission request group MGk is in (ie: full line rate mode or oversubscribed mode), which can be provided by the TDM scheduler 710; and the first multiplexer 724 and the second multiplexer 726 Output. In addition, in this embodiment, if the packet transmission demand group MGk is in the oversubscribed mode, the preset algorithm used by the scheduling circuit 722-k is the known WRR algorithm; if the packet transmission demand group MGk is in the full wire-rate mode , the preset algorithm used by the scheduling circuit 722-k is a TDM WRR algorithm. The difference between the TDM WRR algorithm and the WRR algorithm is that the TDM WRR algorithm does not consider whether the transmission port of the packet transmission requirement group MGk has packets to be forwarded.

請參閱圖7。第一多工器724用來依據TDM排程器710所輸出的當前排程結果所包含的一需求群組選擇訊號SEL_MG所指出的一最優先對象,輸出一獲選傳輸埠訊號SEL_PORT指出該N個傳輸埠的其中之一作為一獲選傳輸埠,從而允許該獲選傳輸埠進行傳輸,其中該最優先對象為該N個封包傳輸需求群組的其中之一,該獲選傳輸埠為該最優先對象之M個傳輸埠的其中之一。See Figure 7. The first multiplexer 724 is used for outputting a selected transmission port signal SEL_PORT to indicate the N according to a highest priority object indicated by a demand group selection signal SEL_MG included in the current scheduling result output by the TDM scheduler 710 One of the transmission ports is used as a selected transmission port, thereby allowing the selected transmission port to transmit, wherein the highest priority object is one of the N packet transmission request groups, and the selected transmission port is the selected transmission port. One of the M ports of the highest priority object.

請參閱圖7。第二多工器726用來依據TDM排程器710所輸出的當前排程結果所包含的一重載訊號RELOAD_MG,輸出一傳輸埠重載訊號RELOAD_PORT指出該N個傳輸埠中的第Y個傳輸埠(讓出傳輸機會之需求者所關聯的傳輸埠,若有的話),從而通知該N個排程電路中關聯該第Y個傳輸埠的第Y個排程電路依據該預設演算法降低該第Y個傳輸埠的傳輸優先度,其中該Y為正整數。See Figure 7. The second multiplexer 726 is used for outputting a transmission port reloading signal RELOAD_PORT according to a reloading signal RELOAD_MG included in the current scheduling result output by the TDM scheduler 710 to indicate the Yth transmission among the N transmission ports port (the transmission port associated with the requester who gave up the transmission opportunity, if any), thereby informing the Y th scheduled circuit associated with the Y th transmission port among the N scheduled circuits according to the preset algorithm Decrease the transmission priority of the Y-th transmission port, where Y is a positive integer.

由於本領域具有通常知識者能夠參酌圖1-6之實施例的揭露以及已知的/自行開發的演算法來推衍圖7之實施例的細節與變化,重複及冗餘之說明在此省略。Since those with ordinary knowledge in the art can refer to the disclosure of the embodiments of FIGS. 1-6 and the known/self-developed algorithms to deduce the details and variations of the embodiment of FIG. 7 , repeated and redundant descriptions are omitted here. .

請注意,在實施為可能的前提下,本技術領域具有通常知識者可選擇性地實施前述任一實施例中部分或全部技術特徵,或選擇性地實施前述複數個實施例中部分或全部技術特徵的組合,藉此增加本發明實施時的彈性。Please note that under the premise of possible implementation, those skilled in the art can selectively implement some or all of the technical features in any of the foregoing embodiments, or selectively implement some or all of the techniques in the foregoing multiple embodiments. A combination of features, thereby increasing the flexibility in the practice of the present invention.

綜上所述,本發明能夠自動地為複數個封包傳輸需求者分配時槽,除能大幅節省人力,也能快速地實現時槽分配的規劃。To sum up, the present invention can automatically allocate time slots for a plurality of packet transmission demanders, which not only greatly saves manpower, but also can quickly realize the planning of time slot allocation.

雖然本發明之實施例如上所述,然而該些實施例並非用來限定本發明,本技術領域具有通常知識者可依據本發明之明示或隱含之內容對本發明之技術特徵施以變化,凡此種種變化均可能屬於本發明所尋求之專利保護範疇,換言之,本發明之專利保護範圍須視本說明書之申請專利範圍所界定者為準。Although the embodiments of the present invention are described above, these embodiments are not intended to limit the present invention. Those skilled in the art can change the technical features of the present invention according to the explicit or implicit contents of the present invention. All such changes may belong to the scope of patent protection sought by the present invention. In other words, the scope of patent protection of the present invention shall be determined by the scope of the patent application in this specification.

100:分時多工排程器(TDM排程器) MG1~MGn:N個封包傳輸需求者 110-1~110-n:N個當前計數值產生器 120:最早屆期排程器(EDD排程器) MG1_DCNT_VAL~MGn_DCNT_VAL:N個當前計數值 110-k:當前計數值產生器 112-k:儲存電路 114-k:計數電路 MGk_DCNT_VAL:當前計數值 122:轉換電路 124:決定電路 MG1_PGAE_VLD~MGn_PGAE_VLD:傳輸需求狀態 MG1_MIN_VLD~MGn_MIN_VLD:最小服務間隔狀態值 RELOAD_MG:重載訊號 400:乙太網路交換器 MG1~MG6:封包傳輸需求者 700:分時多工排程裝置(TDM排程裝置) 710:分時多工排程器(TDM排程器) 720:傳輸埠排程器 722-1~722-n:N個排程電路 724:第一多工器 726:第二多工器 MG1_SEL_PORT~MGn_SEL_PORT:傳輸埠選擇訊號 SEL_MG:需求群組選擇訊號 SEL_PORT:獲選傳輸埠訊號 RELOAD_PORT:傳輸埠重載訊號 100: Time-sharing scheduler (TDM scheduler) MG1~MGn: N demanders of packet transmission 110-1~110-n: N current count value generators 120: Earliest Expiration Scheduler (EDD Scheduler) MG1_DCNT_VAL~MGn_DCNT_VAL: N current count values 110-k: Current count value generator 112-k: Storage circuit 114-k: Counting circuit MGk_DCNT_VAL: current count value 122: Conversion circuit 124: Decision Circuit MG1_PGAE_VLD~MGn_PGAE_VLD: Transmission demand status MG1_MIN_VLD~MGn_MIN_VLD: Minimum service interval status value RELOAD_MG: reload signal 400: Ethernet switch MG1~MG6: Packet transmission demander 700: Time-sharing multiplexing device (TDM scheduling device) 710: Time-sharing Multiplexing Scheduler (TDM Scheduler) 720: Port Scheduler 722-1~722-n: N scheduling circuits 724: First Multiplexer 726: Second Multiplexer MG1_SEL_PORT~MGn_SEL_PORT: Port selection signal SEL_MG: Demand group selection signal SEL_PORT: Selected transmission port signal RELOAD_PORT: port reload signal

[圖1]顯示本揭露之分時多工排程器(TDM排程器)的一實施例; [圖2]顯示圖1之每個當前計數值產生器的一實施例; [圖3]顯示圖1之最早屆期排程器(EDD排程器)的一實施例; [圖4]顯示圖1之分時多工排程器的一應用範例; [圖5]顯示圖4之範例的時槽分配結果; [圖6]顯示一補償值如何用於一時槽分配結果;以及 [圖7]顯示本揭露之分時多工排程裝置的一實施例。 [FIG. 1] shows an embodiment of the time-sharing multiplexing scheduler (TDM scheduler) of the present disclosure; [Fig. 2] shows an embodiment of each current count value generator of Fig. 1; [FIG. 3] shows an embodiment of the earliest expiration scheduler (EDD scheduler) of FIG. 1; [Fig. 4] shows an application example of the TDMA scheduler of Fig. 1; [Fig. 5] shows the time slot allocation result of the example in Fig. 4; [Fig. 6] shows how a compensation value is used for a slot allocation result; and [ FIG. 7 ] shows an embodiment of the TDMA scheduling device of the present disclosure.

100:分時多工排程器(TDM排程器) 100: Time-sharing scheduler (TDM scheduler)

MG1~MGn:N個封包傳輸需求者 MG1~MGn: N demanders of packet transmission

110-1~110-n:N個當前計數值產生器 110-1~110-n: N current count value generators

120:最早屆期排程器(EDD排程器) 120: Earliest Expiration Scheduler (EDD Scheduler)

MG1_DCNT_VAL~MGn_DCNT_VAL:N個當前計數值 MG1_DCNT_VAL~MGn_DCNT_VAL: N current count values

Claims (10)

一種分時多工排程器(time-division multiplexing scheduler; TDM scheduler),能夠決定N個封包傳輸需求者的一服務順序,該N為大於一的整數,該N個封包傳輸需求者包含一第一需求者與一第二需求者,該分時多工排程器包含: N個當前計數值產生器,分別用來服務該N個封包傳輸需求者,該N個當前計數值產生器的每一個用來產生一計數值,該N個當前計數值產生器用來產生N個當前計數值,並包含: 一第一計數值產生電路,包含: 一第一儲存電路,用來儲存該第一需求者的第一參數配置;以及 一第一計數電路,用來依據複數個第一輸入參數與一預設計數規則更新一第一先前計數值,以產生該N個當前計數值的一第一當前計數值,其中該複數個第一輸入參數包含該第一參數配置與該第一先前計數值,該第一先前計數值源自於一最近排程結果,該第一先前計數值與該第一當前計數值均落於一第一計數範圍內,該第一計數範圍由該第一參數配置而定,且包含一第一極值; 一第二計數值產生電路,包含: 一第二儲存電路,用來儲存該第二需求者的第二參數配置;以及 一第二計數電路,用來依據複數個第二輸入參數與該預設計數規則更新一第二先前計數值,以產生該N個當前計數值的一第二當前計數值,其中該複數個第二輸入參數包含該第二參數配置與該第二先前計數值,該第二先前計數值源自於該最近排程結果,該第二先前計數值與該第二當前計數值均落於一第二計數範圍內,該第二計數範圍由該第二參數配置而定,且包含一第二極值;以及 一最早屆期(earliest due date; EDD)排程器,用來依據該N個當前計數值與一預設緊急度判斷規則產生一當前排程結果,其中該當前排程結果決定該服務順序,該最近排程結果是該最早屆期排程器先前產生的。 A time-division multiplexing scheduler (TDM scheduler), capable of determining a service order of N packet transmission requirements, where N is an integer greater than one, and the N packet transmission requirements include a first A demander and a second demander, the time-sharing scheduler includes: N current count value generators are used to serve the N packet transmission requesters respectively, each of the N current count value generators is used to generate a count value, and the N current count value generators are used to generate N The current count value and contains: a first count value generating circuit, comprising: a first storage circuit for storing the first parameter configuration of the first demander; and a first counting circuit for updating a first previous count value according to a plurality of first input parameters and a preset counting rule to generate a first current count value of the N current count values, wherein the plurality of first count values An input parameter includes the first parameter configuration and the first previous count value, the first previous count value is derived from a most recent scheduling result, the first previous count value and the first current count value both fall within a first Within a counting range, the first counting range is determined by the first parameter configuration and includes a first extreme value; a second count value generating circuit, comprising: a second storage circuit for storing the second parameter configuration of the second demander; and a second counting circuit for updating a second previous count value according to a plurality of second input parameters and the preset counting rule to generate a second current count value of the N current count values, wherein the plurality of first count values The two input parameters include the second parameter configuration and the second previous count value, the second previous count value is derived from the most recent scheduling result, and the second previous count value and the second current count value both fall within a first Within two count ranges, the second count range is determined by the second parameter configuration and includes a second extreme value; and an earliest due date (EDD) scheduler for generating a current scheduling result according to the N current count values and a predetermined urgency judgment rule, wherein the current scheduling result determines the service order, The most recent schedule result was previously generated by the earliest due scheduler. 如請求項1之分時多工排程器,其中該第一極值為該第一計數範圍的一最小值或一最大值;該第二極值為該第二計數範圍的一最小值或一最大值;該第一極值等於該第二極值;當該第一當前計數值為該N個當前計數值中的一極值且該第二當前計數值不等於該極值也不等於該第二極值時,該最早屆期排程器依據該預設緊急度判斷規則選擇該第一需求者作為一最優先對象;該極值為該N個當前計數值中的一最小值或一最大值。The time-sharing scheduler as claimed in item 1, wherein the first extreme value is a minimum value or a maximum value of the first count range; the second extreme value is a minimum value or a maximum value of the second count range. a maximum value; the first extreme value is equal to the second extreme value; when the first current count value is an extreme value among the N current count values and the second current count value is not equal to the extreme value or equal to At the second extreme value, the earliest expiry scheduler selects the first demander as a top priority object according to the preset urgency judgment rule; the extreme value is a minimum value among the N current count values or a maximum value. 如請求項1之分時多工排程器,其中該第一極值為該第一計數範圍的一最小值或一最大值;該第二極值為該第二計數範圍的一最小值或一最大值;該第一極值等於該第二極值;當該第一當前計數值與該第二當前計數值均為該N個當前計數值中的一極值時,該最早屆期排程器依據該預設緊急度判斷規則以及該N個封包傳輸需求者的一預設順序選擇該第一需求者作為一最優先對象,該極值為該N個當前計數值中的一最小值或一最大值,該預設順序指出該第一需求者相較於該第二需求者具有較高的順位。The time-sharing scheduler as claimed in item 1, wherein the first extreme value is a minimum value or a maximum value of the first count range; the second extreme value is a minimum value or a maximum value of the second count range. a maximum value; the first extreme value is equal to the second extreme value; when both the first current count value and the second current count value are an extreme value among the N current count values, the earliest The programmer selects the first demander as a top priority object according to the preset urgency judgment rule and a preset order of the N packet transmission demanders, and the extreme value is a minimum value among the N current count values or a maximum value, the preset order indicates that the first demander has a higher priority than the second demander. 如請求項1之分時多工排程器,其中該第一需求者的傳輸模式為一全線速(line rate)模式,該第二需求者的傳輸模式為一超額認購(oversubscription)模式;該分時多工排程器用於一交換器;當該第一需求者的頻寬需求不小於該第二需求者的頻寬需求且該N個封包傳輸需求者的總頻寬需求大於該交換器的核心頻寬時,該第一計數範圍小於該第二計數範圍。The time-sharing scheduler of request item 1, wherein the transmission mode of the first demander is a line rate mode, and the transmission mode of the second demander is an oversubscription mode; the The time division multiplexing scheduler is used in a switch; when the bandwidth demand of the first demander is not less than the bandwidth demand of the second demander and the total bandwidth demand of the N packet transmission demanders is greater than the switch When the core bandwidth is 100%, the first count range is smaller than the second count range. 如請求項1之分時多工排程器,其中該第一需求者的傳輸模式為一全線速模式,該第二需求者的傳輸模式為一超額認購模式;當該預設計數規則採用一遞減計數方式時,該第一極值小於該第二極值;當該預設計數規則採用一遞增計數方式時,該第一極值大於該第二極值。The time-sharing scheduler of request item 1, wherein the transmission mode of the first demander is a full wire-speed mode, and the transmission mode of the second demander is an oversubscription mode; when the default counting rule adopts a In the down counting method, the first extreme value is smaller than the second extreme value; when the preset counting rule adopts an up counting method, the first extreme value is greater than the second extreme value. 如請求項1之分時多工排程器,其中該N個當前計數值中的一極值關聯該N個封包傳輸需求者的其中之一,該極值為該N個當前計數值中的一最小值或一最大值,該最早屆期排程器依據該預設緊急度判斷規則選擇該極值所關聯的該封包傳輸需求者作為一最優先對象。The time-sharing scheduler of request item 1, wherein an extreme value of the N current count values is associated with one of the N packet transmission requesters, and the extreme value of the N current count values A minimum value or a maximum value, and the earliest expiry scheduler selects the packet transmission requester associated with the extreme value as a top priority object according to the predetermined urgency judgment rule. 如請求項1之分時多工排程器,其中該最早屆期排程器進一步依據該N個封包傳輸需求者之至少一部分的每一個的一傳輸需求狀態產生該當前排程結果;該傳輸需求狀態為一第一狀態或一第二狀態,該第一狀態表示有至少一待傳送封包,該第二狀態表示沒有任何待傳送封包。The TDMA scheduler of request item 1, wherein the earliest due scheduler further generates the current scheduling result according to a transmission demand status of each of at least a portion of the N packet transmission demanders; the transmission The demand state is a first state or a second state, the first state indicates that there is at least one packet to be transmitted, and the second state indicates that there is no packet to be transmitted. 一種分時多工排程器,能夠決定N個封包傳輸需求者的一服務順序,該N為大於一的整數,該分時多工排程器包含: N個當前計數值產生器,分別用來服務該N個封包傳輸需求群組,該N個當前計數值產生器依據該N個封包傳輸需求群組的參數、一最近排程結果以及一預設計數規則產生N個當前計數值; 一最早屆期排程器,用來依據該N個當前計數值與一預設緊急度判斷規則產生一當前排程結果,其中該當前排程結果決定該服務順序,該最近排程結果是該最早屆期排程器先前產生的。 A time-sharing multiplexing scheduler capable of determining a service order of N packet transmission requesters, where N is an integer greater than one, and the time-sharing multiplexing scheduler includes: N current count value generators are respectively used to serve the N packet transmission demand groups, and the N current count value generators are based on the parameters of the N packet transmission demand groups, a latest scheduling result and a preset The counting rule generates N current count values; an earliest expiration scheduler for generating a current scheduling result according to the N current count values and a predetermined urgency judgment rule, wherein the current scheduling result determines the service order, and the latest scheduling result is the Earliest expiry scheduler previously generated. 如請求項8之分時多工排程器,其中該最早屆期排程器包含: 一轉換電路,用來依據一預設轉換規則將該N個當前計數值轉換為N個優先值;以及 一決定電路,用來依據該N個優先值產生該當前排程結果,其中該決定電路選擇該N個優先值中的一極值所關聯的一封包傳輸需求者作為一最優先對象,該最優先對象為該服務順序中的一最高順位者。 The time-sharing scheduler of claim 8, wherein the earliest expiry scheduler comprises: a conversion circuit for converting the N current count values into N priority values according to a predetermined conversion rule; and a decision circuit for generating the current scheduling result according to the N priority values, wherein the decision circuit selects a packet transmission requester associated with an extreme value of the N priority values as a highest priority object, and the highest priority The priority object is the one with the highest order in the service order. 一種分時多工排程裝置,該分時多工排程裝置包含: 一分時多工排程器,包含: N個當前計數值產生器,分別用來服務N個封包傳輸需求群組,該N個當前計數值產生器依據該N個封包傳輸需求群組的參數、一最近排程結果以及一預設計數規則產生N個當前計數值;以及 一最早屆期排程器,用來依據該N個當前計數值與一預設緊急度判斷規則產生一當前排程結果,該最近排程結果是該最早屆期排程器先前產生的;以及 一傳輸埠排程器,包含: N個排程電路,分別用來服務該N個封包傳輸需求群組,該N個封包傳輸需求群組的每一個包含至少一傳輸埠,每個排程電路用來依據一預設演算法選擇該排程電路所服務的該封包傳輸需求群組的一傳輸埠,該N個排程電路選擇N個傳輸埠;以及 一多工器,用來依據該當前排程結果所指出的一最優先對象輸出一傳輸埠選擇訊號指出該N個傳輸埠的其中之一作為一獲選傳輸埠,從而允許該獲選傳輸埠進行傳輸,該最優先對象為該N個封包傳輸需求群組的其中之一,該獲選傳輸埠為該最優先對象之M個傳輸的其中之一,該M為正整數。 A time-sharing multiplexing scheduling device, the time-sharing multiplexing scheduling device comprises: One-time multiplexing scheduler, including: N current count value generators are respectively used to serve N packet transmission request groups, and the N current count value generators are based on the parameters of the N packet transmission request groups, a latest scheduling result and a preset count The rule produces N current count values; and an earliest expiration scheduler for generating a current scheduling result according to the N current count values and a predetermined urgency judgment rule, and the latest scheduling result was previously generated by the earliest expiration scheduler; and A port scheduler, including: N scheduling circuits are respectively used to serve the N packet transmission request groups, each of the N packet transmission request groups includes at least one transmission port, and each scheduling circuit is used for selecting according to a predetermined algorithm A transmission port of the packet transmission request group served by the scheduling circuit, the N scheduling circuits selecting N transmission ports; and a multiplexer for outputting a transmission port selection signal according to a highest priority object indicated by the current scheduling result to indicate one of the N transmission ports as a selected transmission port, thereby allowing the selected transmission port For transmission, the highest priority object is one of the N packet transmission request groups, the selected transmission port is one of M transmissions of the highest priority object, and M is a positive integer.
TW109145149A 2020-12-18 2020-12-18 Time-division multiplexing scheduler and device TWI733635B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW109145149A TWI733635B (en) 2020-12-18 2020-12-18 Time-division multiplexing scheduler and device
US17/542,534 US11563691B2 (en) 2020-12-18 2021-12-06 Time-division multiplexing scheduler and scheduling device
US17/974,915 US11831413B2 (en) 2020-12-18 2022-10-27 Time-division multiplexing scheduler and scheduling device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109145149A TWI733635B (en) 2020-12-18 2020-12-18 Time-division multiplexing scheduler and device

Publications (2)

Publication Number Publication Date
TWI733635B TWI733635B (en) 2021-07-11
TW202226794A true TW202226794A (en) 2022-07-01

Family

ID=77911384

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109145149A TWI733635B (en) 2020-12-18 2020-12-18 Time-division multiplexing scheduler and device

Country Status (2)

Country Link
US (2) US11563691B2 (en)
TW (1) TWI733635B (en)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2557892T3 (en) * 1999-07-15 2016-01-29 Telefonaktiebolaget Lm Ericsson (Publ) Admission control and packet data traffic planning
US20050047425A1 (en) * 2003-09-03 2005-03-03 Yonghe Liu Hierarchical scheduling for communications systems
CN100428732C (en) * 2003-12-24 2008-10-22 华为技术有限公司 Integrated cross switch unit and service scheduling method thereof
US20060221850A1 (en) * 2005-03-31 2006-10-05 Teresa Buckley Field content based packet classification
US7519750B2 (en) * 2006-07-18 2009-04-14 Cortina Systems, Inc. Linear burst mode synchronizer for passive optical networks
TWI397285B (en) * 2007-10-15 2013-05-21 Realtek Semiconductor Corp Packet forwarding method
US8325764B2 (en) * 2009-02-24 2012-12-04 Verivue, Inc. Canonical scheduling for heterogeneous content delivery
US20140185628A1 (en) * 2012-12-28 2014-07-03 Broadcom Corporation Deadline aware queue management
US10009673B1 (en) * 2017-09-15 2018-06-26 Futurewei Technologies, Inc. Efficient CPRI transmission
US10673606B1 (en) * 2019-01-22 2020-06-02 Realtek Semiconductor Corp. High-speed full-duplex transceiver and method thereof

Also Published As

Publication number Publication date
US20220200925A1 (en) 2022-06-23
US11563691B2 (en) 2023-01-24
TWI733635B (en) 2021-07-11
US20230057059A1 (en) 2023-02-23
US11831413B2 (en) 2023-11-28

Similar Documents

Publication Publication Date Title
US6687781B2 (en) Fair weighted queuing bandwidth allocation system for network switch port
JP3872716B2 (en) Packet output control device
US6959002B2 (en) Traffic manager for network switch port
US9042224B2 (en) Method and system for weighted fair queuing
US8000247B2 (en) Bandwidth management apparatus
US20030200317A1 (en) Method and system for dynamically allocating bandwidth to a plurality of network elements
US20090252172A1 (en) System and method for scheduling reservation requests for a communication network
EP1080560A1 (en) Method and apparatus for forwarding packets from a plurality of contending queues to an output
US9940471B2 (en) Virtual output queue authorization management method and device, and computer storage medium
US8305889B2 (en) Method for allocating a resource among consumers in proportion to configurable weights
JP5497541B2 (en) Communication control device and shaping device
US10063478B2 (en) Switching device and control method of switching device
TWI470962B (en) Method and system for resource allocation in distributed time-division multiplexing systems
JP5598260B2 (en) Packet transmission apparatus, packet transmission method and packet transmission program
JP2013093761A (en) Buffer management program, relay device and control method
JP3705353B2 (en) Packet scheduling apparatus and method
JP3740425B2 (en) Bandwidth allocation apparatus and bandwidth allocation method
TW202226794A (en) Time-division multiplexing scheduler and device
CN114745342B (en) Time-sharing multitasking scheduler and apparatus
CN112714081B (en) Data processing method and device
US20230117851A1 (en) Method and Apparatus for Queue Scheduling
US8467401B1 (en) Scheduling variable length packets
US9369397B1 (en) Apparatus to achieve quality of service (QoS) without requiring fabric speedup
WO2024007334A1 (en) A device and methodology for hybrid scheduling using strict priority and packet urgentness
Kuai et al. Online Virtual Network Function Scheduling Towards Deterministic Latency