CN116418757A - Congestion control method and device, network equipment and storage medium - Google Patents

Congestion control method and device, network equipment and storage medium Download PDF

Info

Publication number
CN116418757A
CN116418757A CN202310362969.2A CN202310362969A CN116418757A CN 116418757 A CN116418757 A CN 116418757A CN 202310362969 A CN202310362969 A CN 202310362969A CN 116418757 A CN116418757 A CN 116418757A
Authority
CN
China
Prior art keywords
queue
message
depth
discarding
queues
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310362969.2A
Other languages
Chinese (zh)
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.)
Sanechips Technology Co Ltd
Original Assignee
Sanechips Technology Co Ltd
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 Sanechips Technology Co Ltd filed Critical Sanechips Technology Co Ltd
Priority to CN202310362969.2A priority Critical patent/CN116418757A/en
Publication of CN116418757A publication Critical patent/CN116418757A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • H04L49/9052Buffering arrangements including multiple buffers, e.g. buffer pools with buffers of different sizes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

The embodiment of the invention discloses a congestion control method and device, network equipment and a storage medium. The congestion control method comprises the following steps: acquiring the total cache depth of a plurality of queues; and if the total buffer depth reaches a first discarding threshold, selecting a target queue with the queue depth meeting a discarding condition from the plurality of queues to discard the message.

Description

