A method, apparatus and related equipment for handling network congestion

By optimizing forwarding paths from a network-wide perspective through the controller, the problem of insufficient global perspective in congestion control in large AI model training networks is solved, achieving efficient congestion traffic management and improving the throughput and performance of AI training networks.

CN118714084BActive Publication Date: 2026-03-10NEW H3C TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-24
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

In existing technologies, congestion control schemes for large AI model training networks lack a global perspective, which prevents single-switch devices from effectively optimizing forwarding paths, thus reducing the throughput and efficiency of the entire AI training network.

Method used

The controller re-optimizes the routing algorithm based on the network topology and link quality information, selects the optimal forwarding path for congested traffic, and realizes network congestion handling in a coordinated manner between the end network and the network.

Benefits of technology

It enables efficient perception and rapid elimination of traffic from large AI model training tasks, avoiding congestion caused by a single switch and improving the throughput and efficiency of AI training tasks across the entire network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118714084B_ABST
    Figure CN118714084B_ABST
Patent Text Reader

Abstract

This application relates to the field of intelligent computing center technology, and particularly to a network congestion handling method, apparatus, and related equipment. The method is applied to a controller and includes: receiving target flow information reported by a destination end, wherein the target flow information includes the source network address and destination network address of the target flow; after receiving a target packet carrying a congestion flag, the destination end reports the target flow information corresponding to the target packet to the controller; based on the source network address and destination network address of the target flow, the link quality information required by the target flow, the overall network topology, and the link quality of each link, determining a forwarding path for forwarding the target flow; and issuing corresponding forwarding flow tables to each target network device included in the forwarding path, so that each target network device forwards the target flow based on the received forwarding flow tables.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of intelligent computing centers, and in particular to a network congestion processing method and device and related equipment. BACKGROUND

[0002] With the release of various AI (Artificial Intelligence) large models, the demand for intelligent computing centers has rapidly exploded, and a new round of development of artificial intelligence technology has been rapidly launched. The industry is increasingly eager for larger-scale AI model training. This puts new requirements on the performance of data center networks that support basic training. It is necessary to provide high-performance networks with no packet loss, large bandwidth, and high throughput. However, the communication relationship of the AI training task is complex, and the multi-punch traffic model or link HASH (Hash) inequality can cause network congestion.

[0003] Currently, the AI large model training network uses Explicit Congestion Notification (ECN) to perceive and handle congestion of the switch. The destination GPU (Graphics Processing Unit) server perceives congestion when the switch is congested and notifies the source GPU server. After the source GPU server receives the notification, it will reduce the message sending rate to avoid congestion. SUMMARY

[0004] The present application provides a network congestion processing method, device and related equipment.

[0005] In a first aspect, the present application provides a network congestion processing method applied to a controller, the method comprising:

[0006] receiving target flow information reported by a destination, wherein the target flow information includes a source network address and a destination network address of the target flow, and the destination reports target flow information corresponding to a target message carrying a congestion mark to the controller after receiving the target message;

[0007] determining a forwarding path for forwarding the target flow based on the source network address and the destination network address of the target flow, link quality information required by the target flow, full-network topology, and link quality of each link;

[0008] respectively issuing corresponding forwarding flow tables to each target network device included in the forwarding path, so that each target network device forwards the target flow based on the received forwarding flow table.

[0009] Optionally, the step of determining the forwarding path for forwarding the target flow based on the source network address and the destination network address of the target flow, the required path quality information of the target flow, the whole network topology and the link quality of each link comprises:

[0010] determining at least one end-to-end path from the source end to the destination end, of which the path quality meets the required path quality of the target flow, based on the whole network topology and the link quality of each link;

[0011] determining the path with the shortest path length in the at least one end-to-end path as the forwarding path for forwarding the target flow.

[0012] Optionally, if the path with the shortest path length in the at least one end-to-end path comprises multiple paths, the step of determining the path with the shortest path length in the at least one end-to-end path as the forwarding path for forwarding the target flow comprises:

[0013] determining the path with the largest residual bandwidth in the path with the shortest path length as the forwarding path for forwarding the target flow.

[0014] Optionally, the target flow is AI large model training task flow, and the step of receiving the target flow information reported by the destination end comprises:

