Collection device and collection method

The collection device focused on spine switches in a network reduces controller load and improves scalability by analyzing and managing traffic flows, addressing load balancing challenges in large-scale GPU networks.

WO2026047813A1PCT designated stage Publication Date: 2026-03-05NT T INC
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-26
Publication Date
2026-03-05

AI Technical Summary

Technical Problem

Load balancing with a centralized controller results in increased load and scalability issues, particularly with large traffic flows, leading to control delays and congestion.

Method used

A collection device that collects network information only from spine switches, analyzes this information to generate control information, and transmits it to a controller to perform load balancing, while using xFlow data and machine learning to detect congestion and adjust sampling rates.

Benefits of technology

Reduces the load on the controller, improves scalability, and prevents congestion by proactively identifying and managing traffic flows, enhancing network performance in large-scale GPU-dedicated networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024030285_05032026_PF_FP_ABST
    Figure JP2024030285_05032026_PF_FP_ABST
Patent Text Reader

Abstract

A collection device 1 comprises: a collection unit 10 that collects network information from devices constituting a network 8; an analysis unit 30 that analyzes the network information and generates control information necessary for load balancing of the network; a detection unit 41 that detects a sign of congestion of the network on the basis of the network information; and a control unit 50 that transmits the control information to a controller 7 that controls the devices to perform the load balancing. The collection unit 10 collects the network information from only spine switches among the devices constituting the network 8.
Need to check novelty before this filing date? Find Prior Art

Description

Collection Device and Collection Method

[0001] The present disclosure relates to a collection device及 a collection method.

[0002] In a network, a technique called load balancing (ロードバランシング) is used to distribute the load. The control entities for load balancing include a controller type, a host-based type, and a switch-based type (Non-Patent Documents 1 and 2).

[0003] The controller type is a centralized control method that grasps the entire network and performs load balancing. Therefore, with the controller type, optimization across the entire network is possible. The host-based type and the switch-based type are distributed control methods where each host or each switch performs load balancing.

[0004] W.Li et al., “Survey on Traffic Management in Data Center Network: From Link Layer to Application Layer,” IEEE Access (Volue:9), pp.38427-38456, 04 March, 2021,<https: / / ieeexplore.ieee.org / document / <9370092>M.Noormohammadpour et al., “Datacenter Traffic Control: Understanding Techniques and Tradeoffs,”, IEEE Communications Surveys & Tutorials (Volume: 20, Issue: 2, Secondquarter 2018), pp.1492-1525, 14 December.

[0005] When the control entity for load balancing is a controller, the communication of flow information collected for load balancing is concentrated in the controller, increasing the load on the controller. Therefore, load balancing with a controller as the control entity has low scalability. In particular, in the case of a large amount of traffic flow, the load on the controller increases, which may cause control delay and congestion. ​

[0006] The present disclosure has been made in consideration of the above circumstances, and an object of the present disclosure is to provide a technology that reduces the load on a controller in load balancing and improves scalability.

[0007] In order to achieve the above-mentioned object, one aspect of the present disclosure is a collection device comprising: a collection unit that collects network information from devices that constitute a network; an analysis unit that analyzes the network information and generates control information necessary for load balancing on the network; a detection unit that detects signs of congestion in the network based on the network information; and a control unit that transmits the control information to a controller that controls the devices and performs the load balancing, wherein the collection unit collects the network information only from spine switches among the devices that constitute the network.

[0008] One aspect of the present disclosure is a collection method performed by a collection device, which collects network information from only spine switches among the devices that make up a network, analyzes the network information, generates control information necessary for load balancing on the network, detects signs of congestion on the network based on the network information, and transmits the control information to a controller that controls the devices and performs the load balancing.

[0009] According to the present disclosure, it is possible to provide a technique for reducing the load on a controller in load balancing and improving scalability.

