Data Center Traffic Engineering via Water-Filling Bandwidth Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large-scale data center networks face challenges in providing fair bandwidth allocation across multiple levels of switching while respecting different classes of service, especially as the number of hosts and data center size increase, due to complexities in inter-block traffic management and limited forwarding table entries.
Innovation Solution
A method for traffic engineering in data center networks that employs a heuristic water-filling strategy and optimization objectives to allocate bandwidth across end-to-end paths, using a round-robin approach to select middle blocks that maximize available capacity and fairness, while minimizing unnecessary path computation and congestion, and iteratively adjusting to demand changes and failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If direct connection is used between fabric blocks instead of CLOS-type topology, then cost is reduced, but bandwidth allocation fairness and service class differentiation become challenging
Solution Approach 1:
The patent changes the parameter of inter-block connection topology from CLOS-type to direct connection, reducing cost while introducing new challenges in bandwidth allocation. The water-filling algorithm then adjusts traffic distribution parameters dynamically to maintain fairness despite the simplified topology.
Solution Approach 2:
The patent introduces a traffic engineering system with water-filling algorithm as an intermediary layer between the direct connection topology and the bandwidth allocation requirements. This intermediary computes optimal traffic distributions to achieve fairness and service class differentiation without requiring complex CLOS topology.
2Productivity
If more paths are computed to satisfy bandwidth demand, then bandwidth allocation improves, but route convergence time increases
Solution Approach 1:
The patent performs preliminary computation of available capacity and shortest path information before actual traffic engineering decisions are made. The water-filling algorithm pre-calculates optimal distributions based on current network state, so when traffic demands change, the system can quickly converge by adjusting from pre-computed baselines rather than recalculating everything.
Solution Approach 2:
The patent computes paths and capacity information selectively rather than exhaustively. The water-filling algorithm focuses computation on relevant source-destination pairs and uses iterative approximation to converge to satisfactory solutions rather than computing all possible paths, reducing computation time while maintaining adequate bandwidth allocation.
3Productivity
If shortest path capacity is maximized for each flow, then bandwidth efficiency improves, but congestion on specific links increases
Solution Approach 1:
The patent implements feedback through the water-filling algorithm that continuously monitors available capacity on links and adjusts traffic distributions accordingly. The algorithm uses capacity information as feedback to determine how much traffic to allocate to each path, preventing over-subscription and congestion while maintaining high bandwidth efficiency.
Solution Approach 2:
The patent applies different traffic distribution strategies to different links and paths based on their local capacity characteristics. The water-filling algorithm adjusts the 'water level' (traffic allocation) locally for each link based on its available capacity, allowing some links to carry more traffic while others carry less, optimizing overall efficiency without causing congestion on any single link.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The present disclosure provides for the determination of bandwidth allocation of inter-block traffic in a data center network (100). It employs a number of optimization objectives and a heuristic water-filling strategy to avoid producing unnecessary paths and to avoid determining paths that would be unavailable when actually needed. Allocation may be adjusted incrementally upon node and link failure, for instance to perform only the minimal allocation changes necessary. If demand between a source and a destination cannot be satisfied, a decomposition process may be used to allocate remaining demand. One aspect constructs a graph (700) for route computation based on inter-block topology. Here, the graph (700) initially starts with a highest level of abstraction with each node representing a middle block (106), and gradually reduces the abstraction level to identify paths of mixed abstraction level to satisfy additional demand.