Packet Arbitration Using Age-Based Thresholds to Prevent Starvation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In packet switching networks, particularly in request/response types, higher priority packets often starve lower priority packets, leading to reduced throughput and excessive latency due to strict priority-based arbitration, which can result in deadlock scenarios and inefficient bandwidth utilization.
Innovation Solution
A method and system for arbitration in information packet controllers that prioritize packets based on their quality of service and age in the queue, allowing for fair transmission and avoiding starvation of lower priority packets by using a threshold-based approach that considers available storage credits and retry notifications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If strict priority-based arbitration is used to transmit higher priority packets first, then quality of service for high priority packets is improved, but lower priority packets are starved and not transmitted
Solution Approach 1:
The arbitration scheme dynamically adjusts packet selection based on queue age and priority levels. Instead of static priority arbitration, the system adaptively promotes older low-priority packets when they meet certain age thresholds, while still allowing high-priority packets to be transmitted when available and young. This dynamic adjustment resolves the contradiction by making the arbitration flexible rather than rigid.
Solution Approach 2:
The invention changes the arbitration parameters by introducing an age-based threshold mechanism. Packets are evaluated not only on priority level but also on their age in the queue. When low-priority packets exceed the age threshold, their effective priority is adjusted upward, allowing them to be transmitted. This parameter change enables the system to balance between serving high-priority traffic and preventing starvation of low-priority traffic.
2Reliability
If higher priority packets are sent first to avoid deadlock, then system reliability is improved, but bandwidth utilization becomes inefficient
Solution Approach 1:
The system applies partial priority arbitration rather than strict priority arbitration. Instead of always transmitting high-priority packets first, the system transmits them only when necessary (when they are young and meet priority thresholds). When high-priority packets are not available or when low-priority packets have exceeded age thresholds, the system transmits low-priority packets. This partial application of priority-based arbitration maintains reliability while improving bandwidth utilization.
Solution Approach 2:
The arbitration mechanism periodically evaluates packets based on their age and priority, creating a rhythmic pattern of transmission decisions. The system continuously monitors queue ages and adjusts transmission priorities accordingly, creating a periodic review process that prevents permanent starvation of low-priority packets while maintaining the ability to prioritize high-priority traffic when appropriate.
3Loss of time
If multiple levels of priority are implemented for request packets, then quality of service for delivery time is improved, but low priority packets are starved for extended periods
Solution Approach 1:
The system dynamically adjusts the effective priority of packets based on their age in the queue. Low-priority packets that have been waiting for extended periods automatically gain priority boosts when they exceed certain age thresholds. This dynamic priority adjustment ensures that while high-priority packets receive fast service, low-priority packets are eventually transmitted within reasonable time frames, preventing excessive waiting periods.
Solution Approach 2:
The arbitration mechanism incorporates feedback from queue age information to adjust transmission decisions. The system continuously monitors how long packets have been waiting and uses this feedback to modify their transmission priority. When low-priority packets have waited too long, the age feedback triggers their promotion in the arbitration hierarchy, ensuring they are transmitted within acceptable time frames while still allowing high-priority traffic to be served first when appropriate.
Data Source
AI summary
A method is provided for performing arbitration in an information packet controller. The method includes transmitting different types of information packets from an initiator to a receiver. One type of information packet has a quality of service requiring a faster transmission time from the initiator to the receiver than another type of information packet having a quality of service having a slower transmission time from the initiator to the receiver. The transmitting of the information packets from the initiator to the receiver is in accordance with priority assigned to the information packet, the quality of service assigned to the information packet, and the age of such information packets having been stored in a queue of the initiator, such quality of service being a function of the speed at which the packets are required to pass from the initiator to a receiver.