Congestion control method and device, network equipment and storage medium
Description of the division
The present application is a divisional application of chinese patent application number 201811519766.5 entitled "congestion control method and apparatus, network device, and storage medium".
Technical Field
The present invention relates to the field of communications technologies, but is not limited to communications technologies, and in particular, to a congestion control method and apparatus, a network device, and a storage medium.
Background
Congestion is a phenomenon that should be avoided as much as possible during communication. In the prior art, for example, a Switching Access (SA) chip is used to receive a large number of messages from a Switching network. The messages are cached in different queues according to a certain mode, and the messages in the different queues are scheduled and output according to a certain scheduling rule. When the lower receiving module generates a flow control back pressure signal or data flow shaping, namely, the input rate of the queue is larger than the dispatching output rate of the queue, accumulation of the depth of the queue is caused, and cache congestion is formed. At this time, a congestion processing policy is needed to perform back pressure or discard processing on the packet entering the queue, so as not to cause excessive occupation of system resources, and finally affect related data flow processing functions. In the related art, various schemes for congestion relief through a message discarding manner exist, and sometimes, the buffer space is enough for the whole equipment, so that the message is discarded under the condition that the message is not required to be discarded.
Disclosure of Invention
In view of this, embodiments of the present invention desire to provide a congestion control method and apparatus, a network device, and a storage medium.
The technical scheme of the invention is realized as follows:
a congestion handling method, comprising:
acquiring the total cache depth of a plurality of queues;
and if the total buffer depth reaches a first discarding threshold, selecting a target queue with the queue depth meeting a discarding condition from the plurality of queues to discard the message.
Based on the scheme, the method comprises the following steps:
and stopping the message discarding of the target queue if the depth of the queue after the message discarding of the target queue reaches the revocation threshold.
Based on the scheme, the queue is a first-in first-out queue;
and if the total buffer depth reaches a first discard threshold, selecting a target queue from the plurality of queues, the target queue discarding message having a queue depth meeting a discard condition, including:
and if the total buffer depth reaches a first discarding threshold, selecting a target queue with the queue depth meeting the discarding condition from the plurality of queues to discard the message at the outlet of the queue.
Based on the above solution, if the total buffer depth reaches a first discard threshold, selecting, from the plurality of queues, a target queue discard packet whose queue depth satisfies a discard condition, including:
And if the total buffer depth reaches a first discarding threshold, selecting a queue with the largest queue depth from the plurality of queues as the target queue for discarding the message.
Based on the above solution, if the total buffer depth reaches a first discard threshold, selecting, from the plurality of queues, a target queue discard packet whose queue depth satisfies a discard condition, including:
determining a revocation threshold of each queue;
and if the queue depth of the ith queue is greater than the revocation threshold, selecting the ith queue to discard the message, wherein I is a positive integer smaller than I, and I is the total number of the queues.
Based on the above solution, if the total buffer depth reaches a first discard threshold, selecting, from the plurality of queues, a target queue discard packet whose queue depth satisfies a discard condition, including:
determining a depth range for selecting the target queue;
selecting an alternative queue with depth within the depth range from the plurality of queues;
if one alternative queue exists, selecting the alternative queue as a target queue to discard the message; and/or if a plurality of alternative queues exist, selecting the queue with the lowest queue priority as the target queue to discard the message according to the queue priority of the alternative queues.
Based on the above solution, if the total buffer depth reaches a first discard threshold, selecting a target queue from the plurality of queues, where the queue depth meets a discard condition, to discard the message, and further includes:
and if the queue priorities of the plurality of alternative queues are the same, selecting the alternative queue with the largest queue depth as the target queue to discard the message.
Based on the above scheme, the determining a depth range for selecting the target queue includes:
determining a selection parameter value for the depth range;
determining the upper limit of the depth range according to the maximum queue depth in the plurality of queues;
and determining the lower limit of the depth range according to the maximum queue depth and the selected parameter value.
Based on the above solution, if the total buffer depth reaches a first discard threshold, selecting, from the plurality of queues, a target queue discard packet whose queue depth satisfies a discard condition, including:
if the total buffer depth reaches a first discarding threshold, acquiring the types of the messages buffered by a plurality of queues;
determining the total queue depth of the j-th type message of the queue where the j-th type message is located according to the type of the message; j is a positive integer less than J; j is the total number of types of the message;
If the total queue depth of the j-th class message reaches a second discarding threshold of the j-th class message, and the queue in which the j-th class message is located is one, selecting the queue for caching the j-th class message as the target queue discarding message; and/or if the total queue depth of the jth type message reaches the second discarding threshold of the jth type message, and more than one queue of the jth type message is located, selecting one or more queues as the target queue discarding message according to the queue depth of the queue of the jth type message.
Based on the above scheme, if the total queue depth of the jth type message reaches the second discard threshold of the jth type message, and more than one queue is located in the jth type message, one or more queues are selected as the target queue discard message according to the queue depth of the queue in which the jth type message is located, including at least one of the following:
if the total queue depth of the j-th class of messages reaches a second discarding threshold of the j-th class of messages, selecting a queue with the largest queue depth from the queues of the j-th class of messages as a target queue discarding message;
and if the total queue depth of the j-th type message reaches a second discarding threshold of the j-th type message, selecting one or more queues with the queue depth larger than a revocation threshold and the lowest queue priority from the queues where the j-th type message is located as the target queue for discarding the message.
A congestion handling apparatus, comprising:
the acquisition module is used for acquiring the total cache depth of the plurality of queues;
and the discarding module is used for selecting a target queue from the plurality of queues, wherein the queue depth of the target queue meets the discarding condition, and discarding the message if the total buffer depth reaches a first discarding threshold.
A network device, comprising:
the network interface is used for receiving and transmitting the message;
a memory for storing messages and computer-executable instructions;
and the processor is respectively connected with the network interface and the memory and is used for controlling the message receiving and sending of the network interface and executing the congestion control method provided by any technical scheme by executing the computer storage executable instruction.
A computer storage medium having stored thereon computer executable instructions; after the computer executable instructions are executed, the congestion control method provided by any of the foregoing technical solutions can be implemented.
According to the technical scheme provided by the embodiment of the invention, when congestion control of the message is carried out, the total buffer depth of a plurality of queues is referred to as a whole, and the message is discarded by selecting the queue meeting the discarding condition according to the queue depth of the queue under the condition that the total buffer depth reaches the first discarding threshold, so that compared with the process of discarding the message based on the queue depth of each queue and the discarding threshold of a single queue, the problem that a larger buffer space exists in the whole network equipment and is unnecessary when the queue depth of a certain queue is larger is reduced; meanwhile, when selecting the target queue for discarding the message, selecting the target queue for discarding the message according to whether the current queue depth of each queue meets the discarding condition, so that the message discarding can be carried out on the queue with the message to be discarded in a targeted manner, and the phenomenon of discarding the message which is not discarded is further reduced.
Drawings
Fig. 1 is a flow chart of a first congestion control method according to an embodiment of the present invention;
fig. 2 is a flow chart of a second congestion control method according to an embodiment of the present invention;
fig. 3 is a flow chart of a third congestion control method according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of a congestion control apparatus according to an embodiment of the present invention;
fig. 5 is a schematic diagram of packet discarding according to an embodiment of the present invention;
fig. 6 is a flow chart of a fourth congestion control method according to an embodiment of the present invention;
fig. 7 is a flow chart of a fifth congestion control method according to an embodiment of the present invention;
FIG. 8 is a schematic diagram of a queue depth of a message according to the present embodiment;
fig. 9 is a corresponding schematic diagram of a queue and a queue discard revocation threshold table provided in the present embodiment;
FIG. 10 is a schematic diagram of depth range screening according to the present embodiment;
fig. 11 is a network device according to an embodiment of the present invention.
Detailed Description
The technical scheme of the invention is further elaborated below by referring to the drawings in the specification and the specific embodiments.
As shown in fig. 1, the present embodiment provides a congestion processing method, including:
Step S110: acquiring the total cache depth of a plurality of queues;
step S120: and if the total buffer depth reaches a first discarding threshold, selecting a target queue with the queue depth meeting a discarding condition from the plurality of queues to discard the message.
In this embodiment, the congestion processing method may be applied to various network devices having a packet receiving and sending function, for example, a switching chip of a switch or a routing chip of a router.
In this embodiment, the determination of whether congestion occurs is determined based on the total buffer depth of the plurality of queues. For example, M queues are configured in the network device, and the total buffer depth is the sum of the queue depths of the M queues. The depth of the queue depends on the number of messages cached by the queue; the larger the number of messages, the greater the queue depth.
Thus, if the total buffer depth of the queues in a network device is too large, for example, the total buffer depth is greater than the first discard threshold, congestion occurs in the message transceiving of the entire network device, so in this embodiment, only when the total buffer depth is greater than the first discard threshold, the queue satisfying the discard condition is selected as the target queue according to the queue depth of each queue, and the message of the target queue is discarded. Thus, in the method provided in this embodiment, the discard threshold is set for each queue, if the queue depth of a certain queue is very large and the queue depth of the remaining queues is very small, the network device has enough buffer space to continue to store the messages of the queues with very large queue depth, and the network device continues to store the messages of the queues with very large queue depth, so that the message receiving and sending of other queues are not affected, and if the message discard is performed based on the discard threshold of a single queue, the queues with very large queue will naturally discard the message, but such discard can be substantially avoided, and unnecessary message discard is caused. In this embodiment, the overall buffer depth (i.e., the total buffer depth) of the plurality of queues in the network device is considered, if the total buffer depth is greater than the first discard packet, it is confirmed that congestion occurs in the network device as a whole, and the discard packet is needed, and then a proper queue is further selected according to the queue depth of each queue, i.e., a queue meeting the discard condition is selected), so that the discard packet is purposefully discarded.
In some embodiments, as shown in fig. 2, the method includes:
step S130: and stopping the message discarding of the target queue if the depth of the queue after the message discarding of the target queue reaches the revocation threshold.
In this embodiment, not only the first discard threshold but also a discard threshold is set, which is used to discard the message. If one or more queues are selected as target queues for message discarding, all messages of the queues are not discarded at one time when the messages are discarded, but are determined according to a revocation threshold, if the depth of the target queues is lower than or smaller than the revocation threshold after the target queues discard one or more messages, congestion is relieved, and the target queues can stop discarding the messages so as to reduce unnecessary message discarding.
In the embodiment of the invention, the queues selected as the target queues for discarding the messages are all queues with the current time message queue larger than the revocation threshold.
In this embodiment, the queue is a first-in first-out queue; the step S120 may include:
and if the total buffer depth reaches a first discarding threshold, selecting a target queue with the queue depth meeting the discarding condition from the plurality of queues to discard the message at the outlet of the queue.
In this embodiment, the queue is a fifo queue, so that the message currently located at the exit of the queue is the first message to enter the queue, i.e., the oldest message. In this embodiment, in order to prioritize discarding of old and old messages, the target queue will preferentially select a message at the exit of the queue for discarding; therefore, the phenomenon that the buffer space is occupied for a long time for the messages with large data volume accumulated in the queue for a long time or the messages which are difficult to be successfully transmitted occupy the buffer space for a long time to aggravate congestion is reduced.
In still other embodiments, the messages in a queue may have different message priorities, and when the target queue discards the message, the message with the lowest message priority at the current time may be selected for discarding preferentially; and so on until the depth of the target queue reaches the revocation threshold.
In some embodiments, the step S120 may include: and if the total buffer depth reaches a first discarding threshold, selecting a queue with the largest queue depth from the plurality of queues as the target queue for discarding the message.
In the present embodiment, the target queues satisfying the discard condition are: the queue with the largest queue depth in the plurality of queues, namely the queue with the largest message is currently included.
In some embodiments, the step S120 may include:
determining a revocation threshold of each queue;
and if the queue depth of the ith queue is greater than the revocation threshold, selecting the ith queue to discard the message, wherein I is a positive integer smaller than I, and I is the total number of the queues.
In some embodiments, a first register is configured in the network device for each queue, the first register being configured to record the revocation thresholds for each queue separately, such that the revocation thresholds for different queues may be the same or different, but the revocation thresholds for different queues are not shared.
In still other embodiments, multiple queues share a revocation threshold, e.g., queues A, B, and C, respectively; the revocation thresholds for queues a and B and C are shared and there is only one revocation threshold. For example, the network device sets a second register for the plurality of queues, the second register storing a revocation threshold shared by the plurality of queues.
If the queue depth of the ith queue is greater than the revocation threshold, the ith queue is used as a target queue for discarding the message. Thus, if a plurality of queues in a plurality of columns are all larger than the respective revocation threshold, the queues are all target queues, and the message is discarded; thus, congestion in the network device can be quickly relieved.
In some embodiments, as shown in fig. 3, the step S120 may include:
step S121: determining a depth range for selecting the target queue;
step S122: selecting an alternative queue with depth within the depth range from the plurality of queues;
step S123: if one alternative queue exists, selecting the alternative queue as a target queue to discard the message;
and/or the number of the groups of groups,
step S124: and if a plurality of alternative queues exist, selecting a queue with the lowest queue priority as the target queue to discard the message according to the queue priority of the alternative queues.
In this embodiment, when selecting a target queue that meets a discard condition, a depth range of a selected target queue is first determined, and if a queue depth of a certain queue is within the depth range, the queue is used as an alternative queue; and then selecting a target queue according to the number of the alternative queues to discard the message.
The selecting the target queue for message loss according to the number of the candidate queues comprises the following steps:
if only one alternative queue exists, the fact that the depth of the queue of the alternative queue is too large at present is indicated, and the alternative queue is directly used as a target queue for message discarding.
If a plurality of alternative queues exist, a target queue can be selected from the alternative queues according to the queue priority for message discarding.
Specifically, for example, in the present embodiment, if there are multiple candidate queues, not all the candidate queues are used as the target queues, but the target queues are selected according to the queue priorities of the candidate queues. If the priority of a queue is lower, it indicates that the emergency degree of message sending and receiving in the queue is lower, or the importance of the message is lower, so in this embodiment, if there are multiple alternative queues, the queue with the lowest priority is selected as the target queue to discard the message.
Further, the step S120 may further include:
step S125: and if the queue priorities of the plurality of alternative queues are the same, selecting the alternative queue with the largest queue depth as the target queue to discard the message.
If the queue priorities of the plurality of alternative queues are the same, the message importance or the receiving emergency degree in the alternative queues are the same, at the moment, the alternative queue with the largest queue depth is preferentially selected as the target queue, and therefore, the message discarding is equivalent to the selection of the queue with the largest congestion influence degree.
In some embodiments, the step S121 may include:
determining a selection parameter value for the depth range;
determining the upper limit of the depth range according to the maximum queue depth in the plurality of queues;
and determining the lower limit of the depth range according to the maximum queue depth and the selected parameter value.
In this embodiment, one or more third registers may be provided in the network device, which may be used to store the selection parameter values. The selection parameter may be a weighting parameter and/or a weighting factor.
The queues have queue depths which may or may not be the same, but the maximum queue depth is obtained by logical operations such as comparison. The maximum depth of the queue may be directly the upper limit of the depth range or may be a known amount that is the upper limit of the calculated depth. For example, with a times the maximum queue depth as the upper depth limit, a may be a positive integer greater than or equal to 1.
When determining the lower limit of the depth range, the difference between the maximum queue depth and the weighting parameter can be directly solved to obtain the lower limit. For example, the maximum queue depth is H, the authentication parameter is H, and the lower limit may be H-H, so the depth range may be: h to H-H.
If the selected parameter value is a proportional value, the lower limit may be H, and the depth range may be: h to H, then the value of H ranges from a positive number between 0 and 1.
In some embodiments, the step S120 may include:
if the total buffer depth reaches a first discarding threshold, acquiring the types of the messages buffered by a plurality of queues;
determining the total queue depth of the j-th type message of the queue where the j-th type message is located according to the type of the message; j is a positive integer less than J; j is the total number of types of the message;
if the total queue depth of the j-th class message reaches a second discarding threshold of the j-th class message, and the queue in which the j-th class message is located is one, selecting the queue for caching the j-th class message as the target queue discarding message; and/or if the total queue depth of the jth type message reaches the second discarding threshold of the jth type message, and more than one queue of the jth type message is located, selecting one or more queues as the target queue discarding message according to the queue depth of the queue of the jth type message.
In this embodiment, the message types are distinguished to select the target queue and discard the message.
The message classification according to the type can include: unicast messages, multicast messages, and/or broadcast messages.
In this embodiment, the jth type of message may be any one of a unicast message, a multicast message, and a broadcast message.
If the total buffer depth of all the queues is greater than the first discarding threshold, the total queue depth of each type of message is seen, and if the total queue depth is greater than the second discarding threshold, one or more target queues of the type of message are automatically selected from the queues of the type of message as the target queues of the discarded message. Wherein the second discard threshold is less than the first discard threshold.
For example, the unicast message and the multicast message are cached in the current network device, if the total cache depth is greater than the first discard threshold, the total queue depth of the queues where the unicast message and the multicast message are located is checked respectively, and if the total queue depth of the queues where the unicast message is located reaches the second discard threshold, but the total queue depth of the queues where the multicast message is located does not reach the second discard message, one or more target queues are selected from the queues where the unicast message is cached to discard the message.
In some embodiments, the second discard thresholds for different types of messages may be shared, and in still other embodiments the second discard thresholds for different types of messages may be set separately.
Further, if the total queue depth of the jth type message reaches the second discard threshold of the jth type message, selecting one or more queues as the target queue discard message according to the queue depth of the queue in which the jth type message is located, including at least one of the following:
If the total queue depth of the j-th class of messages reaches a second discarding threshold of the j-th class of messages, selecting a queue with the largest queue depth from the queues of the j-th class of messages as a target queue discarding message;
and if the total queue depth of the j-th type message reaches a second discarding threshold of the j-th type message, selecting one or more queues with the queue depth larger than a revocation threshold and the lowest queue priority from the queues where the j-th type message is located as the target queue for discarding the message.
Thus, if more than one queue exists in the j-th type message, one or more queues in which the j-th type message exists are selected according to the priority and the depth of the queues to discard the message.
As shown in fig. 4, the present embodiment provides a congestion processing apparatus including:
an obtaining module 110, configured to obtain a total buffer depth of the plurality of queues;
and the discarding module 120 is configured to select, from the plurality of queues, a target queue for discarding the packet whose queue depth satisfies the discarding condition if the total buffer depth reaches the first discarding threshold.
In some embodiments, the acquiring module 110 and the discarding module 120 may be program modules, which when executed by a processor, enable the determination of the total buffer depth and the selection of a target queue and discarding of a message.
In still other embodiments, the acquisition module 110 and the discard module 120 may be soft and hard combining modules, which may be various programmable arrays; the programmable array may comprise: complex programmable arrays and/or field programmable arrays.
In still other embodiments, the acquisition module 110 and the discard module 120 may be pure hardware modules, which may be application specific integrated circuits.
In some embodiments, the apparatus comprises:
and the stopping module is used for stopping the message discarding of the target queue if the queue depth after the message discarding of the target queue reaches the revocation threshold.
In some embodiments, the queue is a first-in first-out queue;
the discarding module 120 is specifically configured to select, from the plurality of queues, a target queue whose queue depth satisfies a discard condition, to discard a message at an exit of the queue if the total buffer depth reaches a first discard threshold.
In some embodiments, the discarding module 120 is specifically configured to select, from the plurality of queues, a queue with a largest queue depth as the target queue to discard the packet if the total buffer depth reaches a first discard threshold.
In some embodiments, the discarding module 120 is specifically configured to determine a revocation threshold of each of the queues; and if the queue depth of the ith queue is greater than the revocation threshold, selecting the ith queue to discard the message, wherein I is a positive integer smaller than I, and I is the total number of the queues.
In still other embodiments, the discarding module 120 is specifically configured to determine a depth range for selecting the target queue; selecting an alternative queue with depth within the depth range from the plurality of queues; if one alternative queue exists, selecting the alternative queue as a target queue to discard the message; and/or if a plurality of alternative queues exist, selecting the queue with the lowest queue priority as the target queue to discard the message according to the queue priority of the alternative queues.
Further, the discarding module 120 is specifically configured to select, if the queue priorities of the plurality of candidate queues are the same, the candidate queue with the largest queue depth as the target queue to discard the message.
In some embodiments, the discarding module 120 is specifically configured to determine a selection parameter value of the depth range; determining the upper limit of the depth range according to the maximum queue depth in the plurality of queues; and determining the lower limit of the depth range according to the maximum queue depth and the selected parameter value.
In some embodiments, the discarding module 120 is specifically configured to obtain types of the packets buffered in the plurality of queues if the total buffer depth reaches a first discard threshold; determining the total queue depth of the j-th type message of the queue where the j-th type message is located according to the type of the message; j is a positive integer less than J; j is the total number of types of the message; if the total queue depth of the j-th class message reaches a second discarding threshold of the j-th class message, and the queue in which the j-th class message is located is one, selecting the queue for caching the j-th class message as the target queue discarding message; and/or if the total queue depth of the jth type message reaches the second discarding threshold of the jth type message, and more than one queue of the jth type message is located, selecting one or more queues as the target queue discarding message according to the queue depth of the queue of the jth type message.
In other embodiments, the discarding module 120 is specifically configured to perform at least one of:
if the total queue depth of the j-th class of messages reaches a second discarding threshold of the j-th class of messages, selecting a queue with the largest queue depth from the queues of the j-th class of messages as a target queue discarding message;
and if the total queue depth of the j-th type message reaches a second discarding threshold of the j-th type message, selecting one or more queues with the queue depth larger than a revocation threshold and the lowest queue priority from the queues where the j-th type message is located as the target queue for discarding the message.
Several specific examples are provided below in connection with any of the embodiments described above:
example 1:
the present example provides an improved dynamic congestion control method and apparatus, which aims to improve the buffer utilization, reduce the interactions between queues, and achieve the best congestion control effect as possible.
The congestion control method provided in this embodiment may include:
and taking the total buffer depth as a judgment standard of message discarding, selecting the queue with the largest queue depth or the queue with the largest queue depth and the lowest priority to discard the message under the condition that the discarding condition is met, namely, discarding the head of the queue.
Head discard refers to discarding and address reclamation of messages in a queue at the exit of the queue.
And setting a discard revocation threshold of the queue, namely stopping discarding operation of the queue when the depth of the queue discarded at the head is lower than the discard threshold. And re-entering the total buffer depth judgment before the process, and circulating until the standard of message discarding is no longer reached.
As shown in fig. 5, a message discarding method in a back-pressure manner includes:
the queues 0 to N report the own queue depth to the comparator respectively,
the comparator compares the received queue depth with the discard threshold found in the discard threshold table or the back pressure threshold found in the back pressure threshold table, then marks the discard mark if the queue depth is larger than the discard threshold, and marks the back pressure mark if the queue depth is larger than the back pressure threshold;
discarding the message marked with the discard mark queue;
and carrying out message back pressure on the queue marked with the back pressure mark, wherein the message back pressure can be: the buffering of messages in the queue of the backpressure marks is stopped or reduced.
In this example, the structure shown in fig. 5 is utilized to summarize the received message depths of the n+1 queues from the queue 0 to the queue N, then calculate the total buffer depth, determine whether to discard the message based on the comparison between the total buffer depth and the first discard threshold, and select a suitable target queue for discarding if the message is required to be discarded.
In still other embodiments, if the buffer depth is greater than the total back-pressure threshold, one or more target queues with increased queue depth are selected for packet back-pressure.
As shown in fig. 6, the congestion control method provided in this example may include:
starting to detect the total cache depth;
judging whether the discarding threshold of the total buffer depth is large (namely the first discarding threshold), if not, returning to the previous step; if yes, entering the next step;
finding out a queue with the maximum depth;
judging that the queue depth discards the revocation threshold, if the head discarding is not performed (namely, discarding the message at the exit of the queue), stopping discarding if the head discarding is performed.
As shown in fig. 7, this example proposes an apparatus for dynamic congestion avoidance, the apparatus structure including: the system comprises a queue management module, an output scheduling module and a congestion monitoring module. The message enters the storage system through the queue management module and is sent out through the output scheduling module. And the congestion monitoring module receives the information of each queue depth and the total cache depth from the queue management module, makes a judgment on whether to discard the head and feeds back the judgment to the output scheduling module for corresponding operation. The queue depth information in fig. 7 is used to indicate the queue depth; a head discard indication for indicating a corresponding queue to discard the message at the exit; the queue information is used for indicating the corresponding queue.
Example 2:
taking the queue congestion management working schematic diagram of fig. 5 as an example, assuming that the number of queues in the system is n+1, a RAM with a depth of n+1 is required to count the enqueue number of each queue, and a RAM with a depth of n+1 is required to count the dequeue number of each queue, and the subtraction of the enqueue number and the dequeue number is the depth of the queue.
Mode one:
the discard threshold and the revocation threshold used for setting the header discard by two registers are defined as: head first discard threshold (based on total buffer depth) and queue head discard cancel threshold (based on single queue depth).
After the system initialization is completed, each queue depth is 0, and the total cache depth is 0.
After the system starts to work, each queue starts to have messages entering, and the depth of the queue is increased under the assumption that the nth queue bursts large traffic at the moment.
When the total buffer memory is idle, even if the queue reaches the first discarding threshold of the queue, the processing of other queue data flows is not affected. If the total buffer memory utilization rate is higher, that is, the congestion depth generated by a plurality of queues is larger or the first discarding threshold of the nth queue is set too large, so that the total buffer memory depth reaches the set first discarding threshold of the head, triggering head discarding operation: and selecting one of all queues with the largest depth, such as an nth queue, for head discarding until the depth of the queue n is smaller than a set head discarding revocation threshold of the queue, and stopping head discarding operation. And monitoring whether the cache depth reaches a first head discarding threshold again, and judging whether a new head discarding operation is performed.
If the total cache address depth is 0x3000, a current cache depth threshold n_th=0x2800 of the header discard trigger may be set, discarding the revocation threshold 0x10. As shown in fig. 8, there are three data queues q0, q1, q2 currently, due to congestion of the downstream path, the three queues are increased in depth until q0=0x800, q1=0xc00, q2=0x1400, q0+q1+q2=n_th, reaches the total buffer first discard threshold, starts the head discard operation, selects the queue q2 with the highest queue depth to discard until the q2 depth is as low as 0x10, stops discarding, and reenters the monitoring condition of the buffer depth.
Mode two:
and realizing the discard threshold of head discard and the single queue revocation threshold setting by using a lookup table entry. When the discard threshold is reached, and a queue to be discarded is selected, the discard cancel threshold corresponding to the queue is found out according to the queue number table and used. The method sets independent revocation thresholds of all queues according to the characteristic that the actual use queues correspond to different flows.
A RAM with a depth of N+1 (total number of available queues in the system) is used for setting a discard cancel threshold according to actual application conditions, each address corresponds to a queue number, and the discard cancel threshold actually used by each queue is saved. When the trigger head is discarded, selecting the queue number to be discarded as i, and finding the independent discard revocation threshold corresponding to the queue in the i address of the revocation threshold table RAM. And judging whether the depth of the queue is lower than the revocation threshold or not, stopping the operation of discarding the message until the depth is lower than the threshold, and entering the discarding monitoring flow again.
If the total cache address depth is 0x3000, a header first discard threshold of 0x2800 may be set. As shown in fig. 9, the configuration queue discards entries of addresses a0 to a2 (corresponding to queues q0 to q 2) in the revocation threshold table, a0=0x30, a1=0x20, a3=0x10. Assuming that three data flows enter three queues q 0-q 2 respectively, the depth of q 0-q 2 is continuously increased when a downlink path is congested until q0=0x1800, q1=0x800, q2=0x800, q0+q1+q2=0x2800 reaches a first discarding threshold of a head, discarding operation is started, then the queue q0 with the highest depth is selected for discarding until the depth of q0 is as low as 0x30, namely, an entry corresponding to a revocation threshold table address a0 is stopped. The queue discard revocation threshold table of fig. 9 stores the revocation thresholds of the previous queue.
Mode three:
in combination with one or two, the selection criteria for the discard queue may be set, namely: instead of selecting the highest depth queue for discarding, the lowest priority queue may be selected for discarding within a certain depth range [ a, b ].
Such as: a depth selection range register x is added for setting the range of the pick drop queue. When the queue with the highest depth is found, the depth of the queue is taken as y, and the queue with the lowest priority is selected and discarded in the range of [ y-x, y ], namely, in the queues with the depth of the queue meeting the requirement of more than equal (y-x) and less than or equal to y. If there are multiple queues with the same priority, selecting the queue with the highest depth for discarding.
After the discard operation is canceled until the queue, the system reenters the monitoring flow of discard judgment.
Assume that the scene cache address depth in combination one is 0x3000, the first discard threshold n_th=0x2800. As shown in fig. 10, the four queues of data streams q 0-q 3, the revocation threshold of single queue discard 0x10. The priorities of the four queues q0> q1=q2=q3, and the depth range selector x=0x800 are further set. When the downlink path is congested, the buffer depths of four queues are increased continuously until q0=0x1000, q1=0xc00, q2=0x800, q3=0x400, q0+q1+q2+q3=0x2800 reaches the first drop threshold n_th of the header, and drop queue selection is entered. The highest depth queue q0=0x1000, the range of queue depth [0x1000,0x1000-0x800] is selected, queues q 0-q 2 are selected, wherein the low priority queues are q1 and q2, and q1> q2, the message in q1 is selected to be discarded until the depth of q1 is as low as 0x10, and discarding is cancelled.
Further, high priority queues may be eliminated, and selected and discarded only in the low priority queue range. The priorities shown in fig. 10 are queue priorities.
Mode four:
in combination with the above mode, the data types for head discarding monitoring can be divided according to the need. Unicast and multicast may be handled separately, i.e. an independent unicast first drop threshold and multicast first drop threshold may be set in addition to the total buffered first drop threshold.
The revocation mode of the combination mode one: if the total buffer n=0x3000 address depth, the total buffer first discard threshold n_th=0x2800 can be set, the unicast first discard threshold u_th=0x1800, the multicast first discard threshold m_th=0x1800, and the discard revocation threshold is set to 0x10.
Assuming that there are two data flows of unicast u0 and multicast m0, different thresholds function according to different outgoing congestion situations:
downstream congestion of unicast paths. When the near unicast path is congested, the buffer address depth occupied by unicast is continuously increased until the first discarding threshold is reached, and the address depth occupied by multicast is normal, for example, the u0 depth is 0x1800, the m0 depth is 0x100, and the total buffer depth is u0+m0=0x1900. In this case, the multicast data stream is normal, only the unicast header discarding is triggered, and the discarding of the packet in the unicast queue is started until the address occupation depth of the unicast queue is reduced to u0=0x10, the discarding operation is cancelled, and the monitoring state of the header discarding is re-entered.
The multicast path is congested downstream. The situation is similar to unicast, if the multicast m0 depth reaches 0x1800 and the unicast u0 queue depth 0x100, the total buffer depth u0+m0=0x1900. At this time, the multicast is subjected to header discarding until the depth is as low as m0=0x10, and the discarding operation is canceled.
The overall path is congested downstream. If the traffic of unicast and multicast approaches, due to the congestion of the whole downlink path, unicast and multicast are piled up until unicast u0=0x1300, m0=0x1500, u0+m0=0x2800, then the total buffer header discard is triggered, the queue with the highest depth in the current buffer is selected, namely, the multicast queue m0 starts to discard until the depth of m0 is reduced to 0x10, and the multicast packet discard is cancelled.
Other modes:
the above list only a few use cases, and there are many possible methods for setting and judging the boundaries of the nodes such as threshold setting, queue selection, etc., and the adjustment can be performed according to the actual design needs, so that the complete list cannot be listed one by one.
The queue management module performs queue storage on the input messages, counts the depth of each queue, transmits the depth of each queue to the discarding monitoring module, and simultaneously transmits the queue information related to scheduling to the scheduling output module and receives the scheduling instruction output or the messages of the corresponding queues discarded at the head.
The output scheduling module receives the queue information from the queue management module, performs queue selection in combination with a scheduling scheme configured by the system, and simultaneously receives the head discarding indication of the discarding monitoring module to determine the scheduling instruction of the queue, namely output or head discarding.
The monitoring module calculates the total cache depth and screens the deepest queue according to the depth information of all queues sent by the queue management module, triggers head discarding monitoring, and sends an instruction whether a certain queue performs head discarding or not to the scheduling module according to the flow.
Furthermore, the device can be used for refining and adjusting on the basis of the method, and the queues to be discarded can be selected by combining various conditions. For example, queue selection and dropping may be performed in connection with data type or in connection with queue priority, even a particular set of queues may be selected for dropping, etc. Based on the scheme and the device, the range of the selection mode of the discard queue can be enlarged according to specific needs, and the selection mode is used for more scenes needing specific adjustment.
It is to be understood that the foregoing description of the specific embodiments is provided in a detailed description and is not to be taken as limiting the scope of the invention, which is defined by the appended claims.
As shown in fig. 11, the present embodiment provides a network device, including:
the network interface is used for receiving and transmitting the message;
a memory for storing messages and computer-executable instructions;
and the processor is respectively connected with the network interface and the memory, and is used for controlling the message receiving and sending of the network interface and realizing the congestion control method provided by any one of the technical schemes by executing the executable instructions stored in the computer, for example, the congestion control method provided by one or more technical schemes shown in fig. 1 to 3 and fig. 5 to 7 can be executed.
The present embodiment also provides a computer storage medium storing computer-executable instructions; after the computer executable instructions are executed, the congestion control method provided by any one of the foregoing technical solutions may be implemented, for example, the congestion control method provided by one or more of the technical solutions shown in fig. 1 to 3 and fig. 5 to 7 may be implemented.
The computer storage medium provided in this embodiment may be a non-transitory storage medium.
In the several embodiments provided in this application, it should be understood that the disclosed apparatus and method may be implemented in other ways. The above described device embodiments are only illustrative, e.g. the division of the units is only one logical function division, and there may be other divisions in practice, such as: multiple units or components may be combined or may be integrated into another system, or some features may be omitted, or not performed. In addition, the various components shown or discussed may be coupled or directly coupled or communicatively coupled to each other via some interface, whether indirectly coupled or communicatively coupled to devices or units, whether electrically, mechanically, or otherwise.
The units described as separate units may or may not be physically separate, and units displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units; some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in each embodiment of the present invention may be integrated in one processing module, or each unit may be separately used as one unit, or two or more units may be integrated in one unit; the integrated units may be implemented in hardware or in hardware plus software functional units.
Those of ordinary skill in the art will appreciate that: all or part of the steps for implementing the above method embodiments may be implemented by hardware associated with program instructions, where the foregoing program may be stored in a computer readable storage medium, and when executed, the program performs steps including the above method embodiments; and the aforementioned storage medium includes: a mobile storage device, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk or an optical disk, or the like, which can store program codes.
The foregoing is merely illustrative of the present invention, and the present invention is not limited thereto, and any person skilled in the art will readily recognize that variations or substitutions are within the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