[0015] receiving AI large model training task flow information reported by a destination GPU server network card through a proxy program, wherein the AI large model training task flow information comprises a network address of a source GPU server network card of the AI large model training task and a network address of the destination GPU server network card, and the destination GPU server network card reports the AI large model training task flow information to the controller through the proxy program running on the destination GPU server after receiving the traffic message of the AI large model training task carrying a congestion mark sent by the source GPU server.

[0016] In a second aspect, the present application provides a network congestion processing device applied to a controller, comprising:

[0017] a receiving unit configured to receive target flow information reported by a destination end, wherein the target flow information comprises a source network address and a destination network address of the target flow, and the destination end reports target flow information corresponding to a target message carrying a congestion mark to the controller after receiving the target message;

[0018] a determining unit configured to determine a forwarding path for forwarding the target flow based on the source network address and the destination network address of the target flow, link quality information required by the target flow, a whole network topology and link quality of each link;

[0019] The issuing unit is configured to issue a corresponding forwarding flow table to each target network device included in the forwarding path, so that each target network device forwards the target flow based on the received forwarding flow table.

[0020] Optionally, when determining the forwarding path for forwarding the target flow based on the source network address and the destination network address of the target flow, the required path quality information of the target flow, the whole network topology, and the link quality of each link, the determining unit is specifically configured to:

[0021] determine at least one end-to-end path from the source end to the destination end, of which the path quality meets the required path quality of the target flow, based on the whole network topology and the link quality of each link.

[0022] determine the path with the shortest path in the at least one end-to-end path as the forwarding path for forwarding the target flow.

[0023] Optionally, when the path with the shortest path in the at least one end-to-end path includes multiple paths, the determining unit is specifically configured to:

[0024] determine the path with the largest remaining bandwidth in the path with the shortest path as the forwarding path for forwarding the target flow.

[0025] Optionally, the target flow is AI large model training task traffic, and when receiving the target flow information reported by the destination end, the receiving unit is specifically configured to:

[0026] receive AI large model training task traffic information reported by a destination GPU server network card through a proxy program, wherein the AI large model training task traffic information includes the network address of the source GPU server network card of the AI large model training task and the network address of the destination GPU server network card, and the destination GPU server network card reports the AI large model training task traffic information to the controller through the proxy program running on the destination GPU server after receiving the traffic message of the AI large model training task carrying a congestion mark sent by the source GPU server.

[0027] In a third aspect, an embodiment of the present application provides a network congestion processing apparatus, which comprises:

[0028] a memory configured to store program instructions;

[0029] a processor configured to invoke the program instructions stored in the memory and perform the steps of the method according to any one of the above first aspect.

[0030] In a fourth aspect, the embodiments of the present application further provide a computer readable storage medium storing computer executable instructions for causing a computer to perform the steps of the method of any one of the above first aspect.

[0031] In summary, the network congestion processing method provided by the embodiments of the present application is applied to a controller, and the method comprises: receiving target flow information reported by a destination, wherein the target flow information comprises a source network address and a destination network address of the target flow, and the destination reports target flow information corresponding to a target packet carrying a congestion mark to the controller after receiving the target packet; determining a forwarding path for forwarding the target flow based on the source network address and the destination network address of the target flow, link quality information required by the target flow, a whole network topology, and link quality of each link; and respectively issuing a corresponding forwarding flow table to each target network device included in the forwarding path, so that each target network device forwards the target flow based on the received forwarding flow table.

[0032] By using the network congestion processing method provided by the embodiments of the present application, the controller adjusts the congestion flow from the perspective of the whole network based on end-network cooperation, calculates an optimal forwarding path to distribute to AI large model training task flow, realizes efficient perception and rapid exclusion of congestion flow, and avoids the situation that the sending end of the AI large model training task flow is sent at a low speed due to congestion of a single switch, thereby reducing the overall throughput of the whole network AI large model training task flow. BRIEF DESCRIPTION OF DRAWINGS

[0033] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed in the description of the embodiments of the present application or the prior art will be briefly introduced. Obviously, the drawings in the following description are only some embodiments described in the present application, and other drawings can also be obtained by those skilled in the art based on these drawings.

[0034] Figure 1 A detailed flowchart of a network congestion processing method provided by the embodiments of the present application;

[0035] Figure 2 A controller intelligent routing process schematic diagram provided by the embodiments of the present application;

[0036] Figure 3 An end-network cooperation network congestion active perception and forwarding path dynamic optimization architecture diagram provided by the embodiments of the present application;

