NIC Flowlet NAT for Low-Entropy ECMP Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In backend data center networks, high bandwidth demands and fewer flows lead to low flow entropy, causing congestion on certain equal-cost multipath (ECMP) paths while others remain underutilized, with existing solutions like Dynamic Load Balancing (DLB) and packet spraying being ineffective due to infrastructure and compatibility constraints.
Innovation Solution
Implementing a flowlet-based network address translation (NAT) operation at the network interface controller (NIC) level to decompose traffic flows into flowlets, each appearing as a unique traffic flow, using unique unused source port values to enhance flow entropy without requiring network infrastructure changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If hash distribution algorithms are used for load balancing in backend DC networks, then ECMP paths can be distributed, but flow entropy becomes low causing congestion on certain paths while others remain underutilized
Solution Approach 1:
The patent segments a single traffic flow into multiple flowlets by splitting at packet level. Each flowlet is assigned a different source port value, making them appear as distinct flows to the ECMP hash function. This segmentation increases the effective number of flows, improving flow entropy and distributing traffic more evenly across ECMP paths while maintaining the original flow's packets in order.
2Reliability
If Dynamic Load Balancing or packet spraying solutions are employed to address flow entropy, then congestion can be mitigated, but infrastructure compatibility constraints reduce their effectiveness
Solution Approach 1:
The patent implements flowlet-based NAT at the NIC level, allowing the endpoint device itself to generate multiple flowlets with different source port values. This self-service approach eliminates the need for special switch infrastructure or protocol modifications, making the solution compatible with existing networks while effectively increasing flow entropy.
3Reliability
If source port values are replaced with unique unused values at NIC level, then flow entropy is enhanced and load balancing improves, but additional processing overhead is introduced
Solution Approach 1:
The patent maintains a pool of pre-configured unused source port values at the NIC. When a flowlet needs to be created, the NIC simply assigns the next available port value from this pre-prepared pool, avoiding complex real-time port allocation decisions. This preliminary preparation minimizes processing overhead while still achieving the goal of generating unique source port values for each flowlet.
Data Source
AI summary
Devices, systems, methods, and processes for flow entropy management using network address translation (NAT) scheme are described herein. Typically, due to fewer flows and high bandwidth demands in backend data center networks, hash distribution algorithms may exhibit bias, leading to congestion on certain network paths while others remain underutilized, a phenomenon known as low flow entropy. To address the low flow entropy problem, a network interface controller (NIC) decomposes a traffic flow into multiple flowlets and applies a NAT operation on each flowlet. In the NAT operation, an actual source port value of a flowlet is replaced with a unique unused source port value to make the flowlet look like a different traffic flow to a switch. Thus, the switch processes each flowlet as a different traffic flow and uses load balancing schemes to distribute the flowlets across various network paths. Thus, improving the flow entropy of the network.