[0010] Fig. 1 is a configuration diagram showing the configuration of a load balancing system according to this embodiment. Fig. 2 is a diagram showing an example of flow information. Fig. 3 is a diagram showing an example of an analysis result. Fig. 4 is a flowchart showing a sampling rate adjustment process. Fig. 5 is an example of a hardware configuration.

[0011] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings.

[0012] 1 is a diagram showing the configuration of a load balancing system according to this embodiment. The load balancing system includes a collection device 1, a controller 7 (network controller), and a network 8.

[0013] The controller 7 is a device that controls the devices that make up the network 8 based on information (such as control information) sent from the collection device 1 and distributes the load on the network 8 .

[0014] The network 8 is configured using multiple devices. In this embodiment, the network 8 uses a GPU-dedicated network (Backend Fabric), but is not limited to this. The GPU-dedicated network may perform distributed deep learning, for example, to improve the performance of large-scale language models (LLMs). In distributed deep learning, delays at one point on the network lead to delays in all other communications, so real-time load balancing is required, and scalability is also required to accommodate an increase in the number of GPUs.

[0015] The illustrated network 8 is configured with a plurality of interconnected devices arranged in three layers called a fabric. The devices that make up the network include nodes, leaf switches, and spine switches.

[0016] The collection device 1 collects and analyzes various types of information from the network 8, and transmits the analysis results to the controller 7. The illustrated collection device 1 includes a collection unit 10, a database (DB) 20, an analysis unit 30, a congestion detection unit 40, a control unit 50, and a learning unit 60.

[0017] The collection unit 10 of this embodiment collects network information from devices that make up the network 8. The collection unit 10 of this embodiment collects network information only from spine switches among the devices that make up the network 8. As a result, in this embodiment, it is possible to reduce the amount of information for load balancing that is provided to the controller 7, and improve the scalability of the network 8 that is the target of load balancing.

[0018] In this embodiment, the network information may include xFlow data (flow data), device information (telemetry), and test results. By using xFlow, this embodiment can further reduce the amount of information provided to the controller 7 for load balancing. xFlow is a flow technology intended to monitor and analyze network traffic. xFlow extracts information necessary for analysis from packets flowing through the network to generate xFlow data. In this embodiment, xFlow configured in each spine switch generates xFlow data and transmits it to the collection device 1. The xFlow data includes, for example, a source IP address, a destination IP address, a source port number, a destination port number, and a protocol type.

[0019] The illustrated collection unit 10 includes a testing unit 11 , a device information collection unit 12 , and a statistics unit 13 .

[0020] The testing unit 11 transmits test packets to each spine switch, acquires test results (network information) from each spine switch, and stores the results in the DB 20 (S11). The test results include, for example, packet loss, transmission delay, and jitter.

[0021] The device information collection unit 12 collects device information (network information) from each spine switch and stores it in the DB 20 (S12). The device information includes the error rate, throughput, bandwidth used, number of input packets, number of output packets, CPU utilization rate, memory utilization rate, throughput for each interface, queue status for each interface, etc.

[0022] The device information of a spine switch includes link information about each linked leaf switch. Therefore, the device information collector 12 can estimate the device information of a leaf switch by collecting device information from each spine switch. Since the device information of spine switches and leaf switches contains less information than xFlow data, the device information collector 12 may collect device information from each leaf switch and each spine switch and store it in the DB 20.

[0023] The statistics unit 13 collects xFlow data (network information) from each spine switch, generates flow statistics information, and stores it in the DB 20 (S13).

[0024] The collection unit 10 collects various types of network information from each spine switch at a predetermined timing (predetermined time interval) and stores the information together with the time of collection in the DB 20. In this way, the collection unit 10 of this embodiment can collect network information of the target network 8 in an appropriate manner.

[0025] The analysis unit 30 analyzes the network information and generates control information (analysis results) necessary for load balancing on the network 8. Specifically, the analysis unit 30 analyzes the current traffic state of the network 8 based on the network information stored in the DB 20, generates control information necessary for load balancing as the analysis results, and transmits the control information to the controller 7 via the control unit 50. The illustrated analysis unit 30 includes a traffic analysis unit 31 and a device analysis unit 32.

