Source Flow Slicing for ECMP Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current load balancing algorithms in data center networks require hardware modifications and are not compatible with well-established hop-by-hop routing mechanisms, such as Equal-Cost Multi-Path (ECMP) algorithms, and often introduce significant overhead.
Innovation Solution
Implementing a source-based load balancing method that adds a randomizer element to packet headers, processed as a 6-tuple, allowing network devices to distribute traffic without hardware modifications, using flowlets with sequential packets and varying randomizers based on application-specific criteria, and incorporating minimal software changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If in-network load balancing algorithms are implemented, then traffic distribution and throughput are improved, but hardware modifications are required which are not feasible for existing networks
Solution Approach 1:
The patent introduces a randomizer field as an intermediary element in packet headers. This randomizer acts as a mediator that enables load balancing functionality without requiring modifications to the core switching hardware. The randomizer field works with existing ECMP hash functions to distribute traffic across multiple paths while maintaining compatibility with current network infrastructure.
Solution Approach 2:
The patent makes the ECMP hash function universal by enabling it to process both traditional 5-tuple flows and the new 6-tuple format including the randomizer field. This multi-functionality allows the same hashing mechanism to serve both existing load balancing requirements and the new randomizer-based traffic distribution approach without requiring separate hardware paths.
2Productivity
If adaptive load balancing algorithms are used, then latency is reduced and throughput is increased, but overhead is introduced and compatibility with commodity SDN switches is limited
Solution Approach 1:
The patent applies partial action by selectively using the randomizer field only when needed for traffic distribution, rather than requiring full adaptive load balancing functionality. The approach uses a simplified version of adaptive routing that leverages the randomizer for path selection without implementing complex network state awareness, thereby reducing overhead while maintaining throughput benefits.
3Device complexity
If source-based load balancing is implemented, then hardware modifications are minimized, but compatibility with hop-by-hop routing mechanisms is lost
Solution Approach 1:
The patent segments the load balancing functionality into two parts: the randomizer generation at the source node and the hash function processing at the network switch. This segmentation allows the source-based randomizer to work seamlessly with hop-by-hop ECMP routing mechanisms, as each switch independently processes the randomizer field through its hash function without requiring end-to-end source-based routing infrastructure.
4Measurement precision
If flow state tracking is implemented, then load balancing accuracy is improved, but processing overhead and complexity increase
Solution Approach 1:
The patent implements self-service by having the source node autonomously generate and insert the randomizer field into packet headers without requiring network switches to track or manage flow state information. The switches simply process the pre-computed randomizer through their existing hash functions, eliminating the need for complex flow state tracking infrastructure while maintaining accurate load balancing.
Data Source
AI summary
A method of load balancing in a communications network includes transmitting, by a source node, to a destination node, a first plurality of packets of a “flowlet” of a flow of packets. Each of the first flowlet of packets includes a plurality of header fields and a randomizer. The header fields and the randomizer are used by a networking device located between the source node and the destination node to select an output port of the networking device for the packets of the first flowlet. Further methods include selecting, by the source node, based on a criteria, a second randomizer for inclusion in a plurality of packets of a second flowlet of packets, waiting a time delay after transmitting the first flowlet of packets, then, inserting the second randomizer into the sequential second flowlet of packets, and transmitting the second flowlet of packets.


