Multiplex Receive Queue Fairness with Dual-Mode QoS Policing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In producer-consumer software models, shared queues lead to fairness issues as heavy producers exclude light producers from adding to the queue, and existing congestion control algorithms fail to address this without network congestion.

Innovation Solution

A hierarchical policer with two levels of meters is used to label packets with three types (type-1, type-2, type-3) and selectively operate in two-level or single-level modes to ensure queue fairness by ensuring minimal access for all producers and reallocating queue capacity based on activity levels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a shared queue is provided for multiple producers and consumers, then the memory footprint is reduced, but fairness is compromised as heavy producers exclude light producers from adding to the queue

Engineering Contradiction:
Improvememory footprintVSAvoidqueue fairness
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The policer is divided into multiple meters, each responsible for monitoring and controlling a specific network flow. These meters segment the queue access control function to ensure that each producer receives fair attention independent of others' traffic volumes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The policer dynamically adjusts its behavior based on real-time conditions by monitoring packet arrival rates and meter statuses. It can transition between different operational modes (single-level and two-level) to adapt to varying network conditions and maintain fairness under different load scenarios.

Inventive Principle:
Principle #15Dynamics

2Reliability

If separate queues are provided for each producer-consumer pair, then queue fairness is ensured, but the memory footprint grows linearly with the number of consumers

Engineering Contradiction:
Improvequeue fairnessVSAvoidmemory footprint
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Multiple producer queues are merged into a single shared queue structure, reducing the total memory footprint. The policer with its multiple meters provides fairness control within this shared queue, eliminating the need for separate queues for each producer while maintaining fair access rights.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If a policer with multiple meters is used to provide queue fairness, then fairness is improved, but the device complexity increases

Engineering Contradiction:
Improvequeue fairnessVSAvoidpolicer structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The policer structure is made dynamic and configurable. It can operate in simplified single-level mode when fairness requirements are low, or switch to two-level mode with multiple meters when stricter fairness is needed. This dynamic adaptation allows the system to balance fairness performance against structural complexity based on actual network conditions.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250343766A1Dual Mode QOS for Multiplex Network Receive Queue
Publication Date: 2025.11.06 MELLANOX TECHNOLOGIES LTD(IL)
  • US20250343766A1 patent drawing
  • US20250343766A1 patent drawing
  • US20250343766A1 patent drawing

AI summary

In one embodiment, a network device includes a network interface to receive packets over a packet data network, packet processing circuitry to manage a multiplex network receive queue, and including a policer to provide queue fairness for a plurality of network flows competing for access to the multiplex network receive queue, and including meters to label the received packets, and selectively operate in (a) a two-level mode with two-levels of the meters, and (b) a single-level mode with a single one of the meters, and queueing logic to add some of the received packets to the multiplex network receive queue and drop others of the received packets responsively to labelling of the packets by the meters.