[0026] The traffic analysis unit 31 refers to the DB 20 and analyzes the current (predetermined time) traffic trend based on the device information collected by the device information collection unit 12, the test results output by the test unit 11, and the flow statistical information output by the statistics unit 13. The traffic analysis unit 31 analyzes flow information, such as increases or decreases in traffic and flow attributes (elephant flow, mouse flow), as traffic trends. The traffic analysis unit 31 outputs the flow information as the analysis result together with the time (time stamp) to the control unit 50 (S14). Figure 2 is a diagram showing an example of flow information analyzed by the traffic analysis unit 31.

[0027] The device analysis unit 32 refers to the DB 20 and analyzes the current (predetermined time) state of each device based on the device information collected by the device information collection unit 12, the test results output by the test unit 11, and the flow statistical information output by the statistics unit 13. The device analysis unit 32 outputs, as the analysis results, device states such as the bandwidth used for each interface of each device (spine switch, leaf switch), jitter, link delay time, and throughput, along with the time (time stamp), to the control unit 50 (S14). Figure 3 is a diagram showing an example of the analysis results analyzed by the device analysis unit 32.

[0028] The congestion detection unit 40 detects signs of congestion and identifies the flow that causes the congestion, thereby preventing the occurrence of congestion. The congestion detection unit 40 shown in the figure includes a detection unit 41, an adjustment unit 42, and a flow identification unit 43.

[0029] The detection unit 41 detects a sign of congestion in the network 8 based on the network information. The detection unit 41 may detect a sign of congestion using a judgment criterion. Specifically, the detection unit 41 detects a sign of congestion in the network 8 based on the judgment criterion acquired from the control unit 50 and the device information and test results stored in the DB 20. For example, the detection unit 41 detects the occurrence of congestion in advance when the value of at least one parameter set in the judgment criterion exceeds a threshold.

[0030] The judgment criteria have thresholds set for each parameter. The parameters set for the judgment criteria include, for example, the throughput for each interface in the device information, the queue status for each interface, the CPU usage rate, the memory usage rate, the delay time and jitter in the test results, etc. The judgment criteria have thresholds set for each of these parameters. The judgment criteria may be set using a learning model generated by the learning unit 60 (described later) through machine learning.

[0031] The detection unit 41 acquires the judgment criteria from the control unit DB 20 (S15). Then, the detection unit 41 repeatedly acquires the device information and test results stored in the DB 20 at a predetermined timing, and when any parameter of the judgment criteria exceeds a threshold, the detection unit 41 detects a sign of congestion and transmits a congestion notification to the control unit 50 (S16). The congestion notification includes, for example, the time (timestamp), the device ID, the interface ID of the device, the link ID, etc.

[0032] Furthermore, when detecting a sign of congestion, the detection unit 41 may calculate the probability of congestion occurrence (degree of congestion sign) using the difference (deviation) between the parameter value exceeding the threshold and the threshold. In this case, the detection unit 41 transmits a congestion notification including the occurrence probability X to the control unit 50.

[0033] When the detection unit detects the congestion warning, the adjustment unit 42 adjusts the sampling rate of the xFlow data. Specifically, when the adjustment unit 42 receives an instruction to change the sampling rate from the control unit 50 (S17), the adjustment unit 42 adjusts (determines) the sampling rate for xFlow collection and instructs the control unit 50 to set the adjusted sampling rate (S18).

[0034] 4 is a flowchart showing the sampling rate adjustment process of the adjustment unit 42. Here, the probability of congestion calculated by the detection unit 41 is assumed to be X. The adjustment unit 42 compares the occurrence probability X with a predetermined threshold 1 (S31), and if the occurrence probability X is smaller than the threshold 1 (S31: YES), it determines that the probability of congestion occurrence is low and ends the process without adjusting the sampling rate.

