Telemetry-Based Fine-Grained Routing for Congested System Interconnects
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional interconnection networks in high-performance computing systems face challenges in swiftly adapting to congestion due to endpoint latency, leading to instability and inefficient bandwidth utilization, particularly in topologies with non-minimal paths.
Innovation Solution
Implementing fine-grained adaptive routing at switches that dynamically load balance packets across multiple output ports based on real-time network capacity, using a dynamic port table to distribute traffic evenly and avoid congestion.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If endpoint-based adaptive routing is used, then implementation complexity is reduced, but response time to congestion increases due to latency
Solution Approach 1:
The routing decision-making process is segmented from the endpoint to the switch infrastructure. Each switch independently makes routing decisions based on local congestion information received through telemetry, eliminating the need for endpoints to monitor and respond to network-wide congestion conditions. This segmentation reduces endpoint complexity while enabling rapid local response to congestion.
Solution Approach 2:
A telemetry-based feedback mechanism is implemented where switches monitor their own congestion conditions and use this information to dynamically adjust routing decisions. The feedback loop operates at the switch level rather than endpoint level, enabling real-time congestion response without the latency inherent in endpoint-based approaches.
2Productivity
If non-minimal paths are enabled, then bandwidth utilization improves, but flow ordering becomes difficult to maintain
Solution Approach 1:
The routing algorithm dynamically selects between minimal and non-minimal paths based on real-time congestion conditions. Switches use telemetry information to determine when non-minimal paths are appropriate, enabling adaptive bandwidth utilization while maintaining flow ordering through coordinated path selection across the network.
Solution Approach 2:
Different routing behaviors are applied locally at each switch based on its specific congestion conditions. Each switch independently evaluates whether to use minimal or non-minimal paths for incoming flows, allowing localized optimization of bandwidth utilization while maintaining overall flow ordering through the distributed decision-making process.
3Productivity
If load balancing is implemented, then congestion is reduced, but routing complexity at switches increases
Solution Approach 1:
Switches perform self-service load balancing by autonomously monitoring their own congestion conditions through local telemetry and making independent routing decisions. Each switch serves itself by generating and using its own congestion metrics, eliminating the need for centralized control or complex inter-switch coordination protocols.
Solution Approach 2:
Switches pre-compute and cache routing decisions based on current congestion conditions, so that when packets arrive, the routing decision is already determined. This preliminary action reduces the real-time complexity of packet forwarding while maintaining effective load balancing across the network.
Data Source
Figure 1A
Figure 1B
Figure 1C
AI summary
A switch is provided for routing packets in an interconnection network. The switch includes egress ports to transmit packets, and ingress ports to receive packets. The switch also includes a buffer capacity circuit configured to obtain local buffer capacity for buffers configured to buffer packets transmitted via the switch. The switch also includes a telemetry circuit configured to receive telemetry flow control units from next switches coupled to the switch. Each telemetry flow control unit corresponds to buffer capacity at a respective next switch. The switch also includes a network capacity circuit configured to compute network capacity for transmitting packets to a destination based on the telemetry flow control units and the local buffer capacity. The switch also includes a routing circuit configured to receive packets via the ingress ports, and route the packets to the destination, via the egress ports, with bandwidth proportional to the network capacity.