Static Dispersive Routing for HPC Packet Order and Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-performance computing systems face challenges in maintaining in-order packet processing and efficient routing between sources and destinations, particularly in determining whether to use minimal or non-minimal hops and selecting the appropriate parallel cables, which affects bandwidth utilization and congestion management.

Innovation Solution

The implementation of static dispersive routing, which generates an entropy value and a destination local identifier (DLID) for packet headers, allowing switches to route packets in a fixed order using either minimal or non-minimal paths, thereby maximizing bandwidth and minimizing congestion across multi-coordinate fabrics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If static routing is used to maintain in-order packet processing, then packet order is preserved, but routing flexibility and bandwidth utilization are reduced

Engineering Contradiction:
Improvepacket orderVSAvoidbandwidth utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The routing process is segmented into two independent components: static routing decisions that preserve packet order, and entropy-based dispersion that maximizes bandwidth utilization. Each packet is segmented into header (containing entropy value) and payload, with the entropy value guiding the routing path selection to balance order preservation and resource utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the routing parameter from simple destination addressing to entropy-based multi-coordinate routing. By incorporating an entropy value as an additional routing parameter, the system enables packets to be dispersed across multiple paths while maintaining flow order, thereby improving bandwidth utilization without sacrificing reliability.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If multiple parallel cables are used to increase bandwidth, then resource utilization improves, but determining which cable to use increases routing complexity

Engineering Contradiction:
ImprovebandwidthVSAvoidrouting complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The entropy value is pre-calculated and embedded in the packet header before transmission. This preliminary action provides the routing information needed to select among multiple parallel cables, eliminating the need for complex real-time routing decisions at each switch and simplifying the routing process while maximizing bandwidth utilization.

Inventive Principle:
Principle #10Preliminary action

3Speed

If minimal hops are used to reduce latency, then speed improves, but congestion vulnerability increases

Engineering Contradiction:
ImprovelatencyVSAvoidcongestion resistance
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The routing system transitions from single-dimension minimal-hop routing to multi-coordinate entropy-based routing. By adding entropy as an additional dimension for path selection, the system can choose from multiple coordinates (paths) with similar latency characteristics, dispersing traffic to avoid congestion while maintaining speed through optimal path selection.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS20230403231A1Static dispersive routing
Publication Date: 2023.12.14 CORNELIS NETWORKS INC
  • US20230403231A1 patent drawing
  • US20230403231A1 patent drawing
  • US20230403231A1 patent drawing

AI summary

Methods, systems, and products for static dispersive routing of packets in a high-performance computing (‘HPC’) environment are provided. Embodiments include generating an entropy value; receiving, by a switch, a plurality of packets, where each packet includes a header with the entropy value and a destination local identifier (‘DLID’) value; and routing, by the switch in dependence upon the entropy value and the DLID value, the packets to a next switch in order.