Claims (7)

1. A method of congestion handling, comprising:
acquiring the total cache depth of a plurality of queues;
if the total buffer depth reaches a first discarding threshold, selecting a target queue from the plurality of queues, wherein the queue depth of the target queue meets a discarding condition;
and if the total buffer depth reaches a first discard threshold, selecting a target queue from the plurality of queues, wherein the queue depth of the target queue meets a discard condition, and discarding the message, wherein the target queue comprises any one of the following steps:
if the total buffer depth reaches a first discarding threshold, selecting a queue with the largest queue depth from the plurality of queues as the target queue discarding message;
determining a revocation threshold of each queue; if the depth of the ith queue is larger than the revocation threshold, selecting the ith queue to discard the message, wherein I is a positive integer smaller than I, and I is the total number of the queues;
If the total buffer depth reaches a first discarding threshold, acquiring the types of the messages buffered by a plurality of queues; determining the total queue depth of the j-th type message of the queue where the j-th type message is located according to the type of the message; j is a positive integer less than J; j is the total number of types of the message; if the total queue depth of the j-th class message reaches a second discarding threshold of the j-th class message, and the queue in which the j-th class message is located is one, selecting the queue for caching the j-th class message as the target queue discarding message; and/or if the total queue depth of the jth type message reaches the second discarding threshold of the jth type message, and more than one queue of the jth type message is located, selecting one or more queues as the target queue discarding message according to the queue depth of the queue of the jth type message.
2. The method according to claim 1, characterized in that the method comprises:
and stopping the message discarding of the target queue if the depth of the queue after the message discarding of the target queue reaches the revocation threshold.
3. The method of claim 1, wherein the queue is a first-in first-out queue;
and if the total buffer depth reaches a first discard threshold, selecting a target queue from the plurality of queues, the target queue discarding message having a queue depth meeting a discard condition, including:
And if the total buffer depth reaches a first discarding threshold, selecting a target queue with the queue depth meeting the discarding condition from the plurality of queues to discard the message at the outlet of the queue.
4. A method according to any one of claims 1 to 3, wherein if the total queue depth of the jth packet reaches the second discard threshold of the jth packet, and more than one queue exists in the jth packet, selecting one or more queues as the target queue discard packet according to the queue depth of the queue in which the jth packet exists, including at least one of:
if the total queue depth of the j-th class of messages reaches a second discarding threshold of the j-th class of messages, selecting a queue with the largest queue depth from the queues of the j-th class of messages as a target queue discarding message;
and if the total queue depth of the j-th type message reaches a second discarding threshold of the j-th type message, selecting one or more queues with the queue depth larger than a revocation threshold and the lowest queue priority from the queues where the j-th type message is located as the target queue for discarding the message.
5. A congestion handling apparatus, comprising:
the acquisition module is used for acquiring the total cache depth of the plurality of queues;
The discarding module is used for selecting a target queue discarding message with the queue depth meeting the discarding condition from the plurality of queues if the total buffer depth reaches a first discarding threshold;
and if the total buffer depth reaches a first discard threshold, selecting a target queue from the plurality of queues, wherein the queue depth of the target queue meets a discard condition, and discarding the message, wherein the target queue comprises any one of the following steps:
if the total buffer depth reaches a first discarding threshold, selecting a queue with the largest queue depth from the plurality of queues as the target queue discarding message;
determining a revocation threshold of each queue; if the depth of the ith queue is larger than the revocation threshold, selecting the ith queue to discard the message, wherein I is a positive integer smaller than I, and I is the total number of the queues;
if the total buffer depth reaches a first discarding threshold, acquiring the types of the messages buffered by a plurality of queues; determining the total queue depth of the j-th type message of the queue where the j-th type message is located according to the type of the message; j is a positive integer less than J; j is the total number of types of the message; if the total queue depth of the j-th class message reaches a second discarding threshold of the j-th class message, and the queue in which the j-th class message is located is one, selecting the queue for caching the j-th class message as the target queue discarding message; and/or if the total queue depth of the jth type message reaches the second discarding threshold of the jth type message, and more than one queue of the jth type message is located, selecting one or more queues as the target queue discarding message according to the queue depth of the queue of the jth type message.
6. A network device, comprising:
the network interface is used for receiving and transmitting the message;
a memory for storing messages and computer-executable instructions;
a processor, respectively connected to the network interface and the memory, for controlling the sending and receiving of messages by the network interface and executing the method provided in any one of claims 1 to 4 by executing the computer to store executable instructions.
7. A computer storage medium having stored thereon computer executable instructions; the computer-executable instructions, when executed, are capable of carrying out the method provided in any one of claims 1 to 4.
CN202310362969.2A 2018-12-12 2018-12-12 Congestion control method and device, network equipment and storage medium Pending CN116418757A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310362969.2A CN116418757A (en) 2018-12-12 2018-12-12 Congestion control method and device, network equipment and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202310362969.2A CN116418757A (en) 2018-12-12 2018-12-12 Congestion control method and device, network equipment and storage medium
CN201811519766.5A CN111314240B (en) 2018-12-12 2018-12-12 Congestion control method and device, network equipment and storage medium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201811519766.5A Division CN111314240B (en) 2018-12-12 2018-12-12 Congestion control method and device, network equipment and storage medium