[0037] Figure 4 An end-network cooperation network congestion active perception and forwarding path dynamic optimization control flowchart provided by the embodiments of the present application;

[0038] Figure 5 A structural schematic diagram of a network congestion processing device provided by an embodiment of the present application is shown in FIG. 1.

[0039] Figure 6 A hardware architecture schematic diagram of a network congestion processing device provided by an embodiment of the present application is shown in FIG. 2. DETAILED DESCRIPTION

[0040] The terms used in the embodiments of the present application are merely for the purpose of describing particular embodiments and are not intended to limit the present application. The singular forms "a," "an," and "the" used in the present application and claims are intended to include plural forms, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in the present application refers to any or all possible combinations of one or more associated listed items.

[0041] It should be understood that although the terms first, second, third, etc. can be used in the embodiments of the present application to describe various information, these information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, the first information can also be referred to as the second information, and similarly, the second information can also be referred to as the first information, without departing from the scope of the present application. In addition, the word "if" used in the present application can be interpreted as "when" or "upon" or "in response to determining" depending on the context.

[0042] Currently, the ECN-based congestion control scheme is to inform the sending end GPU server to reduce the sending rate of the message through the CNP message, so as to alleviate the congestion. This mechanism of reducing the sending rate of the sending end message is a congestion processing method based on the perspective of a single device. From the perspective of the entire AI training network, there are multiple paths to the destination GPU server. The single switch device lacks the perspective of the entire network and lacks the means of global forwarding path optimization, and reduces the throughput of the entire AI training network and the efficiency and performance of the AI training.

[0043] The embodiments of the present application provide a scheme for processing network congestion in cooperation with the end network. From the global perspective, the controller re-optimizes the routing algorithm for the congestion flow by accurately collecting the network topology, path, and bandwidth occupation, and re-selects the optimized forwarding path for the congestion flow, thereby achieving high throughput of the entire network.

[0044] For example, referring to FIG. 3, a detailed flowchart of a network congestion processing method provided by an embodiment of the present application is shown. The method is applied to a controller, and the method includes the following steps: Figure 1

[0045] Step 100: receiving target flow information reported by a destination end. ​

[0046] In the embodiment of the present application, after the destination terminal receives the target message carrying the congestion mark, the destination terminal reports the target flow information corresponding to the target message to the controller.

[0047] An artificial intelligence data center (AIDC) is the main computing power production center in the era of wisdom. It takes a fusion architecture computing system as a platform and data as resources, can drive AI models to process data deeply with strong computing power, and continuously generate various wisdom computing services, and supply them to organizations and individuals in the form of cloud services through the network.

[0048] The source terminal and the destination terminal are GPU servers that perform AI large model training tasks. The source terminal and the destination terminal transmit AI large model training task flow through networking. At this time, the AI large model training task can be a task of training AI large model text / speech / picture / video recognition or generating functions.

[0049] In the embodiment of the present application, in the AI large model training task scenario, the destination GPU server network card reports AI large model training task flow information through the proxy program, wherein the AI large model training task flow information includes the network address of the source GPU server network card of the AI large model training task and the network address of the destination GPU server network card. After the destination GPU server network card receives the AI large model training task flow message carrying the congestion mark sent by the source GPU server, the destination GPU server network card reports the AI large model training task flow information to the controller through the proxy program running on the destination GPU server.

[0050] In the embodiment of the present application, when the destination GPU server network card receives the AI large model training task flow message sent by the source GPU server through networking, the destination GPU server network card can identify whether the flow message carries a congestion mark (such as an ECN=11 flow message). If it is determined that an AI large model training task flow message carries a congestion mark, the flow corresponding to the session information is reported to the controller (such as a software defined network (SDN) controller) of the networking. The session information corresponding to one flow reported to the controller can include the source network address (such as an IP address) of the flow, the destination network address (such as an IP address), the source QP (Queue Pair), the destination QP, and the ECN number.

[0051] In actual application, the GPU server network card collects the traffic information of the ECN=11 marked packet and notifies the agent (agent program) running on the GPU server through the RestAPI mode, and the agent reports to the controller through the RestAPI mode.

[0052] Step 110: Based on the source network address and the destination network address of the target flow included in the target flow information, the link quality information required by the target flow, the whole network topology and the link quality of each link, a forwarding path for forwarding the target flow is determined.

