Dynamic Shared Headroom Buffer Allocation in Switches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Shared-memory switches in PFC-enabled networks face inefficiencies in buffer allocation, as they statically allocate worst-case headroom buffers, leading to high RAM costs and underutilization, limiting their capacity to support multiple priority groups.

Innovation Solution

Implementing a shared headroom buffer pool that is dynamically adjustable, allowing each port-priority tuple to consume buffers as needed, with initial allocation based on worst-case values but significantly smaller than conventional methods, and dynamically increasing or decreasing based on utilization thresholds.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If shared-memory switches statically allocate worst-case headroom buffers to each port-priority tuple, then lossless performance is maintained, but RAM requirements increase and buffer utilization efficiency decreases

Engineering Contradiction:
Improvelossless performanceVSAvoidRAM requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges separate headroom buffer allocations for multiple port-priority tuples into a single shared headroom buffer pool. Instead of allocating dedicated buffers to each port-priority tuple (PPT), the system creates one communal buffer that serves all PPTs, allowing dynamic sharing and reducing total RAM requirements while maintaining lossless performance guarantees.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements dynamic buffer allocation within the shared headroom buffer pool, where buffer resources are allocated and released based on real-time utilization needs of different PPTs. The system monitors buffer usage and dynamically adjusts allocations, transitioning from static worst-case provisioning to adaptive resource management that responds to actual traffic patterns.

Inventive Principle:
Principle #15Dynamics

2Reliability

If shared-memory switches statically allocate worst-case headroom buffers, then buffer availability is guaranteed, but buffer utilization efficiency decreases

Engineering Contradiction:
Improvebuffer availabilityVSAvoidbuffer utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent incorporates feedback mechanisms that monitor headroom buffer utilization across the shared pool. The system tracks buffer usage patterns, identifies when buffers are available or exhausted, and uses this information to dynamically adjust allocations to different PPTs. This feedback loop ensures buffer availability is maintained while optimizing utilization efficiency by allocating buffers based on actual demand rather than static worst-case assumptions.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If shared-memory switches allocate smaller shared headroom buffer pools, then RAM costs decrease, but buffer sufficiency under worst-case traffic patterns may be compromised

Engineering Contradiction:
ImproveRAM costsVSAvoidbuffer sufficiency
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent changes the fundamental parameter of buffer allocation from fixed per-PPT worst-case values to a dynamic shared pool model. By transforming the allocation paradigm and introducing dynamic adjustment mechanisms, the system can operate with smaller total buffer pools while maintaining sufficiency under varying traffic conditions through adaptive resource distribution rather than static over-provisioning.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10038652B2Self tuning buffer allocation in a shared-memory switch
Publication Date: 2018.07.31 DELL PROD LP
  • US10038652B2 patent drawing
  • US10038652B2 patent drawing
  • US10038652B2 patent drawing

AI summary

An N-port, shared-memory switch allocates a shared headroom buffer pool (Ps) for a priority group (PG). Ps is smaller than a worst case headroom buffer pool (Pw), where Pw equals the sum of worst case headrooms corresponding to each port-priority tuple (PPT) associated with the PG. Each worst case headroom comprises headroom required to buffer worst case, post-pause, traffic received on that PPT. Subject to a PPT maximum, each PPT may consume Ps as needed. Because rarely will all PPTs simultaneously experience worst case traffic, Ps may be significantly smaller than Pw, e.g., Ps<(Pw/A) where M>=2. Ps may be size-adjusted based on utilization of Ps, without halting traffic to or from the switch. If Ps utilization exceeds an upper utilization threshold, Ps may be increased, subject to a maximum threshold (Pmax). Conversely, if utilization falls below a lower utilization threshold, Ps may be decreased.