Adaptive Packet Routing for Multiprocessor Network Congestion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multiprocessor networks face challenges in dynamically balancing network load and avoiding congestion, particularly in cluster-type interconnection networks, where traditional routing algorithms fail to efficiently distribute traffic across available links, leading to suboptimal latency and bandwidth utilization.

Innovation Solution

The implementation of adaptive packet routing mechanisms that map each destination address to both primary and secondary output port sets, using heuristics such as congestion sensing and random or deterministic routing types to select the most appropriate output port, ensuring dynamic load balancing and minimizing congestion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If traditional routing algorithms are used, then device complexity is reduced, but network load balancing and congestion avoidance deteriorate

Engineering Contradiction:
Improverouting algorithm complexityVSAvoidnetwork load balancing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The routing algorithm is segmented into two distinct components: a deterministic routing component that provides baseline functionality with low complexity, and an adaptive routing component that dynamically adjusts paths based on congestion sensing. This segmentation allows each component to be optimized independently, maintaining overall system simplicity while improving load balancing efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The routing algorithm transitions from static traditional methods to dynamic adaptive routing that continuously senses network congestion and adjusts output port selection in real-time. The system dynamically switches between deterministic and adaptive modes based on current network conditions, enabling efficient load balancing without permanently increasing device complexity.

Inventive Principle:
Principle #15Dynamics

2Productivity

If adaptive routing with multiple output port sets is implemented, then network load balancing improves, but device complexity increases

Engineering Contradiction:
Improveload balancing efficiencyVSAvoidrouting device complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Multiple output port sets (primary and secondary) are pre-configured in the routing device during system initialization or offline planning. This preliminary action allows the device to have ready-made alternative paths stored in lookup tables, so that during operation, the device only needs to perform simple table lookups and comparisons rather than complex real-time path computation, thus improving load balancing without significantly increasing operational complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The routing device implements congestion sensing that continuously monitors network conditions and provides feedback to the arbitration logic. This feedback mechanism allows the system to automatically select between primary and secondary output port sets based on real-time congestion status, achieving efficient load balancing through a relatively simple feedback-driven selection process rather than complex multi-variable optimization.

Inventive Principle:
Principle #23Feedback

3Object-affected harmful factors

If congestion sensing heuristics are used, then congestion avoidance improves, but measurement precision requirements increase

Engineering Contradiction:
Improvenetwork congestionVSAvoidcongestion detection precision
Core Design Contradiction:
Object-affected harmful factorsVSMeasurement precision

Solution Approach 1:

The congestion sensing mechanism uses simple, inexpensive metrics such as queue depth counters and basic occupancy thresholds rather than complex precision measurements. These lightweight congestion indicators are easily maintained and updated, providing sufficient information for routing decisions without requiring high-precision measurement infrastructure. The system accepts that these are approximate measures rather than precise metrics, trading measurement precision for implementation simplicity.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The system monitors changes in congestion parameters (such as queue depth variations, credit return rates) over time rather than relying on absolute precision at any single moment. By detecting trends and changes in congestion state, the system can make effective routing decisions based on parameter variations rather than requiring precise absolute measurements, thus reducing measurement precision requirements while maintaining congestion avoidance effectiveness.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8730965B2Systems and methods for dynamic routing in a multiprocessor network using local congestion sensing
Publication Date: 2014.05.20 GOOGLE LLC
  • US8730965B2 patent drawing
  • US8730965B2 patent drawing
  • US8730965B2 patent drawing

AI summary

Adaptive packet routing is employed in a multiprocessor network configuration such as an InfiniBand switch architecture. Packets are routed from host to host through one or more switches. Upon receipt of a packet at a switch, the packet header is inspected to determine the destination host. A destination field in the header is used to index into a lookup table or other memory, which produces a route type and an output port grouping. Depending on the route type, one or more primary and secondary output port candidates are identified. An output port arbitration module chooses an output port from which to send a given packet, using congestion sensing inputs for the specified ports. A heuristic may include the congestion information that is provided to the arbitration module. Switching may be performed among minimal or non-minimal routes along each hop in the path, depending upon link and packet injection information.