Multiplex Receive Queue Fairness with Dual-Mode QoS Policing
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Reliability
If a policer with multiple meters is used to provide queue fairness, then fairness is improved, but the device complexity increases
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.
Data Source
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.


