Flow forwarding method and device

By utilizing the forwarding engine and processor in the AI ​​large-model network, the flow statistics information are merged and the flow characteristic information is released, the traffic congestion problem caused by the periodic ups and downs of traffic in the AI ​​large-model network is solved, and the stability of the network is improved. efficiency.

CN119182720AActive Publication Date: 2024-12-24NEW H3C TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202410864610.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-06-28
Publication Date
2024-12-24
Estimated Expiration
2044-06-28

AI Technical Summary

Technical Problem

Due to the periodic fluctuation of traffic in AI large-scale networks, traffic collisions and congestion are prone to traffic collisions and congestion, resulting in traffic in actual networks being easily congested.

Method used

The forwarding engine reports flow statistics to the processor when specific conditions are met. The processor combines flow statistics based on the first packet timestamp and the tail packet timestamp, determines the periodic information of the flow, and transfers the flow characteristic information of the downlink port of the spine node. Publish to the leaf node so that the leaf node can perform upstream data flow scheduling and optimize traffic distribution.

Benefits of technology

It effectively reduces the probability of traffic congestion in AI large-scale networks and improves the stability and efficiency of the network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119182720A_ABST
    Figure CN119182720A_ABST
Patent Text Reader

Abstract

The invention provides a flow forwarding method and device, and the method comprises the steps: a forwarding engine reports flow statistical information to a processor under the condition of determining that an information reporting condition is satisfied; for the stream statistical information including the same stream identification information, the processor performs merging processing on the stream statistical information of which the interval duration meets a preset merging condition according to the first packet timestamp and the tail packet timestamp; the processor determines the period information of the flow according to the flow statistical information after combination processing; and the processor determines flow feature information of a downlink port of the spine node according to the period information of the flow, and issues the flow feature information of the downlink port of the spine node to a leaf node, so that the leaf node performs uplink data flow scheduling according to the flow feature information of the downlink port of the spine node. By applying the embodiment of the invention, the probability of traffic congestion in the AI large model network can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of AI (artificial intelligence) large models and network communication technology, and in particular to a traffic forwarding method and device. Background Art

[0002] AI large model network refers to the computing and communication infrastructure that supports the training and operation of large-scale artificial intelligence models.

[0003] The AI ​​large model network has the characteristics of periodic fluctuations in traffic and large data traffic. Therefore, traffic collisions are prone to occur in actual networking.

[0004] For example, when multiple computing nodes send traffic to the computing nodes under the same Leaf node at the same time, traffic collision is likely to occur at the downstream port where the Spine node connects to the Leaf node, causing traffic congestion.

[0005] How to reduce the probability of traffic congestion in large AI model networks has become a technical problem that needs to be solved urgently. Summary of the invention

[0006] The present invention provides a traffic forwarding method and device to solve the problem of traffic congestion that is prone to occur in existing AI large model networks.

[0007] According to a first aspect of an embodiment of the present invention, a traffic forwarding method is provided, including:

[0008] The forwarding engine reports the flow statistics information to the processor when determining that the information reporting conditions are met; wherein, for any flow statistics information reported by the forwarding engine, the flow statistics information includes flow identification information, first packet timestamp, last packet timestamp and message byte count;

[0009] For the flow statistics information including the same flow identification information, the processor merges the flow statistics information whose interval duration meets the preset merging condition according to the first packet timestamp and the last packet timestamp;

[0010] The processor determines the cycle information of the flow according to the combined flow statistics information; wherein the cycle information of the flow includes the cycle duration of the flow, the flow interval duration of adjacent cycles, and the flow rate within the cycle;

[0011] The processor determines the flow characteristic information of the downstream port of the spine node based on the cycle information of the flow, and publishes the flow characteristic information of the downstream port of the spine node to the leaf node, so that the leaf node schedules the upstream data flow based on the flow characteristic information of the downstream port of the spine node; wherein the flow characteristic information includes the flow creation time and the flow cycle information.

[0012] According to a second aspect of an embodiment of the present invention, a traffic forwarding device is provided, including: a processor and a forwarding engine; wherein:

[0013] The forwarding engine is used to report flow statistics information to the processor when it is determined that the information reporting conditions are met; wherein, for any flow statistics information reported by the forwarding engine, the flow statistics information includes flow identification information, first packet timestamp, tail packet timestamp and message byte count;

[0014] The processor is used for merging the flow statistics information including the same flow identification information, and the processor merges the flow statistics information whose interval duration meets the preset merging condition according to the first packet timestamp and the last packet timestamp;

