Dynamic Packet Prioritization Preventing Queue Starvation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing packet prioritization techniques in data center networks can lead to starvation of low priority queues, especially when the value of 'n' is large, which hinders the acceleration of mice flows and causes packet drops, while a small 'n' fails to fully speed up mice flows due to insufficient prioritization.
Innovation Solution
Implementing a dynamic tuning mechanism for the value of 'n' based on traffic distribution, where the high priority queue is temporarily disabled when it becomes full, allowing the low priority queue to be serviced, and re-enabling it when the high priority queue empties, ensuring that the low priority queue is not starved and minimizing reordering issues.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a large value of n is used in packet prioritization, then mice flows can be better accelerated, but the low priority queue becomes starved out
Solution Approach 1:
The patent applies dynamics by making the value of n adaptive rather than fixed. The system dynamically adjusts n based on real-time network conditions, specifically monitoring the state of high and low priority queues. When the high priority queue accumulates too many packets, n is reduced to allow low priority queue service; when the high priority queue is clear, n is increased to accelerate mice flows. This dynamic adjustment resolves the contradiction between accelerating mice flows and preventing low priority queue starvation.
Solution Approach 2:
The patent changes the parameter n based on system state. By monitoring queue lengths and adjusting n accordingly, the system transitions between different prioritization intensities. This parameter change allows the system to optimize mice flow acceleration when conditions permit while preventing low priority queue starvation when high priority traffic dominates, thus resolving the technical contradiction.
2Quantity of substance
If a small value of n is used in packet prioritization, then low priority queue starvation is avoided, but mice flows cannot be fully sped up
Solution Approach 1:
The system dynamically adjusts n upward when the high priority queue is empty or has few packets, allowing mice flows to receive sufficient prioritization for acceleration. When high priority traffic increases, n is reduced to ensure low priority queue service. This dynamic behavior resolves the contradiction by adapting prioritization intensity to current traffic conditions rather than using a fixed conservative value.
Solution Approach 2:
The patent implements parameter changes by adjusting n based on queue state monitoring. When conditions are favorable (low high priority queue occupancy), n is increased to maximize mice flow acceleration. When high priority traffic dominates, n is decreased to prevent low priority queue starvation. This parameter adaptation resolves the contradiction between preventing starvation and accelerating mice flows.
3Reliability
If strict priority queue is always serviced first, then mice flows avoid packet drops, but low priority queue experiences starvation
Solution Approach 1:
The patent implements periodic action by intermittently servicing the low priority queue based on the state of the high priority queue. Instead of continuous strict priority service, the system periodically allows low priority queue service when the high priority queue is empty or below a threshold. This periodic interruption of strict priority service prevents low priority queue starvation while maintaining mice flow reliability during critical periods.
Solution Approach 2:
The patent uses the high priority queue state as an intermediary condition to control access to the low priority queue. The state of the high priority queue mediates whether packets from the low priority queue can be serviced. This intermediary mechanism allows the system to balance between protecting mice flows (when high priority queue is clear) and preventing low priority queue starvation (when high priority queue is occupied), resolving the contradiction between reliability and starvation prevention.
Data Source
AI summary
A method is provided in one example embodiment and includes determining whether a packet received at a network node in a communications network is a high priority packet; determining whether a low priority queue of the network node has been deemed to be starving; if the packet is a high priority packet and the low priority queue has not been deemed to be starving, adding the packet to a high priority queue, wherein the high priority queue has strict priority over the low priority queue; and if the packet is a high priority packet and the low priority queue has been deemed to be starving, adding the packet to the low priority queue.


