Dynamic Throttle Factor Calculation for Asymmetric Network Switches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems with large numbers of integrated components, achieving fairness in bandwidth distribution across multiple masters in asymmetric distributed network topologies is challenging due to irregular fabric topologies, leading to inefficiencies and increased power and area costs.

Innovation Solution

A load balancing scheme is implemented using switches that dynamically calculate and apply throttle factors based on the number of active masters per input port targeting an output port, ensuring equal service by adjusting token allocation to regulate bandwidth distribution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If static partitioned bandwidth allocation is used, then bandwidth distribution is predictable, but bandwidth is throttled even when there is no contention for the downstream resource

Engineering Contradiction:
Improvebandwidth distribution predictabilityVSAvoidbandwidth utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic bandwidth allocation by modifying the token flow control mechanism. Instead of static partitioning, the system dynamically adjusts the number of tokens allocated to each master based on current network conditions and contention levels. This allows the system to maintain predictability through controlled dynamics while avoiding unnecessary throttling when resources are underutilized.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of token allocation from fixed to variable. By dynamically adjusting the number of tokens based on actual contention conditions at downstream resources, the system can adapt bandwidth distribution to match real-time demand, preventing both over-throttling and waste.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If static allocation scheme is designed for maximum bandwidth, then each master always has enough resources available, but the design is wasteful since it is sized for the worst case

Engineering Contradiction:
Improvebandwidth availabilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system transitions from static over-provisioning to dynamic allocation. Tokens are allocated based on actual contention conditions rather than worst-case assumptions, allowing the system to maintain reliability when needed while reducing resource allocation during normal operation, thereby lowering power consumption.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The flow control mechanism operates autonomously to allocate tokens based on real-time contention detection. Each master receives appropriate bandwidth automatically based on actual demand, eliminating the need for conservative over-provisioning while ensuring availability when truly needed.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If symmetric topologies with star or ring routing are used, then average number of hops for each master toward the shared resource is the same, but additional switches are required to create this symmetric network topology

Engineering Contradiction:
Improvebandwidth sharing fairnessVSAvoidnetwork topology structure
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent applies asymmetry by implementing load balancing in irregular (asymmetric) network topologies without requiring symmetric reconfiguration. By dynamically adjusting token allocation based on actual path conditions and contention levels, the system achieves fairness in asymmetric topologies without adding switches or reconfiguring the physical topology.

Inventive Principle:
Principle #4Asymmetry

Solution Approach 2:

The system changes the parameter of token allocation to compensate for topological asymmetries. By adjusting bandwidth allocation based on measured contention and path characteristics, the system achieves effective load balancing in irregular topologies without requiring symmetric structure.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If load balancing scheme is implemented dynamically, then bandwidth allocation adapts to active masters, but calculation and adjustment overhead increases

Engineering Contradiction:
Improvebandwidth allocation efficiencyVSAvoidcontrol logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements feedback through the token flow control mechanism. The system continuously monitors contention conditions at downstream resources and uses this feedback to dynamically adjust token allocation to masters. This feedback loop enables adaptive bandwidth allocation without requiring complex centralized control, as the adjustment logic is distributed across fabric switches.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The load balancing mechanism is self-regulating through automatic token allocation adjustments. Each fabric switch independently calculates and applies throttle factors based on local contention observations, eliminating the need for complex external control systems while achieving efficient adaptive bandwidth allocation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10491524B2Load balancing scheme
Publication Date: 2019.11.26 ADVANCED MICRO DEVICES INC
  • US10491524B2 patent drawing
  • US10491524B2 patent drawing
  • US10491524B2 patent drawing

AI summary

A system for implementing load balancing schemes includes one or more processing units, a memory, and a communication fabric with a plurality of switches coupled to the processing unit(s) and the memory. A switch of the fabric determines a first number of streams on a first input port that are targeting a first output port. The switch also determines a second number of requestors, from all input ports, that are targeting the first output port. Then, the switch calculates a throttle factor for the first input port by dividing the first number of streams by the second number of streams. The switch applies the throttle factor to regulate bandwidth on the first input port for requestors targeting the first output port. The switch also calculates throttle factors for the other ports and applies the throttle factors when regulating bandwidth on the other ports.