A PFC processing method, system, device and readable storage medium

By counting the PFC backpressure time of downstream equipment in the data center network and adaptively adjusting the timeout time, the network problem caused by PFC deadlock is solved, the detection accuracy is improved, and network congestion and packet loss are avoided.

CN115811501BActive Publication Date: 2025-07-04SEAL CORE SEMICON (NANJING) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211412912.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-11
Publication Date
2025-07-04
Estimated Expiration
2042-11-11

AI Technical Summary

Technical Problem

In complex data center network environments, PFC deadlock causes network throughput to drop to zero, making it difficult for existing technologies to effectively detect and recover.

Method used

The priority queue is used to count the duration of the PFC backpressure of downstream equipment. If the set time threshold is exceeded, the backpressure will be ignored and data packets will be continued to be sent. The timeout time threshold is adjusted adaptively to improve detection accuracy.

Benefits of technology

Improve the accuracy of deadlock detection, avoid network congestion and packet loss, and improve network stability and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115811501B_ABST
    Figure CN115811501B_ABST
Patent Text Reader

Abstract

An embodiment of the present application discloses a PFC processing method, system, device, and readable storage medium. The method includes: a priority queue statistics the duration of continuously receiving PFC backpressure from a downstream device; if the duration of continuously receiving PFC backpressure from the downstream device exceeds a set time threshold, the received PFC backpressure is ignored, and data packets are continuously sent to the downstream device; when the time of continuously ignoring PFC backpressure exceeds the set time threshold, the ignoring of PFC backpressure is stopped. The accuracy of deadlock detection is improved, and network congestion and packet loss caused by misjudgment are avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of communication technologies, and particularly to a PFC processing method, system, device, and readable storage medium. Background Art

[0002] In the deployment of data center networks, it is usually necessary to provide a lossless network based on Priority-based Flow Control (PFC). After PFC is enabled, before the packet buffer queue of the switch overflows, it will send a PFC pause packet to the upstream network device to backpressure and pause the sending of its packets to prevent data loss.

[0003] However, in a complex network environment, extensive use of PFC can lead to deadlocks. As Figure 1 shown, in a loop composed of a group of switches, each switch performs PFC backpressure on its upstream switch while waiting for its downstream switch to release the PFC backpressure, which forms a PFC deadlock. When a deadlock occurs, data exchange cannot be performed in the loop, and the throughput of the entire network or part of the network will become zero.

[0004] Therefore, a detection and recovery mechanism is needed to prevent the occurrence of PFC deadlocks. Summary of the Invention

[0005] To this end, the embodiments of the present application provide a PFC processing method, system, device, and readable storage medium, which improve the accuracy of deadlock detection and avoid network congestion and packet loss caused by misjudgment.

[0006] To achieve the above object, the embodiments of the present application provide the following technical solutions:

[0007] According to the first aspect of the embodiments of the present application, a flow control PFC processing method is provided, and the method includes:

[0008] The priority queue statistics the duration of continuously receiving PFC backpressure from the downstream device;

[0009] If the duration of continuously receiving PFC backpressure from the downstream device exceeds the set time threshold, the received PFC backpressure is ignored, and data packets are continuously sent to the downstream device;

[0010] When the duration of continuously ignoring PFC backpressure exceeds the set time threshold, stop ignoring PFC backpressure.

[0011] Optionally, the priority queue statistics the duration of continuously receiving PFC backpressure from the downstream device, including:

[0012] The priority queue detects whether it receives PFC backpressure sent by the downstream device;

[0013] When receiving PFC backpressure sent by a downstream device, start counting the duration of continuously receiving PFC backpressure from the downstream device.

[0014] Optionally, the set time threshold is updated according to the following steps:

[0015] The priority queue polls whether it receives PFC backpressure from the downstream device in a set period;

[0016] If received, determine whether the duration of continuously receiving PFC backpressure from the downstream device exceeds the set time threshold;

[0017] If it exceeds, determine whether the consecutive number of times that the duration of receiving PFC backpressure from the downstream device is in the timeout state is 0;

[0018] If so, determine whether it is less than the initial set time threshold according to the set time threshold and the attenuation coefficient;

