ECMP Hash Reordering to Prevent Multi-Stage Path Polarization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Equal-Cost Multi-Path (ECMP) routing in computer networks experiences polarization due to correlated routing decisions across stages, leading to suboptimal network utilization, especially in Massively Scalable Data Centers, where Cyclic Redundancy Check (CRC) functions exacerbate the issue by not affecting the distribution of routing decisions effectively.
Innovation Solution
The method involves generating a Load Balancing Flow Vector (LBFV) and partitioning it into blocks, which are then reordered at each network element using a unique reordering sequence different from others, followed by hashing to select a next hop link, thereby differentiating ECMP decisions across stages and preventing correlation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional CRC functions are used for load balancing in ECMP routing, then the routing process is simple and fast, but polarization occurs and network utilization becomes suboptimal
Solution Approach 1:
The patent segments the Load Balancing Flow Vector (LBFV) into multiple blocks and applies different reordering sequences to different segments. This segmentation allows each network element to process different portions of the flow vector differently, breaking the correlation that causes polarization while maintaining the overall load balancing function.
Solution Approach 2:
The patent applies local quality by making each network element use a unique reordering sequence specific to its location in the network. This local differentiation ensures that routing decisions at different network elements are not correlated, preventing polarization while keeping each individual element's processing relatively simple.
2Productivity
If ECMP routing decisions are correlated across stages, then routing implementation is simplified, but network utilization deteriorates due to polarization
Solution Approach 1:
The patent changes the parameter of reordering sequence across different network elements. By varying this parameter (the specific reordering sequence applied to LBFV blocks) at each network element, the routing decisions become uncorrelated across stages, improving network utilization without significantly complicating the routing process.
3Productivity
If CRC seed is kept constant for simplicity, then implementation is easier, but distribution of routing decisions becomes poor leading to polarization
Solution Approach 1:
The patent applies preliminary action by reordering the LBFV blocks before applying the CRC function. This preprocessing step ensures that the CRC function receives differently ordered input at each network element, which improves the distribution of routing decisions and prevents polarization, while the CRC function itself remains relatively simple.
Data Source
AI summary
A network element is configured to efficiently load balance packets through a computer network. The network element receives a packet associated with flow attributes and generates a Load Balancing Flow Vector (LBFV) from the flow attributes. The network element partitions the LBFV into a plurality of LBFV blocks and reorders the LBFV blocks to generate a reordered LBFV. The LBFV blocks are reordered based on a reordering sequence that is different from reordering sequences on other network elements in the computer network. The network element hashes the reordered LBFV to generate a hash key for the packet and selects a next hop link based on the hash key. The next hop link connects the network elements to a next hop network element in the computer network.