[0035] If the occurrence probability X is equal to or greater than threshold 1 and less than threshold 2 (threshold 2<threshold 1) (S32: YES), the adjustment unit 42 sets the sampling rate to 1 / a (S33). If the occurrence probability X is equal to or greater than threshold 2 and less than threshold 3 (threshold 3<threshold 2) (S34: YES), the adjustment unit 42 sets the sampling rate to 1 / b (b<a) (S35). If the occurrence probability X is equal to or greater than threshold 3 and less than threshold 4 (threshold 4<threshold 3) (S36: YES), the adjustment unit sets the sampling rate to 1 / c (c<b) (S37).

[0036] In this way, the adjustment unit 42 controls the sampling rate to be gradually increased as the occurrence probability X increases, making it easier to identify the flow that is causing congestion. The adjustment unit 42 instructs the control unit 50 to set the determined sampling rate (S19). The control unit 50 accepts the instruction to set the sampling rate and transmits the instruction to set the sampling rate to the controller 7 (S20). The controller 7 transmits an instruction to change the sampling rate to the xFlow agent of each spine switch in the network 8.

[0037] As a result, the statistics unit 13 collects more detailed xFlow data from each spine switch, generates more accurate (granular) flow statistics information, and stores it in the DB 20 .

[0038] The flow identification unit 43 acquires from the DB 20 flow statistics information that has been statistically processed using the xFlow data after the sampling rate has been changed, and identifies a flow that is presumed to be the cause of congestion based on the flow statistics information. For example, the flow identification unit may use a time stamp to link the flow statistics information with the analysis results (device status for each device and interface) of the device analysis unit 32 of the analysis unit 30, and identify a flow based on the flow statistics information and the analysis results.

[0039] Then, the flow identification unit 43 sends flow information related to the identified flow to the control unit 50 (S20). The flow information may include, for example, a 5-tuple (source IP address, source port number, destination IP address, destination port number, and protocol number) and time (timestamp).

[0040] The control unit 50 transmits the control information (analysis results) generated by the analysis unit 30 to the controller 7 (S21). The controller 7 is a device that controls devices constituting the network 8 to distribute loads. The control unit 50 also transmits flow information of a flow that the flow identification unit 43 of the congestion detection unit 40 has estimated to be the cause of congestion to the controller 7 (S22).

[0041] This allows the controller 7 to control the flows allocated to the devices (leaf switches and spine switches) of the network 8, distributing the load on each device and preventing congestion. The controller 7 may also transmit routing information to the control unit 50 (S23).

[0042] The learning unit 60 performs machine learning using the control information (analysis results) generated by the analysis unit 30 as training data, and generates a learning model 61 that outputs a judgment criterion for detecting signs of congestion when the network information is input. A convolutional neural network (CNN), which is a type of deep learning, may be used for the learning model 61. CNN uses convolution and pooling. CNN is a neural network with multiple layers.

[0043] The learning unit 60 inputs the network information stored in the DB 20 into the learning model at a predetermined timing, and sends the judgment criterion output by the learning model to the control unit 50. The control unit 50 sends the judgment criterion sent from the learning unit 60 to the detection unit 41 (S15). This allows the detection unit 41 to detect signs of congestion in the network 8 with high accuracy using the optimum judgment criterion according to the state of the network 8.

[0044] The collection device 1 of this embodiment described above comprises a collection unit 10 that collects network information from devices that make up a network 8, an analysis unit 30 that analyzes the network information and generates control information necessary for load balancing on the network, a detection unit 41 that detects signs of congestion on the network based on the network information, and a control unit 50 that transmits the control information to a controller 7 that controls the devices and performs the load balancing, and the collection unit 10 collects the network information only from spine switches among the devices that make up the network.

