Priority Bus Arbiter Dynamic Starvation Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing bus arbiters face challenges in avoiding deadlocks and starvation, particularly when lower priority queues are not given a reasonable opportunity to transmit, leading to circular waiting scenarios and system bottlenecks.
Innovation Solution
A scheduler is implemented that prioritizes data units in low priority queues during starvation conditions and allows retransmission of data units from these queues, with the condition being cleared after a specified number of retransmissions, ensuring higher priority queues continue to process data without deadlock.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If higher priority queues are always served first, then processing speed of critical data units is improved, but lower priority queues experience starvation and deadlocks
Solution Approach 1:
The arbiter dynamically adjusts queue priority based on transmission status. When a higher priority queue has pending transmissions, the lower priority queue is elevated to higher priority to prevent starvation. This dynamic adjustment resolves the contradiction by making the system adaptive rather than static, allowing both speed and reliability to be maintained through conditional priority switching.
Solution Approach 2:
The system implements feedback mechanisms where the arbiter monitors transmission status and queue depths. Based on this feedback, the arbiter decides whether to serve higher priority queues first or switch to lower priority queues to prevent starvation. This closed-loop control resolves the contradiction by continuously adjusting arbitration decisions based on system state.
2Ease of operation
If lower priority queues are frequently served to prevent starvation, then fairness is improved, but processing speed of critical data units deteriorates
Solution Approach 1:
The system applies partial action by serving lower priority queues only when necessary (when higher priority queues are empty or transmissions are in progress). This prevents excessive service to lower priority queues that would slow down critical data processing, while still providing enough service to prevent starvation. The arbitration is tuned to provide just enough fairness without sacrificing overall speed.
3Reliability
If retrying is allowed for failed transmissions, then reliability is improved, but deadlocks occur due to circular waiting
Solution Approach 1:
The arbiter preemptively switches to lower priority queues before deadlocks can occur. When a higher priority queue has pending transmissions, the system proactively elevates lower priority queue priority, ensuring that lower priority queues get service opportunities before circular waiting conditions develop. This preliminary action prevents deadlocks while maintaining retry capability for reliability.
Data Source
AI summary
A scheduler provided according to an aspect of the present invention provides higher priority for data units in a low priority queue upon occurrence of a starvation condition, and to packets in a high priority queue otherwise. The scheduler permits retransmission of a data unit in the lower priority queue when in the starvation condition, but clears the starvation condition when the data unit is retransmitted a pre-specified number of times. As a result, the data units in the higher priority queue would continue to be processed, thereby avoiding a deadlock at least in certain situations.