[0019] If it is less, update the set time threshold according to the initial set time threshold; if it is greater than or equal to, update the set time threshold according to the set time threshold, the attenuation coefficient, the PFC timeout count threshold, and the consecutive number of times in the timeout state.

[0020] Optionally, for determining whether the consecutive number of times that the duration of receiving PFC backpressure from the downstream device is in the timeout state is 0, the method further includes:

[0021] If it is not 0, determine whether the consecutive number of times in the timeout state is greater than the PFC timeout count threshold;

[0022] If it is greater, determine whether it is greater than the maximum timeout time according to the set time threshold, the attenuation system, the PFC timeout count threshold, and the consecutive number of times in the timeout state;

[0023] If it is greater, turn off the PFC function and generate a warning reminder message; if it is less than or equal to, update the set time threshold according to the set time threshold, the attenuation coefficient, the PFC timeout count threshold, and the consecutive number of times in the timeout state.

[0024] Optionally, after determining whether the consecutive number of times in the timeout state is greater than the PFC timeout count threshold, the method further includes:

[0025] If it is less than or equal to, return to the state where the priority queue polls whether it receives PFC backpressure from the downstream device in a set period.

[0026] According to the second aspect of the embodiments of the present application, a flow control PFC processing system is provided, and the system includes:

[0027] A duration statistics module, used to statistically prioritize the duration of continuously receiving PFC backpressure from downstream devices in a time statistics priority queue;

[0028] A deadlock release module, used to ignore the received PFC backpressure and continue to send data packets to the downstream device if the duration of continuously receiving PFC backpressure from the downstream device exceeds a set time threshold;

[0029] A recovery module, used to stop ignoring PFC backpressure when the time of continuously ignoring PFC backpressure exceeds a set time threshold.

[0030] Optionally, the set time threshold is updated according to the following steps:

[0031] The priority queue polls whether it has received PFC backpressure from the downstream device in a set period;

[0032] If it has received, it determines whether the duration of continuously receiving PFC backpressure from the downstream device exceeds the set time threshold;

[0033] If it exceeds, it determines whether the consecutive number of times the duration of receiving PFC backpressure from the downstream device is in an overtime state is 0;

[0034] If so, it determines whether it is less than the initial set time threshold according to the set time threshold and the attenuation coefficient;

[0035] If it is less, it updates the set time threshold according to the initial set time threshold; if it is greater than or equal to, it updates the set time threshold according to the set time threshold, the attenuation coefficient, the PFC overtime count threshold, and the consecutive number of times in the overtime state.

[0036] Optionally, when determining whether the consecutive number of times the duration of receiving PFC backpressure from the downstream device is in an overtime state is 0, the system is also used for:

[0037] If it is not 0, it determines whether the consecutive number of times in the overtime state is greater than the PFC overtime count threshold;

[0038] If it is greater, it determines whether it is greater than the maximum overtime time according to the set time threshold, the attenuation system, the PFC overtime count threshold, and the consecutive number of times in the overtime state;

[0039] If it is greater, it closes the PFC function and generates a warning reminder message; if it is less than or equal to, it updates the set time threshold according to the set time threshold, the attenuation coefficient, the PFC overtime count threshold, and the consecutive number of times in the overtime state.

[0040] According to a third aspect of the embodiments of the present application, an electronic device is provided, including: a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor runs the computer program, the method described in the first aspect above is implemented.

[0041] According to a fourth aspect of the embodiments of the present application, a computer-readable storage medium is provided, on which computer-readable instructions are stored. The computer-readable instructions can be executed by a processor to implement the method described in the first aspect above.

[0042] In summary, the embodiments of the present application provide a PFC processing method, system, device, and readable storage medium. The duration of continuously receiving PFC backpressure from a downstream device is statistically counted through a priority queue. If the duration of continuously receiving PFC backpressure from the downstream device exceeds a set time threshold, the received PFC backpressure is ignored, and data packets are continued to be sent to the downstream device. When the time of continuously ignoring PFC backpressure exceeds the set time threshold, the ignoring of PFC backpressure is stopped. The accuracy of deadlock detection is improved, and network congestion and packet loss caused by misjudgment are avoided. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only exemplary, and for those of ordinary skill in the art, without creative efforts, other implementation drawings can be obtained according to the provided drawings.