[0015] The processor is further configured to determine the period information of the flow according to the combined flow statistical information; wherein the period information of the flow includes the period duration of the flow, the flow interval duration of adjacent periods, and the flow rate within the period;

[0016] The processor is also used to determine the flow characteristic information of the downstream port of the spine node based on the periodic information of the flow, and publish the flow characteristic information of the downstream port of the spine node to the leaf node, so that the leaf node schedules the upstream data flow based on the flow characteristic information of the downstream port of the spine node; wherein the flow characteristic information includes the flow creation time and the flow periodic information.

[0017] By applying the technical solution disclosed in the present invention, the forwarding engine reports the flow statistics information to the processor when it is determined that the information reporting conditions are met; for the flow statistics information including the same flow identification information, the processor merges the flow statistics information whose interval duration meets the preset merging conditions based on the first packet timestamp and the last packet timestamp, and determines the periodic information of the flow based on the merged flow statistics information. Furthermore, the processor can determine the flow feature information of the downstream port of the spine node based on the periodic information of the flow, and publish the flow feature information of the downstream port of the spine node to the leaf node, so that the leaf node schedules the upstream data flow based on the flow feature information of the downstream port of the spine node, thereby reducing the probability of traffic congestion in the AI ​​large model network. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1 A flow chart of a traffic forwarding method provided by an embodiment of the present invention;

[0019] Figure 2 A schematic diagram of a specific application scenario provided by an embodiment of the present invention;

[0020] Figure 3 A schematic diagram of the structure of a Spine node provided in an embodiment of the present invention;

[0021] Figure 4 A schematic diagram of a flow rate-time curve provided by an embodiment of the present invention;

[0022] Figure 5 A schematic diagram of the structure of a traffic forwarding device provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0023] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present invention and to make the above-mentioned purposes, features and advantages of the embodiments of the present invention more obvious and understandable, the technical solutions in the embodiments of the present invention are further described in detail below in conjunction with the accompanying drawings.

[0024] See also Figure 1 , is a flow chart of a traffic forwarding method provided in an embodiment of the present invention, wherein the traffic forwarding method can be applied to the spine node in the AI ​​large model network based on the Leaf-Spine network architecture, such as Figure 1 As shown, the traffic forwarding method may include the following steps:

[0025] Step S100: When determining that the information reporting conditions are met, the forwarding engine reports the flow statistics information to the processor; wherein, for any flow statistics information reported by the forwarding engine, the flow statistics information includes flow identification information, first packet timestamp, last packet timestamp and message byte count.

[0026] In the embodiment of the present invention, the forwarding engine of the spine node can perform traffic information statistics based on the forwarded traffic.

[0027] When determining that the information reporting condition is met, the forwarding engine may report the flow statistics information to a processor, such as a CPU (Center Process Unit).

[0028] The statistical information of any flow may include but is not limited to flow identification information, first packet timestamp, last packet timestamp, and number of message bytes.

[0029] For a flow, when the flow statistics information is reported for the first time, the first packet timestamp is the timestamp of the first message received for the flow; the last packet timestamp is the timestamp of the last message received before the flow statistics information is reported.

[0030] When the flow statistics information is not reported for the first time, the first packet timestamp is the timestamp of the first packet of the flow received after the last flow statistics information report; the last packet timestamp is the timestamp of the last packet received before the flow statistics information report.

[0031] Optionally, the flow identification information may include quintuple information, such as source IP address, destination IP address, communication protocol, source port number, and destination port number, or the flow identification information may include quintuple information and QP (Queue Pair).

[0032] Step 102: For the flow statistics information including the same flow identification information, the processor merges the flow statistics information whose interval duration meets the preset merging condition according to the first packet timestamp and the last packet timestamp.

[0033] In the embodiment of the present invention, for the flow statistics information reported by the forwarding engine, the processor can merge the flow statistics information of the same flow whose interval duration meets the preset merging condition according to the timestamp in the flow statistics information.

[0034] For example, multiple pieces of flow statistics information in the same period may be identified based on the timestamps in the flow statistics information including the same flow identification information, and then merged.

[0035] Step 103: Determine the period information of the flow according to the combined flow statistics information; wherein the period information of the flow includes the period duration of the flow, the flow interval duration of adjacent periods, and the flow rate within the period.

[0036] In the embodiment of the present invention, the period information of the flow, for example, the period duration of the flow, the flow interval duration between adjacent periods, and the flow rate within the period, can be determined based on the combined flow statistical information.

[0037] Optionally, the cycle duration of the flow may include the traffic sending duration and the idle duration (the idle duration is usually the calculation duration of the computing power node).

