Headroom Buffer Segmentation for Head-of-Queue Blocking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data center networks face challenges in handling large volumes of data traffic with low packet loss, particularly due to congestion and head-of-queue blocking issues, which are exacerbated by the limited number of priority levels supported by existing Virtual Lanes (VL) and IEEE priority schemes.

Innovation Solution

The proposed solution involves a network element with a headroom buffer and flow-control circuitry that quantifies congestion severity and sends pause-request signaling to peer network elements, instructing them to stop transmitting packets associated with congested buffers and prioritized based on the congestion severity measure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single headroom buffer is used to store packets from multiple queues, then device complexity is reduced, but head-of-queue blocking occurs where high-priority packets cannot be transmitted due to low-priority packet congestion

Engineering Contradiction:
Improvebuffer structureVSAvoidpacket transmission reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The single headroom buffer is segmented into multiple virtual buffers, each associated with a specific priority level or queue. This segmentation allows packets from different queues to be tracked separately, preventing head-of-queue blocking while maintaining a single physical buffer structure, thus resolving the contradiction between device simplicity and transmission reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions or portions of the headroom buffer are allocated with different quality characteristics based on packet priority. High-priority packets are assigned to specific buffer regions with higher protection and faster service, while low-priority packets occupy other regions. This local quality differentiation ensures that high-priority transmission reliability is maintained without requiring completely separate physical buffers.

Inventive Principle:
Principle #3Local quality

2Reliability

If pause-request signaling is sent to stop all packet transmissions during congestion, then packet loss is reduced, but transmission productivity decreases due to halted high-priority traffic

Engineering Contradiction:
Improvepacket loss rateVSAvoidpacket transmission rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Pause-request signaling is applied locally to specific queues or priority levels rather than globally to all traffic. When congestion is detected, only low-priority queues receive pause requests while high-priority queues continue transmission. This selective application maintains overall productivity by keeping critical traffic flowing while still protecting against packet loss in congested low-priority channels.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The pause-request mechanism is made dynamic and adaptive based on real-time congestion conditions and packet priority. Instead of a static all-or-nothing pause approach, the system dynamically adjusts which queues receive pause requests based on current buffer occupancy, packet priorities, and congestion severity, thereby maintaining productivity for high-priority traffic while reducing packet loss overall.

Inventive Principle:
Principle #15Dynamics

3Reliability

If multiple separate headroom buffers are allocated for each queue, then head-of-queue blocking is eliminated, but device complexity and resource utilization increase

Engineering Contradiction:
Improvepacket transmission reliabilityVSAvoidbuffer management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Multiple logical buffers for different queues are merged into a single physical headroom buffer structure. The single buffer is managed with additional control mechanisms such as priority tags, queue identifiers, and segmented regions that allow multiple queues to share the buffer space while maintaining separate tracking. This merging reduces device complexity compared to having completely separate physical buffers while still preventing head-of-queue blocking through logical separation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The single headroom buffer is designed to serve multiple functions and multiple queues simultaneously. It acts as a universal buffer that can accommodate packets from any queue while maintaining the ability to prioritize and manage different queue types within the same structure. This multi-functionality eliminates the need for separate dedicated buffers for each queue, reducing complexity while maintaining transmission reliability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Reliability

If priority-based packet selection is implemented during congestion, then high-priority packet delivery is improved, but measurement and control difficulty increases due to congestion severity quantification

Engineering Contradiction:
Improvehigh-priority packet deliveryVSAvoidcongestion severity measurement
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

Congestion severity is measured and controlled using simplified parameters such as buffer occupancy thresholds and packet drop rates rather than complex multi-dimensional metrics. The system monitors basic buffer fill levels and triggers priority-based packet selection when predefined thresholds are exceeded. This parameter simplification makes congestion measurement and control more manageable while still effectively improving high-priority packet delivery through priority queuing and selective transmission.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12231343B2Head-of-queue blocking for multiple lossless queues
Publication Date: 2025.02.18 MELLANOX TECHNOLOGIES LTD(IL)
  • US12231343B2 patent drawing
  • US12231343B2 patent drawing
  • US12231343B2 patent drawing

AI summary

A network element includes a transmit-queue for transmitting packets from at least two sources, each source having a predefined priority level, to a headroom buffer in a peer network element. Flow-control circuitry receives from the peer network element signaling that indicates a number of credits for transmitting packets to the peer network element, manages a current number of credits available for transmission from the transmit-queue, responsive to the signaling, selects a threshold priority based on the current number of credits for the transmit-queue; and transmits packets associated with data sources of the transmit-queue that are higher in priority than the threshold priority, and refrain from transmitting other packets associated with the transmit-queue.