[0044] The structures, ratios, sizes, etc. illustrated in this specification are only used to cooperate with the content disclosed in the specification for those who are familiar with this technology to understand and read, and are not used to limit the limiting conditions under which the present invention can be implemented. Therefore, they do not have a substantial technical meaning. Any modification of the structure, change of the proportional relationship, or adjustment of the size, without affecting the effects that the present invention can produce and the purposes that can be achieved, should still fall within the scope covered by the technical content disclosed in the present invention.

[0045] Figure 1 It is a schematic diagram of PFC deadlock provided by the embodiments of the present application;

[0046] Figure 2 It is a schematic flowchart of a PFC processing method provided by the embodiments of the present application;

[0047] Figure 3 It is a flowchart of PFC deadlock detection and recovery provided by the embodiments of the present application;

[0048] Figure 4 It is a flowchart of adaptively updating the timeout time provided by the embodiments of the present application;

[0049] Figure 5 It is a block diagram of a PFC processing system provided by an embodiment of the present application;

[0050] Figure 6 It shows a schematic structural diagram of an electronic device provided by an embodiment of the present application;

[0051] Figure 7 It shows a schematic diagram of a computer-readable storage medium provided by an embodiment of the present application. Specific embodiments

[0052] The following specific embodiments illustrate the implementation manners of the present invention. Those skilled in the art can easily understand other advantages and effects of the present invention from the content disclosed in this specification. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the protection scope of the present invention.

[0053] Figure 2 It shows a flow control PFC processing method provided by an embodiment of the present application, and the method includes:

[0054] Step 201: The priority queue statistics the duration of continuously receiving PFC backpressure from the downstream device;

[0055] Step 202: If the duration of continuously receiving PFC backpressure from the downstream device exceeds the set time threshold, ignore the received PFC backpressure and continue to send data packets to the downstream device;

[0056] Step 203: Wait until the time of continuously ignoring PFC backpressure exceeds the set time threshold, and then stop ignoring PFC backpressure.

[0057] In a possible implementation manner, in step 201, the priority queue statistics the duration of continuously receiving PFC backpressure from the downstream device, including:

[0058] The priority queue detects whether it receives PFC backpressure sent by the downstream device; when receiving PFC backpressure sent by the downstream device, start to statistics the duration of continuously receiving PFC backpressure from the downstream device.

[0059] In a possible implementation manner, the set time threshold is updated according to the following steps:

[0060] The priority queue polls whether it receives PFC backpressure from the downstream device in a set period;

[0061] If received, determine whether the duration of continuously receiving PFC backpressure from the downstream device exceeds the set time threshold;

[0062] If it exceeds, determine whether the consecutive number of times that the duration of receiving the PFC backpressure from the downstream device is in the timeout state is 0;

[0063] If it is, determine whether it is less than the initial set time threshold according to the set time threshold and the attenuation coefficient;

[0064] If it is less, update the set time threshold according to the initial set time threshold; if it is greater than or equal to, update the set time threshold according to the set time threshold, the attenuation coefficient, the PFC timeout count threshold, and the consecutive number of times in the timeout state.

[0065] In a possible implementation manner, for determining whether the consecutive number of times that the duration of receiving the PFC backpressure from the downstream device is in the timeout state is 0, the method further includes:

[0066] If it is not 0, determine whether the consecutive number of times in the timeout state is greater than the PFC timeout count threshold;

[0067] If it is greater, determine whether it is greater than the maximum timeout time according to the set time threshold, the attenuation system, the PFC timeout count threshold, and the consecutive number of times in the timeout state;

[0068] If it is greater, turn off the PFC function and generate a warning reminder message; if it is less than or equal to, update the set time threshold according to the set time threshold, the attenuation coefficient, the PFC timeout count threshold, and the consecutive number of times in the timeout state.

[0069] In a possible implementation manner, after determining whether the consecutive number of times in the timeout state is greater than the PFC timeout count threshold, the method further includes:

[0070] If it is less than or equal to, return to the state where the priority queue polls whether it receives the PFC backpressure from the downstream device in the set period.

[0071] The following details the PFC processing method provided by the embodiments of the present application with reference to the accompanying drawings.

[0072] The embodiments of the present application use a hardware chip (such as an FPGA, etc.) to implement the timer function of the message priority queue. Based on the message outlet end of the network device, the duration of each priority queue continuously receiving the PFC backpressure from the downstream device is counted to implement the detection of PFC deadlocks.

