Cluster Load Balancing via Congestion-Triggered Path Switching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing flow-level ECMP hash solutions in data centers suffer from load imbalance and low bandwidth utilization, particularly in AI training scenarios with fewer data flows, leading to severe congestion and constrained throughput.
Innovation Solution
A cluster load balancing method that involves a centralized controller and servers to detect congested ports, determine to-be-switched connections, and reroute them through candidate paths, using a combination of congestion information, active connection lists, and candidate connection lists to optimize network traffic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If ECMP hash solution is used for load balancing, then random load distribution is achieved, but load imbalance and hash polarization occur when the quantity of flows is not large
Solution Approach 1:
The system pre-calculates and pre-assigns deterministic path selections based on flow identifiers and path weights before congestion occurs. This preliminary action eliminates the need for random hash calculations during runtime, ensuring consistent load distribution across multiple paths even when flow quantities are small, thereby preventing hash polarization and improving load balancing reliability.
Solution Approach 2:
The system dynamically adjusts path weights as parameters to control traffic distribution. By changing these weight parameters based on current network conditions and flow characteristics, the system optimizes load balancing performance for different scenarios, particularly improving effectiveness when flow quantities are limited by favoring paths with higher weights.
2Productivity
If most data flows are congested on a few network paths, then throughput of each flow is severely constrained, but bandwidth utilization remains low
Solution Approach 1:
The system dynamically selects network paths based on real-time congestion detection and pre-calculated path weights. When congestion is detected on a current path, the system automatically switches to alternative paths with appropriate weights, enabling adaptive traffic flow that maintains high throughput while distributing load across available bandwidth, thereby improving both productivity and reducing bandwidth loss.
Solution Approach 2:
The system implements a feedback mechanism where congestion information from network paths is continuously monitored and fed back to the path selection logic. This feedback enables the system to adjust traffic routing in real-time, avoiding congested paths and utilizing underutilized bandwidth, thus maintaining high throughput while improving overall bandwidth utilization efficiency.
3Device complexity
If flow-level ECMP hash solution is used, then implementation is simple, but cluster load balancing degree and bandwidth utilization are low
Solution Approach 1:
The system pre-calculates path weights and maintains candidate connection lists in advance, transforming a complex runtime optimization problem into a simpler selection process. This preliminary preparation enables the system to achieve high bandwidth utilization through intelligent path selection without requiring complex real-time calculations, thus improving productivity while keeping implementation complexity manageable.
Data Source
AI summary
This application discloses a cluster load balancing method and apparatus. The method includes: obtaining, when congestion information reported by a target server in a target cluster is obtained, a congested port and server status information of the target cluster (201); determining an active connection passing through the congested port as a to-be-switched connection (202); determining, as a target switching path, a path of a candidate connection in a candidate connection list corresponding to an active connection list including the to-be-switched connection (203); and delivering the to-be-switched connection and the target switching path to a server corresponding to the to-be-switched connection, to enable the server corresponding to the to-be-switched connection to switch a path of the to-be-switched connection to the target switching path (204).


