Flowlet-Based Load Balancing for Data Center Congestion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-rooted tree networks, such as spine-and-leaf designs, in data centers face challenges with congestion and load balancing, as existing methods like ECMP fail to optimally distribute traffic, leading to hotspots and imbalances due to their reliance on flow-level hashing and lack of awareness about downstream congestion.

Innovation Solution

Implementing load balancing with flowlet granularity, where flowlets are assigned to paths based on congestion feedback implicit in their size, allowing for random or probabilistic reassignment to equalize flowlet lengths across paths, thereby mitigating congestion and improving traffic distribution without explicit signaling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If ECMP load balancing is used with flow-level hashing, then traffic distribution is simplified, but congestion hotspots and load imbalances occur due to lack of downstream congestion awareness

Engineering Contradiction:
Improveload balancing operationVSAvoidtraffic distribution efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments flows into flowlets (sub-flows) that can be independently routed. Instead of hashing entire flows, ECMP is applied to flowlets, allowing finer-grained load balancing. This segmentation enables the system to switch flowlets between different paths based on congestion conditions, resolving the contradiction between operational simplicity and distribution efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms where downstream congestion information is propagated upstream through the network. Load balancers monitor congestion levels on downstream links and adjust flowlet routing decisions accordingly. This feedback loop enables ECMP to dynamically adapt to congestion conditions, improving traffic distribution efficiency while maintaining operational simplicity.

Inventive Principle:
Principle #23Feedback

2Stability of the object's composition

If flow-level hashing is used for load balancing, then path assignment is deterministic, but congestion awareness and adaptive routing are lost

Engineering Contradiction:
Improvepath assignment stabilityVSAvoidcongestion adaptability
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamics into path assignment by allowing flowlets to be routed on different paths based on real-time congestion conditions. While parent flows maintain stable identification, their constituent flowlets can dynamically switch paths. This dynamic approach preserves stability at the flow level while achieving adaptability at the flowlet level, resolving the contradiction between deterministic hashing and congestion-aware routing.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies load balancing partially to only certain flowlets rather than all traffic uniformly. When congestion is detected on a path, only flowlets affected by that congestion are rerouted, while other flowlets continue on their original paths. This partial action maintains stability for unaffected traffic while providing adaptability where needed, resolving the contradiction between deterministic and adaptive routing.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If explicit congestion signaling is implemented, then congestion awareness is improved, but network overhead increases

Engineering Contradiction:
Improvecongestion detection accuracyVSAvoidnetwork signaling overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent enables load balancers to self-detect congestion by monitoring packet transmission patterns and delays without requiring explicit congestion signaling protocols. The system uses implicit feedback from network behavior (such as packet queuing delays and transmission variability) to infer congestion states. This self-service approach improves congestion detection accuracy while avoiding the overhead of explicit signaling mechanisms.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent uses packet transmission patterns and timing as intermediaries to convey congestion information. Rather than implementing dedicated congestion signaling protocols, the system extracts congestion indicators from existing packet flows and timing data. These intermediaries carry congestion information implicitly, improving detection accuracy without adding separate signaling overhead to the network.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10243858B2Load balancing with flowlet granularity
Publication Date: 2019.03.26 CISCO TECHNOLOGY INC
  • US10243858B2 patent drawing
  • US10243858B2 patent drawing
  • US10243858B2 patent drawing

AI summary

A first flowlet of a flow from a source network device to a destination network device is assigned to a first path of a plurality of paths between the source device and the destination device. The assignment of the first flowlet to the first path is made by a network connected device. A second flowlet is detected in response to an interruption in transmission of the flow due to congestion along the first path, wherein the interruption is longer in duration than a difference in a transmission time between the source network device and the destination network device along each of the plurality of paths. The second flowlet is assigned to a second path of the plurality of paths by the network connected device. According to some example embodiments, the second path is randomly selected from the plurality of paths.