Network congestion handling method, apparatus, and device
AssigneeHuawei Technologies Co., Ltd.
InventorsTianyang Ma, Xuelian Deng, Tianxiang Chen
Life of this patent
Estimating the term…
Abstract
A network congestion handling method is provided. The method is applied to an HPC cluster including a plurality of hosts, and the plurality of hosts are connected via a network device. A transmit end obtains a first acknowledgment message including a network congestion scenario identifier. The network congestion scenario identifier is an identifier indicating a scenario in which network congestion occurs in a process in which the transmit end transmits data to a receive end, and the transmit end and the receive end are any two hosts in the plurality of hosts. Then, the transmit end adjusts a data sending rate of the transmit end based on the network congestion scenario identifier.
Claims20
A method, applied to a high-performance computing (HPC) cluster, the HPC cluster comprising a plurality of hosts, the plurality of hosts being connected via at least one network device, and the method comprising:
- obtaining, by a transmit end, a first acknowledgment message, wherein the first acknowledgment message comprises a network congestion scenario identifier, the network congestion scenario identifier indicates a scenario in which network congestion is occurring in a process in which the transmit end transmits data to a receive end, and the transmit end and the receive end are comprised in the plurality of hosts;
- and
- adjusting, by the transmit end, a data sending rate of the transmit end based on the network congestion scenario identifier;
- and
- wherein the network congestion scenario identifier indicates that network congestion occurs at the receive end, a data flow transmitted by the transmit end to the receive end comprises at least one first-type data flow and at least one second-type data flow, the network congestion scenario identifier comprises a congestion factor, the congestion factor is calculated based on the at least one first-type data flow having a first weight, the at least one second-type data flow having a second weight, a length of a first flow table for the at least one first-type data flow, and a length of a second flow table for the at least one second-type data flow, and wherein the first-type data flow and the second-type data flow have different lengths;
- and
- wherein the congestion factor is equal to a sum of the length of the first flow table multiplied by the first weight and the length of the second flow table multiplied by the second weight, the length of the first flow table is a quantity of data flows recorded in the first flow table, and the length of the second flow table is a quantity of data flows recorded in the second flow table;
- and
- wherein the first flow table records a plurality of flows having a length larger than a threshold, the second flow table records a plurality of flows having a length smaller than the threshold, and the first weight is determined based on a difference between the threshold and an average length of the plurality of flows having the length larger than the threshold.
A method, applied to a high-performance computing (HPC) cluster, the cluster comprising a plurality of hosts, the plurality of hosts being connected via at least one network device, and the method comprising:
- obtaining, by a receive end, a common transmission path network congestion identifier or a data receiving rate, wherein the common transmission path network congestion identifier indicates that network congestion is occurring on a common transmission path in a process of transmitting data from a transmit end to the receive end, and the transmit end and the receive end are comprised in the plurality of hosts;
- determining, by the receive end, a network congestion scenario based on the common transmission path network congestion identifier or the data receiving rate;
- and
- sending, by the receive end, a first acknowledgment message to the transmit end, wherein the first acknowledgment message comprises a network congestion scenario identifier, and the network congestion scenario identifier indicates a scenario in which network congestion is occurring in the process of transmitting data from the transmit end to the receive end;
- and
- wherein the network congestion scenario identifier indicates that network congestion occurs at the receive end, a data flow transmitted by the transmit end to the receive end comprises at least one first-type data flow and at least one second-type data flow, the network congestion scenario identifier comprises a congestion factor, the congestion factor is calculated based on the at least one first-type data flow having a first weight, the at least one second-type data flow having a second weight, a length of a first flow table for the at least one first-type data flow, and a length of a second flow table for the at least one second-type data flow, and wherein the at least one first-type data flow and the at least one second-type data flow have different lengths;
- and
- wherein the congestion factor is equal to a sum of the length of the first flow table multiplied by the first weight and the length of the second flow table multiplied by the second weight, the length of the first flow table is a quantity of data flows recorded in the first flow table, and the length of the second flow table is a quantity of data flows recorded in the second flow table;
- and
- wherein the first flow table records a plurality of flows having a length larger than a threshold, the second flow table records a plurality of flows having a length smaller than the threshold, and the first weight is determined based on a difference between the threshold and an average length of the plurality of flows having the length larger than the threshold.
A high-performance computing cluster, comprising:
- a plurality of hosts connected via at least one network device, the plurality of hosts comprising a receive end and a transmit end;
- wherein the receive end is configured to:
- obtain a common transmission path network congestion identifier or a data receiving rate, wherein the common transmission path network congestion identifier indicates that network congestion is occurring on a common transmission path in a process of transmitting data from the transmit end to the receive end, and the transmit end and the receive end are comprised in the plurality of hosts;
- determine a network congestion scenario based on the common transmission path network congestion identifier or the data receiving rate;
- and
- send a first acknowledgment message to the transmit end, wherein the first acknowledgment message comprises a network congestion scenario identifier, and the network congestion scenario identifier indicates a scenario in which network congestion is occurring in the process of transmitting data from the transmit end to the receive end;
- and
- wherein the transmit end is configured to:
- obtain the first acknowledgment message;
- and
- adjust a data sending rate of the transmit end based on the network congestion scenario identifier;
- and
- wherein the network congestion scenario identifier indicates that network congestion occurs at the receive end, a data flow transmitted by the transmit end to the receive end comprises at least one first-type data flow and at least one second-type data flow, the network congestion scenario identifier comprises a congestion factor, the congestion factor is calculated based on the at least one first-type data flow having a first weight, the at least one second-type data flow having a second weight, a length of a first flow table for the at least one first-type data flow, and a length of a second flow table for the at least one second-type data flow, and wherein the at least one first-type data flow and the at least one second-type data flow have different lengths;
- and
- wherein the congestion factor is equal to a sum of the length of the first flow table multiplied by the first weight and the length of the second flow table multiplied by the second weight, the length of the first flow table is a quantity of data flows recorded in the first flow table, and the length of the second flow table is a quantity of data flows recorded in the second flow table;
- and
- wherein the first flow table records a plurality of flows having a length larger than a threshold, the second flow table records a plurality of flows having a length smaller than the threshold, and the first weight is determined based on a difference between the threshold and an average length of the plurality of flows having the length larger than the threshold.
Dependencies are inferred from the claim text.