[0073] Figure 3The PFC deadlock detection and recovery process provided by the embodiment of the present application is shown. If a priority queue continues to receive PFC back pressure for a period of time exceeding a preset time, it means that the priority queue may have a PFC deadlock and needs to be recovered. The recovery method is to ignore the PFC back pressure received by the priority queue, so that the priority queue continues to send messages to the downstream device and the PFC deadlock is released. The recovery time is controlled by software, and the PFC deadlock detection continues after the recovery is completed.

[0074] Although PFC deadlock can cause PFC timeout, not every PFC timeout is caused by deadlock. If the PFC timeout is set improperly, it will cause many deadlock misjudgments.

[0075] According to the adaptive timeout calculation method proposed in the embodiment of the present application, the system periodically polls the PFC back pressure status of each priority queue.

[0076] If a priority queue is detected to have PFC timeouts multiple times, it indicates that the priority queue frequently uses the PFC function. In this case, the PFC timeout may not be caused by deadlock. In this case, the pre-set timeout threshold for the priority queue may be unreasonable and needs to be increased appropriately.

[0077] When the priority queue timeout period is increased, if no PFC timeout occurs in a plurality of consecutive polling cycles, the timeout period can be appropriately reduced to improve the detection accuracy of the PFC deadlock.

[0078] When the PFC timeout period increases to an upper limit, it can be considered that the PFC function of the current priority queue affects the bandwidth of the entire network. The PFC function needs to be disabled and an alarm is sent to the network monitoring device.

[0079] Figure 4 The adaptive PFC timeout calculation method provided by the embodiment of the present application is shown. First, the PFC timeout threshold value th is set, the timeout initial value t is t0, and the attenuation coefficient a(0 <a<1),轮询时间t p , maximum timeout t max The specific steps include:

[0080] Step 1: Determine whether PFC has timed out. If so, proceed to step 2; if not, proceed to step 3.

[0081] Step 2: Update the number of consecutive timeouts n and execute step 3;

[0082] Step 3: Determine whether the polling time reaches t p , if it is reached, go to step 4; if not, go back to step 1;

[0083] Step 4: Determine whether the continuous timeout count n is 0; if yes, execute Step 5; if not, execute Step 6;

[0084] Step 5: Determine whether t×a is less than t0; if yes, set the timeout time t to t0 and return to Step 1; if not, set the timeout time t to t×a th-n and return to Step 1;

[0085] Step 6: Determine whether n is greater than th; if yes, execute Step 7; if not, return to Step 1;

[0086] Step 7: Determine t×a th-n whether it is greater than t max , if yes, turn off the PFC function and generate an alarm; if not, set the timeout time t to t×a th-n and return to Step 1.

[0087] Among them, the initial value of the PFC timeout time t is t0, and the upper limit is t max , after each polling, the PFC timeout time t will be updated. If the upper limit t max is exceeded, it is considered that the PFC function of this priority queue affects the network smoothness, and the PFC function needs to be turned off and an alarm is sent to the network monitoring device.

[0088] Through the adaptive timeout time algorithm proposed in the embodiments of the present application, the PFC deadlock detection time of each priority queue can be flexibly changed, thereby greatly improving the accuracy of deadlock detection and avoiding network congestion and packet loss caused by misjudgment.

[0089] In summary, the embodiments of the present application provide a PFC processing method, which statistically counts the duration of continuously receiving PFC backpressure from downstream devices through a priority queue; if the duration of continuously receiving PFC backpressure from downstream devices exceeds a set time threshold, the received PFC backpressure is ignored and data packets continue to be sent to the downstream device; when the time of continuously ignoring PFC backpressure exceeds the set time threshold, stop ignoring PFC backpressure. The accuracy of deadlock detection is improved, and network congestion and packet loss caused by misjudgment are avoided.

[0090] Based on the same technical concept, the embodiments of the present application also provide a traffic control PFC processing system, as Figure 5 shown, the system includes:

[0091] A duration statistics module 501, configured to statistically count the duration of continuously receiving PFC backpressure from downstream devices by a priority queue for time;

[0092] A deadlock release module 502, configured to, if the duration of continuously receiving PFC backpressure from downstream devices exceeds a set time threshold, ignore the received PFC backpressure and continue to send data packets to the downstream device;