[0053] In actual application, the forwarding path can include M target network devices in the network and a plurality of target links composed of the M target network devices.

[0054] In the embodiment of the application, the controller pre-collects the whole network topology, links, and the bandwidth occupation of each link through a preset protocol (for example, SNMP (Simple Network Management Protocol), telemetry (a network device monitoring technology)). The user can also configure the link quality information (for example, the required bandwidth size) required by each AI large model training task in the controller. Then, the controller can determine a forwarding path for forwarding the target flow according to the source network address and the destination network address of the target flow, the bandwidth size required by the target flow, the whole network topology information and the residual available bandwidth size of each link. The forwarding path is composed of a plurality of links.

[0055] In the embodiment of the application, when the forwarding path for forwarding the target flow is determined based on the source network address and the destination network address of the target flow included in the target flow information, the path quality information required by the target flow, the whole network topology and the link quality of each link, a preferable implementation manner is as follows:

[0056] Based on the whole network topology and the link quality of each link, at least one end-to-end path from the source end to the destination end is determined, in which the path quality meets the path quality required by the target flow. The path with the shortest path in the at least one end-to-end path is determined as the forwarding path for forwarding the target flow.

[0057] Specifically, the controller finds all paths that meet the bandwidth requirement from the source end to the destination end except the current congested path according to the source IP address and the destination IP address of the target flow in combination with the network topology and the link information. Then, the path with the least number of network devices (switching devices) passed through from the source end (source GPU server) to the destination end (destination GPU server) is selected from the found all paths. That is, the forwarding path for forwarding the target flow is determined from the shortest path.

[0058] Further, if the shortest path in the at least one end-to-end path includes multiple paths, when the shortest path in the at least one end-to-end path is determined as the forwarding path for forwarding the target flow, a preferred implementation is:

[0059] The path with the largest remaining bandwidth in the shortest path is determined as the forwarding path for forwarding the target flow.

[0060] For example, the finally selected shortest path includes path 1 and path 2, and the remaining available bandwidth of path 1 is greater than that of path 2, then path 1 can be determined as the forwarding path for forwarding the target flow.

[0061] Step 120: respectively issuing corresponding forwarding flow tables to each target network device included in the forwarding path, so that each target network device forwards the target flow based on the received forwarding flow table.

[0062] Specifically, the controller determines the network devices included in the selected path, and then generates and issues corresponding forwarding table entries to each network device respectively. The forwarding priority of the flow table forwarding is higher than that of the route forwarding. Then, each network device forwards the target flow based on the forwarding table entry received from the controller.

[0063] In actual application, one forwarding flow table can include the source network address, the destination network address, the out-interface and the next-hop device information of the target flow.

[0064] For example, assuming that the selected path includes network device 1, network device 2 and network device 3, a corresponding forwarding table entry 1 is generated for network device 1, the matching item of the forwarding table entry 1 includes the source IP address and the destination IP address, and the execution item includes the out-interface information directly connected with network device 2 and the next-hop device network device 2. Similarly, a corresponding forwarding table entry 2 is generated for network device 2, the matching item of the forwarding table entry 2 includes the source IP address and the destination IP address, and the execution item includes the out-interface information directly connected with network device 3 and the next-hop device network device 3. Network device 3 is directly connected with the destination GPU server, a corresponding forwarding table entry 3 is generated for network device 3, the matching item of the forwarding table entry 3 includes the source IP address and the destination IP address, and the execution item includes the out-interface information directly connected with the destination GPU server and can not include the next-hop device information.

[0065] The network device 1 receives the target flow packet, matches the source IP address and the destination IP address of the target flow packet with the locally maintained forwarding flow table, determines that the forwarding table item 1 is matched, the corresponding outgoing interface is the interface directly connected with the network device 2, sends the target flow packet to the network device 2 from the interface directly connected with the network device 2, the network device 2 receives the target flow packet, still matches the source IP address and the destination IP address of the target flow packet with the locally maintained forwarding flow table, determines that the forwarding table item 2 is matched, the corresponding outgoing interface is the interface directly connected with the network device 3, sends the target flow packet to the network device 3 from the interface directly connected with the network device 3, the network device 3 receives the target flow packet, still matches the source IP address and the destination IP address of the target flow packet with the locally maintained forwarding flow table, determines that the forwarding table item 3 is matched, the corresponding outgoing interface is the interface directly connected with the destination GPU server, sends the target flow packet to the destination GPU from the interface directly connected with the destination GPU server.

