Modular Switch Buffer Optimization via Hash Table Reordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modular switches face challenges in achieving high throughput due to head-of-line congestion and inefficiencies in hash-based forwarding, which leads to packet disorder and increased memory allocation requirements.

Innovation Solution

Implementing a packet buffer architecture using hash tables to manage reorder domains, reducing memory needs and congestion by storing packet descriptors with incremental sequence numbers, and employing a bandwidth manager to optimize credit allocation and packet forwarding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If hash-based forwarding is used to ensure flow ordering, then packet ordering is maintained, but head-of-line congestion occurs and throughput is reduced

Engineering Contradiction:
Improvepacket orderingVSAvoidthroughput
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent segments the reorder buffer into multiple smaller buffers, each dedicated to a specific flow or ordering domain. This segmentation allows parallel processing of different flows simultaneously, eliminating the head-of-line congestion that occurs when a single buffer must sequentially process all packets. Each segment can independently reorder packets for its assigned flow without blocking other flows, thereby maintaining packet ordering while improving overall throughput.

Inventive Principle:
Principle #1Segmentation

2Reliability

If static buffer allocation is used to handle packet disorder, then packet reordering capability is provided, but memory allocation requirements increase

Engineering Contradiction:
Improvepacket reordering capabilityVSAvoidmemory allocation
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic buffer allocation where buffer resources are allocated based on actual traffic patterns and flow requirements rather than static pre-allocation. The system monitors packet disorder levels and dynamically adjusts buffer sizes and assignments, allowing memory resources to be efficiently utilized only when needed for reordering, thereby reducing overall memory allocation while maintaining reliable packet reordering capability.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If dynamic reorder buffer sizes are used to reduce memory, then memory efficiency improves, but linked list management complexity increases

Engineering Contradiction:
Improvememory efficiencyVSAvoidlinked list management
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent replaces the mechanical linked list management system with a more efficient data structure or indexing mechanism. Instead of using linked lists that require complex node management and pointer operations, the system employs direct addressing tables, hash tables, or array-based structures that provide O(1) access and eliminate the need for intricate list manipulation, thereby reducing management complexity while maintaining dynamic buffer size benefits.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Quantity of substance

If external packet buffers are used to provide buffering capacity, then buffer capacity is increased, but access speed decreases

Engineering Contradiction:
Improvebuffer capacityVSAvoidaccess speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent implements a nested buffer architecture where small, fast reorder buffers are nested within or integrated with larger, slower external packet buffers. The fast internal buffers handle time-critical reordering operations with minimal latency, while the larger external buffers provide additional capacity for long-term storage and overflow handling. This hierarchical nesting allows the system to achieve both high buffer capacity and fast access speeds by appropriately matching buffer types to operational requirements.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS10645033B2Buffer optimization in modular switches
Publication Date: 2020.05.05 MELLANOX TECHNOLOGIES LTD(IL)
  • US10645033B2 patent drawing
  • US10645033B2 patent drawing
  • US10645033B2 patent drawing

AI summary

In a packet network of ingress nodes and egress nodes connected by a fabric transmit queues are associated with a hash table that stores packet descriptors. When new packets are received in the ingress nodes, credits are obtained from the egress nodes that reflect capacities of the transmit queues to accommodate the new packets. The credits are consumed by transmitting at least a portion of the new packets from the ingress nodes to the egress nodes via the fabric and storing descriptors of the new packets in a hash table. In order to transmit the packets in order by sequence number, when a desired packet sequence number is found by a hash lookup, the new packet having that sequence number is forwarded through the egress nodes.