Publications (1)

Publication Number Publication Date
CN116418757A true CN116418757A (en) 2023-07-11

Family

ID=71076780

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310362969.2A Pending CN116418757A (en) 2018-12-12 2018-12-12 Congestion control method and device, network equipment and storage medium
CN201811519766.5A Active CN111314240B (en) 2018-12-12 2018-12-12 Congestion control method and device, network equipment and storage medium

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201811519766.5A Active CN111314240B (en) 2018-12-12 2018-12-12 Congestion control method and device, network equipment and storage medium

Country Status (2)

Country Link
CN (2) CN116418757A (en)
WO (1) WO2020119202A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111865716B (en) * 2020-06-30 2023-07-18 新华三信息技术有限公司 Port congestion detection method, device, equipment and machine-readable storage medium
CN113973085B (en) * 2020-07-22 2023-10-20 华为技术有限公司 Congestion control method and device
CN113923169A (en) * 2021-10-11 2022-01-11 浙江大华技术股份有限公司 Message filtering method and device, storage medium and electronic device
CN117499314B (en) * 2024-01-03 2024-03-19 南京信息工程大学 Network self-adaptive congestion control method based on average queue length change trend

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7414973B2 (en) * 2005-01-24 2008-08-19 Alcatel Lucent Communication traffic management systems and methods
CN101056261A (en) * 2007-05-21 2007-10-17 中南大学 Active congestion processing method of the access node in the multi-rate WLAN
CN101800699A (en) * 2010-02-09 2010-08-11 上海华为技术有限公司 Method and device for dropping packets
CN102223300B (en) * 2011-06-09 2014-02-05 武汉烽火网络有限责任公司 Transmission control method for multimedia data in network equipment
CN103248583B (en) * 2012-02-09 2016-04-13 迈普通信技术股份有限公司 A kind of first in first out message queue management method based on finite depth and device
CN102594691B (en) * 2012-02-23 2019-02-15 中兴通讯股份有限公司 A kind of method and device handling message
CN105075202B (en) * 2013-03-28 2019-07-12 英国电讯有限公司 For handling method, node and the packet network of grouping in packet network
CN104426796A (en) * 2013-08-21 2015-03-18 中兴通讯股份有限公司 Congestion avoiding method and apparatus of router
CN105721332A (en) * 2014-12-03 2016-06-29 深圳市中兴微电子技术有限公司 Congestion control method and device based on improved WRED
CN106330770A (en) * 2015-06-29 2017-01-11 深圳市中兴微电子技术有限公司 Shared cache distribution method and device
CN106685848A (en) * 2015-11-10 2017-05-17 中兴通讯股份有限公司 Message discarding method and device
CN105812285A (en) * 2016-04-29 2016-07-27 华为技术有限公司 Port congestion management method and device
CN107454014A (en) * 2016-05-30 2017-12-08 中兴通讯股份有限公司 A kind of method and device of Priority Queuing