[0066] For example, referring to Figure 2 The controller intelligent routing process provided by the embodiment of the application is shown in the figure, and includes the following steps:

[0067] Step 1: Determine the source IP and the destination IP of the traffic causing congestion.

[0068] Step 2: Find multiple reachable paths from the source IP to the destination IP based on the network topology and link information.

[0069] Step 3: Eliminate the reachable paths currently carrying the congested traffic, and find the reachable paths meeting the bandwidth requirement of the congested traffic from the multiple reachable paths.

[0070] Step 4: Select the shortest path from the reachable paths.

[0071] Step 5: Determine whether there are multiple shortest paths; if yes, execute Step 6; otherwise, execute Step 7.

[0072] Step 6: Find the shortest path with the largest remaining bandwidth, and then execute Step 7.

[0073] Step 7: Determine the found shortest path as the target path to be optimized.

[0074] The controller intelligent routing process provided by the embodiment of the application is described in detail in combination with a specific application scenario. For example, referring to Figure 3As shown in the figure, an end-network cooperation network congestion active sensing and forwarding path dynamic optimization architecture provided by the embodiment of the present application is shown. Specifically, on the end side (GPU server side): the GPU server network card collects ECN=11 marked message information and reports it to the SDN controller; on the network side (SDN controller side): the SDN controller reselects the optimal forwarding path for the congested traffic based on an intelligent routing algorithm. The end side and the network side realize end-network cooperation.

[0075] Specifically, in the embodiment of the present application, the detailed process of processing network congestion by end-network cooperation is shown in detail in Figure 4 As shown in the figure, an example is shown in Figure 4 As shown in the figure, an end-network cooperation network congestion active sensing and forwarding path dynamic optimization control flowchart provided by the embodiment of the present application is shown. Specifically, it includes:

[0076] 1. Whole network information collection: the SDN controller collects whole network topology, links, and bandwidth occupation of each link by SNMP and telemetry technology.

[0077] 2. Congestion traffic sensing: the RoCEv2 network card of the GPU server can collect ECN=11 marked message information, including source IP, destination IP, source QP, destination QP, and ECN quantity.

[0078] 3. Congestion traffic corresponding session information reporting: the RoCEv2 network card notifies the collected ECN=11 marked message information (including source IP, destination IP, source QP, destination QP, and ECN quantity) to the Agent through RestAPI, and the Agent reports it to the SDN controller through RestAPI.

[0079] In the embodiment of the present application, the Agent refers to an application program running on the GPU server, which is responsible for communication with the GPU network card, receives the information notified by the network card, and then reports it to the SDN controller. The Agent can also transfer the configuration of the SDN controller to the network card through the Agent, so as to deliver it to the network card.

[0080] 4. Controller re-optimizing forwarding path: the SDN controller reselects the end-to-end optimized forwarding path for the congested traffic based on the global view of the whole network topology, links, and bandwidth occupation of each link as the input of the intelligent routing algorithm.

[0081] 5. New path configuration information issuing: the SDN controller issues the newly selected routing configuration information to the network device (such as a switch) corresponding to the forwarding path through the TafficMatrix flow table. Since the TafficMatrix flow table has higher forwarding priority than routing forwarding, after optimization, the network device preferentially forwards according to the path corresponding to the TafficMatrix flow table.

[0082] In the embodiments of the present application, the TafficMatrix flow table refers to a technology for guiding traffic forwarding provided by a network device (such as a switch) based on an ACL (Access Control Lists) resource for the intelligent center construction, and is superior to route forwarding.

[0083] Based on the same inventive concept as the above-mentioned embodiments, an exemplary structure of a network congestion processing device provided by the present application is shown in FIG. 1, which is applied to a controller and includes: Figure 5

[0084] The receiving unit 50 is configured to receive target flow information reported by a destination, wherein the target flow information includes a source network address and a destination network address of the target flow, and the destination reports target flow information corresponding to a target packet carrying a congestion mark to the controller after receiving the target packet.

[0085] The determining unit 51 is configured to determine a forwarding path for forwarding the target flow based on the source network address and the destination network address of the target flow, link quality information required by the target flow, a whole network topology, and link quality of each link.

[0086] The issuing unit 52 is configured to issue a corresponding forwarding flow table to each target network device included in the forwarding path, so that each target network device forwards the target flow based on the received forwarding flow table.

