Hierarchical ECMP Tables for Weighted Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current weighted load balancing techniques in multistage networks, such as data center networks, are complex to implement and inefficient in large-scale networks with uneven inter-stage connectivity, leading to unequal traffic loading and underutilization of paths.
Innovation Solution
A method involving a data switch that generates hash values to perform lookups in hierarchical ECMP tables, allowing for weighted listings of egress ports to balance data traffic effectively across multiple paths, using a two-level hierarchy of ECMP tables to manage routing weights and select egress ports based on these weights.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If current weighted load balancing techniques are used in large-scale multistage networks, then traffic distribution can be achieved, but the implementation complexity increases and scalability deteriorates
Solution Approach 1:
The patent segments the weighted load balancing problem into two independent ECMP tables: a first ECMP table for selecting intermediate networks and a second ECMP table for selecting egress ports. This segmentation allows each table to be updated independently without affecting the other, reducing implementation complexity while maintaining traffic distribution efficiency in large-scale multistage networks
Solution Approach 2:
The patent introduces a two-stage routing dimension that separates intermediate network selection from egress port selection. By adding this dimensional separation, the system achieves scalable weighted load balancing without increasing implementation complexity, as each dimension can be managed independently through its own ECMP table
2Productivity
If weighted routing is implemented to balance data traffic, then load balancing is achieved, but the complexity of updating routing weights increases
Solution Approach 1:
The patent divides routing weight updates into two independent operations: updating weights in the first ECMP table for intermediate network selection and updating weights in the second ECMP table for egress port selection. This segmentation allows routing weight updates to be performed independently and concurrently, reducing the time required for updates while maintaining effective load balancing performance
Solution Approach 2:
The patent pre-establishes the two ECMP tables with their respective weight configurations before traffic routing begins. This preliminary setup allows routing weights to be updated independently in each table without disrupting overall routing operations, minimizing update time while maintaining load balancing performance
3Productivity
If multiple paths are used in multistage networks, then traffic distribution is improved, but unequal traffic loading and path underutilization occur
Solution Approach 1:
The patent applies different weighting strategies locally to different routing stages: the first ECMP table applies weights optimized for intermediate network selection based on inter-stage connectivity, while the second ECMP table applies weights optimized for egress port selection. This local quality adjustment ensures even traffic distribution across paths with varying capacities without path underutilization
Solution Approach 2:
The patent dynamically adjusts routing parameters by maintaining separate weight configurations for each ECMP table based on actual network conditions and path capacities. This parameter change approach ensures optimal traffic distribution across multiple paths while preventing unequal loading and underutilization, as weights can be tuned independently for each routing stage
Data Source
AI summary
A method for weighted routing of data traffic can include generating a first hash value based on a header of a data packet and performing a lookup in a first equal cost multi-path (ECMP) table using the first hash value to select a secondary ECMP table. The first ECMP table can include a weighted listing of at least two secondary ECMP tables. The method can further include generating a second hash value based on the header of the data packet and performing a lookup in the selected secondary ECMP table based on the second hash value to select an egress port of a plurality of egress ports of the data switch. The method can further include forwarding the data packet on the selected egress port.