[0038] That is, the traffic transmission of computing power nodes usually has a periodic pattern, and generally for a cycle, there will be a part of time used for related calculations and a part of time used for traffic transmission.

[0039] The flow interval duration between adjacent cycles corresponds to the idle time duration in the above cycle.

[0040] The traffic rate within the period can be determined according to the duration of message sending within the period and the number of message bytes within the period.

[0041] Step 104, the processor determines the flow characteristic information of the downstream port of the spine node based on the cycle information of the flow, and publishes the flow characteristic information of the downstream port of the spine node to the leaf node, so that the leaf node schedules the upstream data flow based on the flow characteristic information of the downstream port of the spine node; wherein the flow characteristic information includes the flow creation time and the cycle information of the flow.

[0042] In an embodiment of the present invention, the processor can determine the flow forwarded through the same downstream port based on the local egress port information of the flow, and determine the flow characteristic information of the downstream port of the spine node based on the periodic information of the flow forwarded through the same downstream port.

[0043] Optionally, the flow characteristic information may include flow creation time and flow period information.

[0044] For a downstream port of a spine node, based on the flow feature information of the downstream port of the spine node, it is possible to predict the time periods in which traffic is sent by the downstream port, as well as information such as the traffic rate.

[0045] Accordingly, the processor can publish the flow characteristic information of the downstream port to the Leaf node through the forwarding engine, and the Leaf node can schedule the upstream data flow based on the flow characteristic information of the downstream port of the Spine node, for example, giving priority to using the downstream port that is idle or has a lower traffic rate for the existing data flow.

[0046] It can be seen that in Figure 1 In the method flow shown, the forwarding engine reports the flow statistics information to the processor when it is determined that the information reporting conditions are met; for the flow statistics information including the same flow identification information, the processor merges the flow statistics information whose interval duration meets the preset merging conditions based on the first packet timestamp and the last packet timestamp, and determines the periodic information of the flow based on the merged flow statistics information. Furthermore, the processor can determine the flow feature information of the downstream port of the spine node based on the periodic information of the flow, and publish the flow feature information of the downstream port of the spine node to the leaf node, so that the leaf node schedules the upstream data flow based on the flow feature information of the downstream port of the spine node, thereby reducing the probability of traffic congestion in the AI ​​large model network.

[0047] In order to enable those skilled in the art to better understand the technical solution provided by the embodiment of the present invention, the technical solution provided by the embodiment of the present invention is described below in conjunction with specific application scenarios.