[0087] Optionally, when the determining unit 51 determines the forwarding path for forwarding the target flow based on the source network address and the destination network address of the target flow, path quality information required by the target flow, a whole network topology, and link quality of each link, the determining unit 51 is specifically configured to:

[0088] determine at least one end-to-end path from a source end to the destination end, in which the path quality meets the path quality required by the target flow, based on the whole network topology and the link quality of each link.

[0089] determine a path with the shortest path in the at least one end-to-end path as the forwarding path for forwarding the target flow.

[0090] Optionally, when the determining unit 51 determines the forwarding path for forwarding the target flow based on the at least one end-to-end path with the shortest path, if the at least one end-to-end path with the shortest path includes a plurality of paths, the determining unit 51 is specifically configured to:

[0091] determine a path with the largest remaining bandwidth in the at least one end-to-end path with the shortest path as the forwarding path for forwarding the target flow.​

[0092] Optionally, the target flow is AI large model training task flow; when receiving the target flow information reported by the destination end, the receiving unit 50 is specifically configured to:

[0093] The AI large model training task flow information reported by the destination GPU server network card through the agent program, wherein the AI large model training task flow information includes the network address of the source GPU server network card of the AI large model training task and the network address of the destination GPU server network card; after the destination GPU server network card receives the traffic packet of the AI large model training task carrying the congestion mark sent by the source GPU server, the destination GPU server network card reports the AI large model training task flow information to the controller through the agent program running on the destination GPU server.

[0094] The above units can be one or more integrated circuits configured to implement the above methods, such as one or more application specific integrated circuits (ASICs), or one or more digital signal processors (DSPs), or one or more field programmable gate arrays (FPGAs), etc. For example, when a certain unit above is implemented in the form of a processing element scheduling code, the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processor that can invoke program code. For another example, the units can be integrated together to implement in the form of a system on a chip (SOC).

[0095] Further, the network congestion processing apparatus provided by the embodiments of the present application is from the hardware layer, and a hardware architecture diagram of the network congestion processing apparatus can be seen from Figure 6 As shown in the figure, the network congestion processing apparatus can include a memory 60 and a processor 61,

[0096] The memory 60 is used to store program instructions; the processor 61 invokes the program instructions stored in the memory 60, and executes the above method embodiments according to the obtained program instructions. The specific implementation and technical effects are similar, and will not be repeated here.

[0097] Optionally, the present application also provides a controller comprising at least one processing element (or chip) for executing the above method embodiments.

[0098] Optionally, the present application also provides a program product, for example, a computer readable storage medium, which stores computer executable instructions for causing the computer to execute the above method embodiments.

[0099] Here, the machine readable storage medium can be any electronic, magnetic, optical, or other physical storage device that contains or stores information, such as executable instructions, data, etc. For example, the machine readable storage medium can be a RAM (Random Access Memory), a volatile memory, a non-volatile memory, a flash memory, a storage drive (such as a hard drive), a solid state drive, any type of storage disk (such as a floppy disk, a DVD, etc.), or similar storage medium, or a combination thereof.

[0100] The systems, apparatuses, modules or units illustrated by the above embodiments can be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, and the specific form of the computer can be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an e-mail device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0101] For the convenience of description, the above apparatuses are described in various units by functions respectively when described. Of course, the functions of the units can be implemented in one or more software and / or hardware in the implementation of the present application.

[0102] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the embodiments of the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, a disk storage, a CD-ROM, an optical storage, etc.) containing computer-usable program code.

[0103] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of the flows and / or blocks in the flowcharts and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing apparatus to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing apparatus produce the functions described in the flowcharts and / or block diagrams for implementing the flows and / or blocks in the flowcharts and / or block diagrams. Figure 1One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0104] Furthermore, these computer program instructions can also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in the process. Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0105] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0106] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.

Claims

1. A network congestion handling method, characterized by, The method is applied to a controller and comprises the following steps: receiving target flow information reported by a destination, wherein the target flow information comprises a source network address and a destination network address of the target flow, and the destination reports target flow information corresponding to a target packet carrying a congestion mark to the controller after receiving the target packet; determining a forwarding path for forwarding the target flow based on the source network address and the destination network address of the target flow, required link quality information of the target flow, a whole network topology, and link quality of each link, wherein the required link quality information of the target flow is a required bandwidth size of the target flow, and the link quality of each link is a residual available bandwidth size of each link; respectively issuing a corresponding forwarding flow table to each target network device included in the forwarding path, so that each target network device forwards the target flow based on the received forwarding flow table.

