Cluster Controller Bridging Coarse and Fine Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network load balancers are unaware of the physical topologies of cluster systems and do not understand fine-grained load balancing schemes, leading to inefficient distribution of network traffic between computing nodes.
Innovation Solution
A system that bridges coarse-grained and fine-grained load balancing by using a network controller to distribute network flow information among computing nodes, allowing each node to determine whether it or another node is responsible for processing network packets based on flow tables and next hop information, and forwarding packets accordingly.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If network load balancers use coarse-grained load balancing schemes (e.g., ECMP, round-robin), then traffic distribution is simplified and easier to implement, but the system becomes unaware of physical topologies and fine-grained load balancing schemes, leading to inefficient traffic distribution
Solution Approach 1:
The patent introduces a cluster controller as an intermediary component that sits between the network load balancer and the computing nodes. The controller receives coarse-grained traffic distribution decisions from the load balancer and translates them into fine-grained routing decisions that consider the physical topology and capabilities of individual computing nodes. This intermediary layer enables both coarse-grained simplicity and fine-grained efficiency to coexist.
Solution Approach 2:
The patent segments the load balancing function into two distinct layers: (1) a network layer responsible for coarse-grained traffic distribution using simple schemes like ECMP or round-robin, and (2) a cluster layer responsible for fine-grained packet-level routing decisions based on physical topology awareness. This segmentation allows each layer to operate independently with its own optimization strategy.
2Device complexity
If network load balancers distribute packets without topology awareness, then the system architecture remains simple and easier to manage, but workload distribution across computing nodes becomes suboptimal
Solution Approach 1:
The cluster controller acts as an intermediary that absorbs the complexity of topology-aware routing algorithms, keeping the network load balancer simple. The controller maintains knowledge of physical topologies and computing node capabilities, then provides appropriate routing guidance back to the load balancer without requiring the load balancer itself to be complex.
Solution Approach 2:
The patent implements a mechanism where computing nodes autonomously determine whether they should process specific packets based on topology-aware routing information. Each node can independently make fine-grained routing decisions for packets it receives, eliminating the need for centralized control of every packet and reducing overall system complexity.
3Speed
If each computing node processes all received packets locally, then response time is minimized, but nodes that are not responsible for specific network flows still consume processing resources
Solution Approach 1:
The patent implements preliminary action by having the cluster controller pre-compute and distribute routing information to computing nodes before packets arrive. Each node receives advance knowledge about which network flows it should handle, allowing it to quickly determine whether to process incoming packets locally or forward them to the appropriate node without wasting processing resources.
Solution Approach 2:
The system implements feedback mechanisms where computing nodes report their processing status and capabilities to the cluster controller. The controller uses this feedback to dynamically adjust routing decisions, directing packets to nodes that are both capable of handling them and currently have available processing resources, thus avoiding waste while maintaining fast local processing when possible.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Technologies for bridging between coarse-grained and fine-grained load balancing include a computing node of a cluster computing device and a network controller. The computing node may add a flow entry to a local flow table based on flow information received from the network controller. The computing node may transmit a multicast network packet including the flow information and next hop information to other computing nodes of the cluster device. The computing node may also add a different flow entry to the local flow table and a next hop entry to a local next hop table based on a multicast network packet received from another computing node of the cluster device. The computing node may locally process a network packet received from a remote computing device or forward the received network packet to another computing node of the cluster device based on the flow entries added to the local flow table.