Also Published As

Publication number Publication date
CN111314240A (en) 2020-06-19
WO2020119202A1 (en) 2020-06-18
CN111314240B (en) 2023-04-14

Similar Documents

Publication Publication Date Title
CN111314240B (en) Congestion control method and device, network equipment and storage medium
US11652752B2 (en) Congestion control method and network device
JP5157577B2 (en) Packet buffer management device for determining arrival packet discard and its discard determination method
US9166919B2 (en) Reducing headroom
US8312188B1 (en) Systems and methods for dynamic buffer allocation
EP4175232A1 (en) Congestion control method and device
US20090290593A1 (en) Method and apparatus for implementing output queue-based flow control
CN107404443B (en) Queue cache resource control method and device, server and storage medium
US9197570B2 (en) Congestion control in packet switches
US20080304503A1 (en) Traffic manager and method for performing active queue management of discard-eligible traffic
US20080225705A1 (en) Monitoring, Controlling, And Preventing Traffic Congestion Between Processors
US11388114B2 (en) Packet processing method and apparatus, communications device, and switching circuit
CN110138678B (en) Data transmission control method and device, network transmission equipment and storage medium
CN113315720B (en) Data flow control method, system and equipment
US20130028082A1 (en) Packet transmission device, memory control circuit, and packet transmission method
US10728156B2 (en) Scalable, low latency, deep buffered switch architecture
US7191258B2 (en) Packet forwarding system having a control packet processor which allocates the bandwidth for a control packet adaptively and processing method thereof
US7408876B1 (en) Method and apparatus for providing quality of service across a switched backplane between egress queue managers
US8879578B2 (en) Reducing store and forward delay in distributed systems
CN113141313A (en) Congestion control method, device and system and storage medium
JP4293703B2 (en) Queue control unit
EP1079660A1 (en) Buffer acceptance method
JPH0766845A (en) Information flow rate limiting device
CN115002040A (en) Load balancing method and system for sensing priority flow control based on big data
CN116055407A (en) Message scheduling method and device

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