[0093] The recovery module 503 is configured to stop ignoring the PFC backpressure when the time for continuously ignoring the PFC backpressure exceeds the set time threshold.

[0094] In a possible implementation manner, the set time threshold is updated according to the following steps:

[0095] The priority queue polls whether it receives the PFC backpressure from the downstream device in a set period;

[0096] If it receives, it determines whether the duration of continuously receiving the PFC backpressure from the downstream device exceeds the set time threshold;

[0097] If it exceeds, it determines whether the consecutive number of times that the duration of receiving the PFC backpressure from the downstream device is in the timeout state is 0;

[0098] If it is, it determines whether it is less than the initial set time threshold according to the set time threshold and the attenuation coefficient;

[0099] If it is less, it updates the set time threshold according to the initial set time threshold; if it is greater than or equal to, it updates the set time threshold according to the set time threshold, the attenuation coefficient, the PFC timeout count threshold, and the consecutive number of times in the timeout state.

[0100] In a possible implementation manner, for determining whether the consecutive number of times that the duration of receiving the PFC backpressure from the downstream device is in the timeout state is 0, the system is further configured to:

[0101] If it is not 0, it determines whether the consecutive number of times in the timeout state is greater than the PFC timeout count threshold;

[0102] If it is greater, it determines whether it is greater than the maximum timeout time according to the set time threshold, the attenuation system, the PFC timeout count threshold, and the consecutive number of times in the timeout state;

[0103] If it is greater, it closes the PFC function and generates a warning reminder message; if it is less than or equal to, it updates the set time threshold according to the set time threshold, the attenuation coefficient, the PFC timeout count threshold, and the consecutive number of times in the timeout state.

[0104] The present invention also provides an electronic device corresponding to the method provided in the foregoing embodiment. Please refer to Figure 6, which shows a schematic diagram of an electronic device provided by some embodiments of the present application. The electronic device 20 may include: a processor 200, a memory 201, a bus 202, and a communication interface 203. The processor 200, the communication interface 203, and the memory 201 are connected through the bus 202; a computer program that can run on the processor 200 is stored in the memory 201, and when the processor 200 runs the computer program, it executes the method provided by any of the foregoing embodiments of the present application.

[0105] Among them, the memory 201 may include a high-speed random access memory (RAM: Random Access Memory), and may also include a non-volatile memory, such as at least one disk memory. The communication connection between the system network element and at least one other network element is realized through at least one physical port 203 (which can be wired or wireless), and the Internet, wide area network, local area network, metropolitan area network, etc. can be used.

[0106] The bus 202 may be an ISA bus, a PCI bus, an EISA bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. Among them, the memory 201 is used to store a program, and after the processor 200 receives an execution instruction, it executes the program. The method disclosed in any of the foregoing embodiments of the present application can be applied to the processor 200 or implemented by the processor 200.

[0107] The processor 200 may be an integrated circuit chip with the ability to process signals. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in the processor 200 or the instructions in the form of software. The above-mentioned processor 200 may be a general-purpose processor, including a central processing unit (CPU for short), a network processor (NP for short), etc.; it may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. It can implement or execute each method, step, and logic block diagram disclosed in the embodiments of the present application. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as being executed and completed by the hardware decoding processor, or executed and completed by a combination of the hardware and software modules in the decoding processor. The software module may be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. This storage medium is located in the memory 201, and the processor 200 reads the information in the memory 201 and combines its hardware to complete the steps of the above method.

[0108] The electronic device provided by the embodiments of the present application and the method provided by the embodiments of the present application are based on the same inventive concept and have the same beneficial effects as the method adopted, run, or implemented by it.

[0109] The embodiments of the present application also provide a computer-readable storage medium corresponding to the method provided by the foregoing embodiments. Please refer to Figure 7 , which shows that the computer-readable storage medium is an optical disc 30, on which a computer program (i.e., a program product) is stored. When the computer program is run by a processor, it will execute the method provided by any of the foregoing embodiments.

[0110] It should be noted that examples of the computer-readable storage medium may also include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory, or other optical and magnetic storage media, which will not be elaborated here one by one.