2. The method of claim 1, wherein, The step of determining a forwarding path for forwarding the target flow based on the source network address and the destination network address of the target flow, required path quality information of the target flow, a whole network topology, and link quality of each link comprises the following steps: determining at least one end-to-end path from a source end to the destination, wherein the path quality of the at least one end-to-end path meets the required path quality of the target flow based on the whole network topology and the link quality of each link; determining a path with the shortest path length in the at least one end-to-end path as the forwarding path for forwarding the target flow.

3. The method of claim 2, wherein, If the path with the shortest path length in the at least one end-to-end path comprises multiple paths, the step of determining a path with the shortest path length in the at least one end-to-end path as the forwarding path for forwarding the target flow comprises the following steps: determining a path with the largest residual bandwidth in the path with the shortest path length as the forwarding path for forwarding the target flow.

4. The method according to any one of claims 1 to 3, characterized in that, The target flow is AI large model training task flow. The step of receiving target flow information reported by a destination comprises the following steps: receiving AI large model training task flow information reported by a destination GPU server network card through an agent program, wherein the AI large model training task flow information comprises a network address of a source GPU server network card of the AI large model training task and a network address of the destination GPU server network card, and the destination GPU server network card reports the AI large model training task flow information to the controller through the agent program running on the destination GPU server after receiving a traffic packet of the AI large model training task carrying a congestion mark sent by the source GPU server.

5. A network congestion handling apparatus characterized by comprising: The device is applied to a controller and comprises the following units: a receiving unit, configured to receive target flow information reported by a destination, wherein the target flow information comprises a source network address and a destination network address of the target flow, and the destination reports target flow information corresponding to a target packet carrying a congestion mark to the controller after receiving the target packet; determining, based on source and destination network addresses of the target flow, link quality information required by the target flow, a global network topology, and link quality of each link, a forwarding path for forwarding the target flow, wherein the link quality information required by the target flow is a bandwidth size required by the target flow, and the link quality of each link is a remaining available bandwidth size of the link; a sending unit configured to send, to each target network device included in the forwarding path, a corresponding forwarding flow table, so that each target network device forwards the target flow based on the received forwarding flow table.

6. The apparatus of claim 5, wherein, In determining the forwarding path for forwarding the target flow based on source and destination network addresses of the target flow, path quality information required by the target flow, a global network topology, and link quality of each link, the determining unit is specifically configured to: determine, based on the global network topology and the link quality of each link, at least one end-to-end path from a source end to a destination end, the path quality of which meets the path quality required by the target flow; and determine, as the forwarding path for forwarding the target flow, a path with the shortest path length in the at least one end-to-end path.

7. The apparatus of claim 6, wherein, If the path with the shortest path length in the at least one end-to-end path includes multiple paths, the determining unit is specifically configured to: determine, as the forwarding path for forwarding the target flow, a path with the largest remaining bandwidth in the path with the shortest path length.

8. The device of any one of claims 5-7, wherein, The target flow is AI large model training task traffic, and the receiving unit is specifically configured to: receive AI large model training task traffic information reported by a destination GPU server network card through a proxy program, wherein the AI large model training task traffic information includes a network address of a source GPU server network card of the AI large model training task and a network address of the destination GPU server network card, and the destination GPU server network card reports the AI large model training task traffic information to the controller through the proxy program running on the destination GPU server after receiving traffic packets of the AI large model training task carrying a congestion flag sent by the source GPU server.

9. A network congestion handling apparatus characterized by comprising: The network congestion processing apparatus includes: a memory configured to store program instructions; a processor configured to invoke the program instructions stored in the memory and perform steps of the method according to any one of claims 1-4 according to the obtained program instructions.

10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer executable instructions for causing the computer to perform steps of the method according to any one of claims 1-4. The computer readable storage medium stores computer executable instructions for causing the computer to perform steps of the method according to any one of claims 1-4.

Citation Information

Patent Citations

  • Method for realizing path calculation of multi-domain cloud network based on closed-loop congestion feedback and detection

    CN117811991A

  • Shortest first longer next routing with congestion reduction

    US9473408B1