Adaptive Switch Routing with Engineered Damping for Congestion Stability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional high-performance system interconnects face challenges in efficiently managing congestion and maintaining in-order flow due to endpoint latency in adaptive routing, leading to instability and inefficient bandwidth utilization.
Innovation Solution
Implementing load-balanced fine-grained adaptive routing at switches, which dynamically distribute packet streams across multiple output ports based on real-time network capacity, using dynamic port tables and pseudo-random sequences to balance traffic and avoid congestion.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If endpoint adaptive routing is used, then implementation complexity is reduced, but response time to congestion increases
Solution Approach 1:
The patent introduces switches as intermediary devices that perform adaptive routing functions. The switch receives packets from endpoints and makes routing decisions based on real-time congestion information from multiple paths, acting as a mediator between the endpoint and the network core. This transfers the routing intelligence from the endpoint to the network infrastructure, resolving the contradiction between simplicity and responsiveness.
Solution Approach 2:
The patent implements feedback mechanisms where switches monitor congestion levels on multiple paths and dynamically adjust routing decisions based on this feedback. The switch collects congestion information from different network paths and uses this feedback to select optimal routes, enabling rapid response to changing network conditions without increasing endpoint complexity.
2Productivity
If non-minimal paths are enabled, then bandwidth utilization improves, but flow ordering becomes difficult to maintain
Solution Approach 1:
The patent segments the network path into multiple virtual channels or lanes, allowing different segments of a flow to traverse different paths while maintaining overall order. By dividing the routing space into segmented virtual channels, the system can utilize non-minimal paths for some segments while preserving flow ordering through careful management of segment boundaries and reassembly points.
Solution Approach 2:
The patent implements dynamic path selection where the routing algorithm can adaptively choose between minimal and non-minimal paths based on real-time congestion conditions. The system dynamically adjusts path selection to maintain flow ordering when necessary while exploiting non-minimal paths for load balancing when conditions permit, making the routing behavior flexible and context-dependent.
3Object-generated harmful factors
If load balancing is implemented, then congestion is reduced, but routing complexity increases
Solution Approach 1:
The patent changes routing parameters dynamically based on network conditions, such as selecting from multiple predefined paths or adjusting path weights based on congestion metrics. By parameterizing the routing decision space and allowing dynamic adjustment of these parameters, the system achieves load balancing without requiring fundamentally complex routing logic, instead using configurable parameters to adapt to changing conditions.
Data Source
Figure 1A
Figure 1B
Figure 1C
AI summary
A switch is provided for routing packets in an interconnection network. The switch includes a plurality of egress ports to transmit packets. The switch also includes one or more ingress ports to receive packets. The switch also includes a port and bandwidth capacity circuit configured to obtain (i) port capacity for a plurality of egress ports of the switch, and (ii) bandwidth capacity for transmitting packets to a destination. The switch also includes a network capacity circuit configured to compute network capacity, for transmitting packets to the destination, via the plurality of egress ports, based on a function of the port capacity and the bandwidth capacity. The switch also includes a routing circuit configured to route one or more packets received via one or more ingress ports of the switch, to the destination, via the plurality of egress ports, based on the network capacity.