[0111] The computer-readable storage medium provided by the above embodiments of the present application and the method provided by the embodiments of the present application are based on the same inventive concept and have the same beneficial effects as the method adopted, run, or implemented by the application program stored in it.

[0112] It should be noted that:

[0113] The algorithms and displays provided herein are not inherently related to any particular computer, virtual apparatus, or other device. A variety of general-purpose apparatuses may also be used in conjunction with the teachings presented herein. The structure required to construct such apparatuses will be apparent from the above description. In addition, the present application is not directed to any particular programming language. It should be understood that the content of the present application described herein can be implemented using a variety of programming languages, and the description of a particular language above is for the purpose of disclosing the best mode of the present application.

[0114] In the specification provided herein, a number of specific details are set forth. However, it is understood that embodiments of the present application may be practiced without these specific details. In some instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of this specification.

[0115] Similarly, it should be understood that in order to streamline the present application and assist in understanding one or more of the various inventive aspects, in the above description of the exemplary embodiments of the present application, the various features of the present application are sometimes grouped together into a single embodiment, figure, or description thereof. However, the disclosed method should not be construed as reflecting an intention that the claimed present application requires more features than are expressly recited in each claim. Rather, as reflected in the following claims, the inventive aspects lie in less than all the features of the single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into the detailed description, with each claim standing on its own as a separate embodiment of the present application.

[0116] Those skilled in the art will appreciate that the modules in the devices in the embodiments can be adaptively changed and disposed in one or more devices different from the embodiments. The modules or units or components in the embodiments can be combined into one module or unit or component, and in addition, they can be divided into multiple sub-modules or sub-units or sub-components. Except for the fact that at least some of such features and / or processes or units are mutually exclusive, any combination can be used to combine all the features disclosed in this specification (including the accompanying claims, abstract, and drawings) and all the processes or units of any method or device so disclosed. Unless otherwise expressly stated, each feature disclosed in this specification (including the accompanying claims, abstract, and drawings) can be replaced by an alternative feature that provides the same, equivalent, or similar purpose.

[0117] In addition, those skilled in the art can understand that although some of the embodiments described herein include certain features included in other embodiments rather than other features, the combination of features of different embodiments means that it is within the scope of this application and forms different embodiments. For example, in the following claims, any one of the claimed embodiments can be used in any combination.

[0118] Each component embodiment of the present application can be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art should understand that a microprocessor or a digital signal processor (DSP) can be used in practice to implement some or all of the functions of some or all of the components in the virtual machine creation device according to the embodiments of the present application. The present application can also be implemented as a device or device program (such as a computer program and a computer program product) for executing part or all of the methods described herein. Such a program for implementing the present application can be stored on a computer-readable medium, or can be in the form of one or more signals. Such signals can be downloaded from an Internet website, or provided on a carrier signal, or provided in any other form.

[0119] It should be noted that the above embodiments illustrate rather than limit the present application, and those skilled in the art can design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in the claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The present application can be implemented by means of hardware including several different elements and by means of a suitably programmed computer. In the unit claims listing several devices, several of these devices can be embodied by the same item of hardware. The use of the words first, second, and third, etc. does not denote any order. These words can be interpreted as names.

[0120] As described above, the above are only the preferred specific embodiments of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions that can be easily thought of by those skilled in the art within the technical scope disclosed by the present application should be covered by the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claimed claims.

Claims

1. A flow control PFC processing method, characterized in that, The method includes: The priority queue counts the duration of continuously receiving PFC backpressure from the downstream device; If the duration of continuously receiving PFC backpressure from the downstream device exceeds the set time threshold, the received PFC backpressure is ignored, and data packets are continuously sent to the downstream device; When the duration of continuously ignoring PFC backpressure exceeds the set time threshold, stop ignoring PFC backpressure; Among them, the set time threshold is updated according to the following steps: The priority queue polls whether it receives PFC backpressure from the downstream device in a set period; if it receives, it judges whether the duration of continuously receiving PFC backpressure from the downstream device exceeds the set time threshold; if it exceeds, it judges whether the consecutive number of times that the duration of receiving PFC backpressure from the downstream device is in the timeout state is 0; if it is 0, calculate the updated time threshold according to the set time threshold and the attenuation coefficient, and judge whether the updated time threshold is less than the initial set time threshold; if it is less than the initial set time threshold, update the set time threshold according to the initial set time threshold; if it is greater than or equal to the initial set time threshold, update the set time threshold according to the set time threshold, the attenuation coefficient, the PFC timeout count threshold, and the consecutive number of times in the timeout state.