[0045] This embodiment is a collection method performed by a collection device 1, which collects network information only from spine switches among the devices that make up the network, analyzes the network information, generates control information necessary for load balancing on the network, detects signs of congestion on the network based on the network information, and transmits the control information to a controller 7 that controls the devices and performs the load balancing.

[0046] According to this embodiment, by collecting network information only from the spine switches among all the devices constituting the network, the amount of information can be reduced, the load on the controller in load balancing can be reduced, and the scalability of the load balancing system can be improved. Also, in this embodiment, by using xFlow as network information, the amount of network information collected from the network 8 can be further reduced.

[0047] Furthermore, in this embodiment, if the detector detects a sign of congestion, it adjusts the sampling rate of the xFlow data. By dynamically controlling the sampling rate of the xFlow data in this way, if a sign of congestion is detected, the sampling rate can be increased to identify the flow causing the congestion. This allows the controller 7 to proactively control the distributed processing of the identified flows within the network 8, thereby achieving proactive control of the network 8 and preventing congestion and processing delays in the network 8.

[0048] Furthermore, in this embodiment, a learning unit is provided that performs machine learning on the control information generated by the analysis unit 30 as training data, and generates a learning model that outputs a judgment criterion for detecting signs of congestion when network information is input, thereby enabling highly accurate detection of signs of congestion in the network 8.

[0049] The collection device 1 described above can be, for example, a general-purpose computer system as shown in Fig. 5. The computer system shown in the figure includes a CPU (Central Processing Unit, processor) 901, a memory 902, a storage 903 (HDD: Hard Disk Drive, SSD: Solid State Drive), a communication device 904, an input device 905, and an output device 906. The memory 902 and the storage 903 are storage devices. In this computer system, the CPU 901 executes a predetermined program loaded on the memory 902, thereby realizing each function of the collection device 1.

[0050] The collection device 1 may be implemented by one computer or by multiple computers. The collection device 1 may be a virtual machine implemented on a computer. The program of the collection device 1 may be stored in a computer-readable recording medium such as a HDD, SSD, USB (Universal Serial Bus) memory, CD (Compact Disc), or DVD (Digital Versatile Disc), or may be distributed via a network. The computer-readable recording medium is, for example, a non-transitory recording medium.

[0051] The present disclosure is not limited to the above-described embodiments, and various modifications are possible within the scope of the gist of the present disclosure.

[0052] 1: Collection device 10: Collection unit 11: Test unit 12: Device information collection unit 13: Statistics unit 20: DB (database) 30: Analysis unit 31: Traffic analysis unit 32: Device analysis unit 40: Congestion detection unit 41: Detection unit 42: Adjustment unit 43: Flow identification unit 50: Control unit 60: Learning unit 61: Learning model 7: Controller 8: Network

Claims

1. A collection device comprising: a collection unit that collects network information from devices that make up a network; an analysis unit that analyzes the network information and generates control information necessary for load balancing on the network; a detection unit that detects signs of congestion on the network based on the network information; and a control unit that transmits the control information to a controller that controls the devices and performs the load balancing, wherein the collection unit collects the network information only from spine switches among the devices that make up the network.

2. The collection device according to claim 1, wherein the network information includes xFlow data, and the collection device further comprises an adjustment unit that adjusts the sampling rate of the xFlow data when the detection unit detects a sign of congestion.

3. The collection device according to claim 1, further comprising a learning unit that performs machine learning on the control information generated by the analysis unit as training data, and generates a learning model that outputs a judgment criterion for detecting signs of congestion when the network information is input, and the detection unit detects signs of congestion using the judgment criterion.

4. A collection method performed by a collection device, which comprises collecting network information only from spine switches among the devices that make up the network, analyzing the network information, generating control information necessary for load balancing on the network, detecting signs of congestion on the network based on the network information, and transmitting the control information to a controller that controls the devices and performs the load balancing.

Citation Information

Patent Citations

  • Switch identification method and switch identification program

    JP2021182689A

  • Method for operating a network and a corresponding network

    US20240195733A1