[0048] See also Figure 2 , which is a schematic diagram of a specific application scenario provided by an embodiment of the present invention, such as Figure 2 As shown, in this application scenario, Spine nodes 201-202 are connected through different ports (not in Figure 2 ) are connected to Leaf nodes 301 to 303, and Leaf nodes 301 to 303 are connected through different ports (not shown in Figure 2 As shown in the figure, the leaf nodes are connected to spine nodes 201 to 202, and each leaf node is connected to multiple computing nodes through different ports.

[0049] For example, Figure 2 As shown, Leaf node 301 is connected to computing nodes 3011-3013 through different ports, Leaf node 302 is connected to computing nodes 3021-3023 through different ports, and Leaf node 303 is connected to computing nodes 3031-3033 through different ports.

[0050] In this embodiment, the computing power node can be represented by a GPU (Graphics Processing Unit).

[0051] Exemplarily, the same Spine node can be connected to the same Leaf node through multiple downstream ports.

[0052] In this embodiment, considering that the traffic of the AI ​​large model network has the characteristics of periodic fluctuations and large amount of traffic, the flow characteristic information of the downstream port can be counted based on the forwarding engine in the AI ​​large model network to record the creation time of each flow and the cycle information of the flow. The cycle information of the flow may include: the cycle duration of the flow, the flow interval duration of adjacent cycles, and the flow rate within the cycle.

[0053] The spine node can publish the flow characteristic information of the downstream port to the leaf node. For example, the flow characteristic information of the downstream port can be published to all leaf nodes in the network through the BGP (Border Gateway Protocol).

[0054] The specific implementation of statistics on flow characteristic information is described below.

[0055] Take Spine node 201 as an example. Figure 3 , Spine node 201 includes a forwarding engine 2011 and a CPU 2012 .

[0056] like Figure 3 As shown, the forwarding engine 2011 can forward the traffic 300 according to the traffic 300 forwarding status ( Figure 3 Only the forwarding engine 2011 receives the traffic 300, and does not show the forwarding), and generates flow statistics information.

[0057] Optionally, it may be recorded in the form of an IPFIX (IP Flow Information Export) table, the format of which may be as shown in Table 1.

[0058] Table 1

[0059]

[0060] As shown in Table 1, the flow statistics information uses the five-tuple + QP as the flow identification information, and can record information such as the first packet timestamp, the last packet timestamp, the number of packets, and the number of bytes in the packets.

[0061] It should be noted that, in actual applications, the flow statistics information may include flow identification information including VLAN (Virtual Local Area Network) information and / or VNI (Virtual Network Identifier) ​​information, etc.; the flow statistics information may include flow information and may also include the number of packets, delay related information, such as maximum delay, minimum delay, average delay, jitter and other delay related information.

[0062] For any flow, the forwarding engine 2011 can report the flow statistics information 310 to the CPU 2012 when the duration of the flow reaches a preset reporting cycle duration (which can be set according to actual needs, such as 100ms), or when the interruption duration of the flow exceeds a preset interruption duration threshold (which can be set according to actual needs, such as 20ms). The schematic diagram can be shown as follows: Figure 3 shown.

[0063] Among them, for a flow, if the time difference between the timestamps of adjacent messages of the flow does not exceed the preset interruption duration threshold, it can be determined that the flow is continuous, and then its duration can be counted; if the absolute value of the difference between the time when the message of the flow was last received and the current time exceeds the interruption duration threshold, it can be determined that the flow is interrupted.

[0064] When the CPU 2012 receives the flow statistics information 301 reported by the forwarding engine 2011 , it can query the flow statistics information history records to determine whether there is a flow statistics information history record including the same flow identification information as the flow statistics information 301 .

[0065] If no flow statistics information historical record including the same flow identification information as the flow statistics information 301 is found, a new flow statistics information record can be generated based on the flow statistics information 301 (after the new flow statistics information record is generated, it also becomes a flow statistics information historical record).

[0066] Exemplarily, the storage format of the flow statistics information history record may be as shown in Table 2:

[0067] Table 2

[0068]

[0069] Based on Table 2, it can be seen that the flow identification information in the flow statistics information history record is consistent with the flow identification information in the flow statistics information; in Table 2, multiple flow statistics information history records can be stored in the form of an array, and one flow statistics information history record can correspond to a cycle of the flow.

[0070] For any flow statistics information history record, parameter information such as the first packet timestamp, the last packet timestamp, and the number of bytes in the message may be included. Elements with the same subscript in each parameter information array correspond to the same flow statistics information history record.

[0071] For example, assuming that Start timestamp[] is Start timestamp[T_S1, T_S2, T_S3], and Last timestamp[] is Last timestamp[T_L1, T_L2, T_L3], then T_S1 and T_L1 are the first packet timestamp and the last packet timestamp included in the historical record of the same flow statistics information.

[0072] When a flow statistics information history record including the same flow identification information as the flow statistics information 301 is found, the CPU 2012 may compare the time difference between the first packet timestamp included in the currently received flow statistics information and the last packet timestamp included in the target flow statistics information history record.

[0073] The target flow statistics information historical record is the latest flow statistics information historical record that has the same flow identification information as that included in the flow statistics information 301 .

[0074] The above-mentioned latest flow statistics information historical record refers to the flow statistics information historical record having the smallest time difference between the timestamp of the last packet included and the timestamp of the first packet included in the currently received flow statistics information.

[0075] When the time difference is less than a preset time difference threshold (which can be set according to actual needs, such as 2ms or 5ms, etc.), CPU2012 can merge the currently received flow statistics information with the target flow statistics information history record.

[0076] For example, assuming that the timestamp of the first packet in the currently received flow statistics information is CurRecord.startTime, and the timestamp of the last packet included in the target flow statistics information historical record is PreReCord.lastTime, then when the time difference between CurRecord.startTime and PreReCord.lastTime is less than the preset time difference threshold, the currently received flow statistics information can be merged with the target flow statistics information historical record.

[0077] Among them, when the currently received flow statistical information is merged with the target flow statistical information historical record, the tail packet timestamp in the merged target flow statistical information historical record is the tail packet timestamp in the currently received flow statistical information, and the number of message bytes is the number of original message bytes plus the number of message bytes included in the currently received flow statistical information.

[0078] Exemplarily, the merging process can be represented as follows:

[0079] PreReCord.lastTime=CurRecord.lastTime

[0080] PreReCord.byte+=CurRecord.byte

[0081] Among them, PreReCord.lastTime is the last packet timestamp in the historical record of the merged target flow statistics information, and CurRecord.lastTime is the last packet timestamp in the currently received flow statistics information; "PreReCord.byte+=CurRecord.byte" means that the number of message bytes in the historical record of the merged target flow statistics information is the number of original message bytes plus the number of message bytes (CurRecord.byte) included in the currently received flow statistics information.

[0082] When the time difference is greater than or equal to the preset time difference threshold, a new flow statistics information record is generated according to the currently received flow statistics information.

[0083] The flow identification information, the first packet timestamp, the last packet timestamp, and the number of message bytes included in the new flow statistics information record are all consistent with the relevant information in the currently received flow statistics information.

[0084] Exemplarily, for any flow, the maximum number of flow statistics information history records of the flow stored by CPU2012 can be preset. When a new flow statistics information record needs to be generated and the current flow statistics information history record reaches the maximum number, the previous flow statistics information history record can be overwritten.

[0085] In this embodiment, the CPU 2012 may determine the period information of the flow according to the flow statistics history record.

[0086] Exemplarily, for flow statistics information history records including the same flow identification information, each flow statistics information history record may be sorted according to the first packet timestamp (or last packet timestamp) included in the flow statistics information history record to determine adjacent flow statistics information history records.

[0087] The CPU 2012 may determine the cycle duration of the flow according to the first packet timestamp in the adjacent flow statistics history records including the same flow identification information;

[0088] Determine the flow interval duration of the adjacent cycle according to the timestamp of the last packet in the previous flow statistics history record and the timestamp of the first packet in the next flow statistics history record in the adjacent flow statistics history record;

[0089] The traffic rate within the period is determined based on the first packet timestamp, the last packet timestamp, and the number of message bytes in the same flow statistics history record.

[0090] For example, take single-cycle information statistics.

[0091] For a flow, assuming that the first packet timestamps included in two consecutive flow statistics history records are T_S1 and T_S2 respectively, then the time difference between T_S1 and T_S2 is the cycle length of the flow.

[0092] Assume that the first packet timestamps included in two consecutive flow statistics history records are T_S1 and T_S2 respectively, and the tail packet timestamps are T_L1 and T_L2 respectively, then the time difference corresponding to T_L1 and T_S2 is the flow interval duration of adjacent cycles of the flow.

[0093] Assume that the first packet timestamp and the last packet timestamp included in a flow statistics history record are T_S1 and T_L1 respectively, and the number of message bytes is Byte1. Then the ratio of Byte1 to the time difference corresponding to T_S1 and T_L1 is the traffic rate in the period.

[0094] Optionally, in order to improve the accuracy of determining the cycle duration of the flow, for any flow, when the number of flow statistical information historical records of the flow reaches a preset number (which can be called a first preset number, which can be set according to actual needs, such as 5), the cycle duration of the flow can be determined based on the average value of the time difference corresponding to the first packet timestamps in adjacent flow statistical information historical records in the first preset number of flow statistical information historical records.

[0095] For example, assuming that the historical records of 5 consecutive flow statistics are R1 to R5 respectively, the time difference ΔT12 of the first packet timestamps in R1 and R2, the time difference ΔT23 of the first packet timestamps in R2 and R3, ..., the time difference ΔT45 of the first packet timestamps in R4 and R5 can be determined respectively, and (ΔT12+ΔT23+ΔT34+ΔT45) / 4 can be determined as the cycle duration of the flow.

[0096] It should be noted that, in the embodiment of the present invention, the cycle duration of the flow can be updated according to demand.

[0097] For example, for a flow, when the cycle duration of the flow is determined in the above manner, every time k (k≥1) new flow statistical information historical records are added to the flow, the cycle duration can be determined in the above manner based on the latest flow statistical information historical records, and the cycle duration of the flow can be updated.

[0098] Similarly, similar to the above-mentioned determination of the cycle length, when determining the traffic interval length between adjacent cycles, when the number of flow statistical information historical records of the flow reaches a preset number (which can be called a second preset number, which can be set according to actual needs, such as 5), the traffic interval length between adjacent cycles can be determined based on the timestamp information in the adjacent flow statistical information historical records in the second preset number of flow statistical information historical records.

[0099] Similarly, similar to the above-mentioned determination of the cycle length, when determining the traffic rate within the cycle, the traffic rate within the cycle can also be determined based on the timestamp information and the number of message bytes in the adjacent flow statistical information historical records among the remaining flow statistical information historical records in the third preset number of flow statistical information historical records except the latest flow statistical information historical record when the number of flow statistical information historical records of the flow reaches a preset number (which can be called a third preset number, which can be set according to actual needs, such as 5).

[0100] It should be noted that since determining the traffic rate within a period requires the use of the first packet timestamp and the last packet timestamp within the period, and according to the above-mentioned method of generating the flow statistics information historical record, it can be seen that the latest flow statistics information historical record may not cover a complete period. Therefore, when determining the traffic rate within the period based on the flow statistics information historical record, it can be determined based on non-latest flow statistics information historical records.

[0101] Exemplarily, for any flow of any downstream port, when the cycle information of the flow is determined in the above manner, the active duration of the flow within the cycle can be determined according to the cycle duration of the flow and the traffic interval durations of adjacent cycles.

[0102] For example, the difference between the cycle duration of the flow and the flow interval duration of an adjacent cycle may be determined as the active duration within the cycle of the flow.

[0103] For any flow of any downstream port, the flow rate-time curve of the flow can be determined according to the active duration of the flow within a cycle and the flow rate within the cycle.

[0104] Among them, for a flow, in the flow rate-time curve of the flow, the creation time of the flow is taken as the base time, the flow rate of the active time within the cycle of the flow is the flow rate within the cycle, and the rest of the time outside the active time within the cycle, the flow rate is 0.

[0105] For a flow, the flow creation time may be the time corresponding to the timestamp of the first message of the flow.

[0106] For example, for a flow, when the flow rate is constant, its flow rate-time curve function can be as follows:

[0107] f(t)=((t-baseTime)%periodTime) <activeTime?ratex:0

[0108] Where t is the current time, baseTime is the base time of the flow, periodTime is the period duration of the flow, activeTime is the active duration of the flow within the period; "%" is the modulus operation; ratex is the flow rate within the period.

[0109] The flow rate-time curve corresponding to the above flow rate-time curve function can be found in Figure 4 .

[0110] like Figure 4 As shown, the horizontal axis is the time axis, the vertical axis is the flow rate, t0 is the basic time of the flow, t0~t1, t2~t3 are the active durations of the flow cycle, and t1~t2 is the flow interval duration between adjacent cycles.

[0111] For a downstream port, when the flow rate-time curve of each flow of the downstream port is determined in the above manner, a single port flow profile can be obtained by superimposing multiple flows:

[0112]

[0113] Where n is the total number of downstream flows from a single downstream port, and f i (t) is the flow rate-time curve function of the i-th flow under the downstream port.

[0114] In this embodiment, when the CPU 2012 obtains the traffic profile 320 of the downstream port in the above manner, the traffic profile 320 of the downstream port can be published to the Leaf node through the forwarding engine 2011. The schematic diagram can be as shown in FIG. Figure 3 shown.

[0115] When a leaf node receives a downlink port traffic profile sent by a spine node, it can schedule upstream data flows based on the downlink port traffic profile of the spine node. For example, it can give priority to using downlink ports that are idle or have existing data flows with lower traffic rates.

[0116] In addition, when the flow statistics information also includes delay information, the downstream port traffic profile may also include delay information.

[0117] Accordingly, when the Leaf node is scheduling the upstream data flow, it can also select the downstream port of the Spine node based on the delay information. For example, it may give priority to using the downstream port with smaller delay (such as the smallest maximum delay or the smallest average delay) or the smallest jitter.

[0118] In one example, when a Leaf node is scheduling an upstream data flow, it can give priority to the traffic rate as the selection basis, and give priority to using the downstream ports with lower traffic rates that are idle or have existing data flows; for multiple downstream ports with the same traffic rate or a traffic rate difference that does not exceed a preset threshold, delay can be used as the selection basis.

[0119] See also Figure 5 , is a schematic diagram of the structure of a traffic forwarding device provided in an embodiment of the present invention, wherein the traffic forwarding device can be deployed in the spine node of the above-mentioned AI large model network based on the leaf-spine network architecture, such as Figure 5 As shown, the traffic forwarding device may include: a forwarding engine 510 and a processor 520; wherein:

[0120] The forwarding engine 510 is used to report the flow statistics information to the processor 520 when it is determined that the information reporting conditions are met; wherein, for any flow statistics information reported by the forwarding engine, the flow statistics information includes flow identification information, first packet timestamp, last packet timestamp and message byte count;

[0121] Processor 520, configured to merge the flow statistics information including the same flow identification information, and the processor merges the flow statistics information whose interval duration meets the preset merging condition according to the first packet timestamp and the last packet timestamp;

[0122] The processor 520 is further configured to determine the period information of the flow according to the combined flow statistical information; wherein the period information of the flow includes the period duration of the flow, the flow interval duration of adjacent periods, and the flow rate within the period;

[0123] Processor 520 is also used to determine the flow characteristic information of the downstream port of the spine node based on the cycle information of the flow, and publish the flow characteristic information of the downstream port of the spine node to the leaf node, so that the leaf node schedules the upstream data flow based on the flow characteristic information of the downstream port of the spine node; wherein the flow characteristic information includes the flow creation time and the cycle information of the flow.

[0124] In some embodiments, satisfying the information reporting conditions includes:

[0125] The duration of the same flow reaches the preset reporting period; or,

[0126] The interruption duration of the same flow exceeds the preset interruption duration threshold.

[0127] In some embodiments, the processor 520 performs merging processing on the flow statistics information whose interval duration meets the preset merging condition according to the first packet timestamp and the last packet timestamp, including:

[0128] For the currently received flow statistics information, when it is determined that there is a flow statistics information historical record including the same flow identification information, determine the time difference between the first packet timestamp included in the currently received flow statistics information and the last packet timestamp included in the target flow statistics information historical record; wherein the target flow statistics information historical record is the latest flow statistics information historical record including the same flow identification information;

[0129] When the time difference is less than a preset time difference threshold, the currently received flow statistics information is merged with the target flow statistics information history record;

[0130] When the time difference is greater than or equal to the preset time difference threshold, a new flow statistics information record is generated according to the currently received flow statistics information.

[0131] In some embodiments, the processor 520 determines the period information of the flow according to the combined flow statistics information, including:

[0132] Determine the cycle length of the flow according to the first packet timestamp in the adjacent flow statistics history records including the same flow identification information;

[0133] Determine the flow interval duration of the adjacent cycle according to the timestamp of the last packet in the previous flow statistics history record and the timestamp of the first packet in the next flow statistics history record in the adjacent flow statistics history record;

[0134] The traffic rate within the period is determined based on the first packet timestamp, the last packet timestamp, and the number of bytes in the same flow statistics history.

[0135] In some embodiments, the processor 520 determines the flow characteristic information of the downstream port of the spine node according to the period information of the flow, including:

[0136] For any flow of any downstream port, the active duration of the flow within the cycle is determined according to the cycle duration of the flow and the flow interval duration of adjacent cycles;

[0137] Determine the flow rate-time curve of the flow according to the active duration of the flow within the cycle and the flow rate within the cycle;

[0138] The flow characteristic information of the downstream port is determined according to the flow rate-time curve of each flow of the downstream port.

[0139] The implementation process of the functions and effects of each unit in the above-mentioned device is specifically described in the implementation process of the corresponding steps in the above-mentioned method, and will not be repeated here.

[0140] As for the device embodiment, since it basically corresponds to the method embodiment, the relevant parts may refer to the partial description of the method embodiment.

Claims

1. A traffic forwarding method, characterized in that: include: The forwarding engine reports the flow statistics information to the processor when determining that the information reporting conditions are met; wherein, for any flow statistics information reported by the forwarding engine, the flow statistics information includes flow identification information, first packet timestamp, last packet timestamp and message byte count; For the flow statistics information including the same flow identification information, the processor merges the flow statistics information whose interval duration meets the preset merging condition according to the first packet timestamp and the last packet timestamp; The processor determines the cycle information of the flow according to the combined flow statistics information; wherein the cycle information of the flow includes the cycle duration of the flow, the flow interval duration of adjacent cycles, and the flow rate within the cycle; The processor determines the flow characteristic information of the downstream port of the spine node based on the periodic information of the flow, and publishes the flow characteristic information of the downstream port of the spine node to the leaf node, so that the leaf node schedules the upstream data flow based on the flow characteristic information of the downstream port of the spine node; wherein the flow characteristic information includes the flow creation time and the flow periodic information.

2. The method according to claim 1, characterized in that The information reporting conditions include: The duration of the same flow reaches the preset reporting period; or, The interruption duration of the same flow exceeds the preset interruption duration threshold.

3. The method according to claim 1, characterized in that The processor performs merging processing on the flow statistics information whose interval duration meets the preset merging condition according to the first packet timestamp and the last packet timestamp, including: For the currently received flow statistics information, the processor determines the time difference between the first packet timestamp included in the currently received flow statistics information and the tail packet timestamp included in the target flow statistics information historical record when it is determined that there is a flow statistics information historical record including the same flow identification information; wherein the target flow statistics information historical record is the latest flow statistics information historical record including the same flow identification information; When the time difference is less than a preset time difference threshold, merging the currently received flow statistics information with the target flow statistics information history record; When the time difference is greater than or equal to the preset time difference threshold, a new flow statistics information record is generated according to the currently received flow statistics information.

4. The method according to claim 1, characterized in that: The processor determines the period information of the flow according to the combined flow statistics information, including: Determine the cycle length of the flow according to the first packet timestamp in the adjacent flow statistics history record including the same flow identification information; Determine the flow interval duration of the adjacent cycle according to the timestamp of the last packet in the previous flow statistics history record and the timestamp of the first packet in the next flow statistics history record in the adjacent flow statistics history record; The traffic rate within the period is determined based on the first packet timestamp, the last packet timestamp, and the number of message bytes in the same flow statistics history record.

5. The method according to claim 1, characterized in that The processor determines the flow characteristic information of the downstream port of the spine node according to the period information of the flow, including: For any flow of any downstream port, the active duration of the flow within the cycle is determined based on the cycle duration of the flow and the flow interval duration of adjacent cycles; Determine the flow rate-time curve of the flow according to the active duration of the flow within the cycle and the flow rate within the cycle; The flow characteristic information of the downstream port is determined according to the flow rate-time curve of each flow of the downstream port.

6. A traffic forwarding device, characterized in that: include: A processor and forwarding engine; wherein: The forwarding engine is used to report flow statistics information to the processor when it is determined that the information reporting conditions are met; wherein, for any flow statistics information reported by the forwarding engine, the flow statistics information includes flow identification information, first packet timestamp, tail packet timestamp and message byte count; The processor is used for merging the flow statistics information including the same flow identification information, and the processor merges the flow statistics information whose interval duration meets the preset merging condition according to the first packet timestamp and the last packet timestamp; The processor is further configured to determine the period information of the flow according to the combined flow statistical information; wherein the period information of the flow includes the period duration of the flow, the flow interval duration of adjacent periods, and the flow rate within the period; The processor is also used to determine the flow characteristic information of the downstream port of the spine node based on the periodic information of the flow, and publish the flow characteristic information of the downstream port of the spine node to the leaf node, so that the leaf node schedules the upstream data flow based on the flow characteristic information of the downstream port of the spine node; wherein the flow characteristic information includes the flow creation time and the flow periodic information.

7. The device according to claim 6, characterized in that The information reporting conditions include: The duration of the same flow reaches the preset reporting period; or, The interruption duration of the same flow exceeds the preset interruption duration threshold.

8. The device according to claim 6, characterized in that The processor performs merging processing on the flow statistics information whose interval duration meets the preset merging condition according to the first packet timestamp and the last packet timestamp, including: For the currently received flow statistics information, when it is determined that there is a flow statistics information historical record including the same flow identification information, determine the time difference between the first packet timestamp included in the currently received flow statistics information and the last packet timestamp included in the target flow statistics information historical record; wherein the target flow statistics information historical record is the latest flow statistics information historical record including the same flow identification information; When the time difference is less than a preset time difference threshold, merging the currently received flow statistics information with the target flow statistics information history record; When the time difference is greater than or equal to the preset time difference threshold, a new flow statistics information record is generated according to the currently received flow statistics information.

9. The device according to claim 6, characterized in that The processor determines the period information of the flow according to the combined flow statistics information, including: Determine the cycle length of the flow according to the first packet timestamp in the adjacent flow statistics history record including the same flow identification information; Determine the flow interval duration of the adjacent cycle according to the timestamp of the last packet in the previous flow statistics history record and the timestamp of the first packet in the next flow statistics history record in the adjacent flow statistics history record; The traffic rate within the period is determined based on the first packet timestamp, the last packet timestamp, and the number of message bytes in the same flow statistics history record.

10. The device according to claim 6, characterized in that The processor determines the flow characteristic information of the downstream port of the spine node according to the period information of the flow, including: For any flow of any downstream port, the active duration of the flow within the cycle is determined based on the cycle duration of the flow and the flow interval duration of adjacent cycles; Determine the flow rate-time curve of the flow according to the active duration of the flow within the cycle and the flow rate within the cycle; The flow characteristic information of the downstream port is determined according to the flow rate-time curve of each flow of the downstream port.

Citation Information

Patent Citations

  • Network congestion control method, node, system and storage medium

    CN112511325A

  • Flow statistics method, device and system

    CN116471194A

  • Flow analysis system and method and related equipment

    CN116781498A

  • Network traffic optimization using in-situ notification system

    US20200007388A1