2. The method according to claim 1, wherein The priority queue counts the duration of continuously receiving PFC backpressure from the downstream device, including: The priority queue detects whether it receives PFC backpressure sent by the downstream device; When receiving PFC backpressure sent by the downstream device, start counting the duration of continuously receiving PFC backpressure from the downstream device.

3. The method according to claim 1, wherein Regarding the judgment of whether the consecutive number of times that the duration of receiving PFC backpressure from the downstream device is in the timeout state is 0, the method further includes: If it is not 0, judge whether the consecutive number of times in the timeout state is greater than the PFC timeout count threshold; If it is greater than the PFC timeout count threshold, calculate the updated timeout time threshold according to the set time threshold, the attenuation coefficient, the PFC timeout count threshold, and the consecutive number of times in the timeout state, and judge whether the updated timeout time threshold is greater than the maximum timeout time; If it is greater than the maximum timeout time, turn off the PFC function and generate a warning reminder message; if it is less than or equal to the maximum timeout time, update the set time threshold according to the set time threshold, the attenuation coefficient, the PFC timeout count threshold, and the consecutive number of times in the timeout state.

4. The method according to claim 3, wherein After judging whether the consecutive number of times in the timeout state is greater than the PFC timeout count threshold, the method further includes: If it is less than or equal to the PFC timeout count threshold, return to the state where the priority queue polls whether it receives PFC backpressure from the downstream device in a set period.

5. A flow control PFC processing system, characterized in that, The system includes: A duration statistics module, used to time-statistically count the duration of continuously receiving PFC backpressure from the downstream device by the priority queue; A deadlock release module, used to ignore the received PFC backpressure and continue to send data packets to the downstream device if the duration of continuously receiving PFC backpressure from the downstream device exceeds the set time threshold; A recovery module is used to stop ignoring the PFC backpressure when the time of continuously ignoring the PFC backpressure exceeds a set time threshold. The set time threshold is updated according to the following steps: The priority queue polls whether it receives the PFC backpressure from the downstream device in a set period. If it receives, it determines whether the duration of continuously receiving the PFC backpressure from the downstream device exceeds the set time threshold. If it exceeds, it determines whether the consecutive number of times that the duration of receiving the PFC backpressure from the downstream device is in the timeout state is 0. If it is 0, it calculates the updated time threshold according to the set time threshold and the decay coefficient, and determines whether the updated time threshold is less than the initial set time threshold. If it is less than the initial set time threshold, it updates the set time threshold according to the initial set time threshold. If it is greater than or equal to the initial set time threshold, it updates the set time threshold according to the set time threshold, the decay coefficient, the PFC timeout count threshold, and the consecutive number of times in the timeout state.

6. The system according to claim 5, wherein Determining whether the consecutive number of times that the duration of receiving the PFC backpressure from the downstream device is in the timeout state is 0, the system is further used for: If it is not 0, it determines whether the consecutive number of times in the timeout state is greater than the PFC timeout count threshold. If it is greater than the PFC timeout count threshold, it calculates the updated timeout time threshold according to the set time threshold, the decay coefficient, the PFC timeout count threshold, and the consecutive number of times in the timeout state, and determines whether the updated timeout time threshold is greater than the maximum timeout time. If it is greater than the maximum timeout time, it turns off the PFC function and generates a warning reminder message. If it is less than or equal to the maximum timeout time, it updates the set time threshold according to the set time threshold, the decay coefficient, the PFC timeout count threshold, and the consecutive number of times in the timeout state.

7. An electronic device, comprising: A memory, a processor, and a computer program stored on the memory and executable on the processor, wherein when the processor runs the computer program, it is executed to implement the method according to any one of claims 1-4.

8. A computer-readable storage medium, characterized in that, A computer-readable instruction is stored thereon, and the computer-readable instruction can be executed by the processor to implement the method according to any one of claims 1-4.

Citation Information

Patent Citations

  • Flow control anti-deadlock method and device based on priority

    CN113872869A

  • Data transmission method and device

    WO2021043181A1