Dual Arbiter Circuit for Fair Resource Arbitration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Round-robin arbitration in shared resource access can lead to fairness issues when requesters require credits from multiple credit pools, causing some requesters to be stuck waiting due to higher priority requests consuming available credits.
Innovation Solution
The implementation of a dual-arbitration system using a pending arbiter (PA) and a valid arbiter (VA), where the PA prioritizes requesters based on their pending state and the VA prioritizes based on valid states, ensuring that a requester waiting for a specific credit is not bypassed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If round-robin arbitration is used for shared resource access, then rotation of requester priorities is achieved, but fairness is compromised when requesters require credits from multiple credit pools
Solution Approach 1:
The arbitration system is divided into two separate arbiters: a pending arbiter that manages requesters waiting for credits, and a valid arbiter that manages requesters with available credits. This segmentation allows each arbiter to handle specific arbitration aspects independently, preventing the fairness issues that arise in traditional round-robin systems where a single arbiter must handle all credit types simultaneously.
Solution Approach 2:
The pending arbiter acts as an intermediary between requesters waiting for credits and the valid arbiter. It holds pending requests and only allows them to proceed to the valid arbiter when the required credits become available, ensuring that requesters are not bypassed due to higher-priority requests consuming credits.
2Device complexity
If a single arbiter manages all credit pools, then device complexity is reduced, but requesters may be stuck waiting due to credit consumption by higher priority requests
Solution Approach 1:
Instead of using a single arbiter for all credit pools, the system segments arbitration into two specialized arbiters. The pending arbiter specifically tracks requesters waiting for credits across multiple pools, while the valid arbiter handles active requests. This segmentation prevents requesters from being stuck waiting, as the pending arbiter ensures they are not bypassed when credits become available.
3Productivity
If round-robin arbitration allows higher priority requests to consume credits, then resource utilization is improved, but fairness among requesters deteriorates
Solution Approach 1:
The system segments arbitration into pending and valid stages. The pending arbiter maintains fairness by ensuring requesters wait their turn for credit availability, while the valid arbiter optimizes resource utilization by granting access to requesters with available credits. This two-stage approach allows both fairness and efficient resource utilization to coexist.
Data Source
AI summary
A circuit and corresponding method perform resource arbitration. The circuit comprises a pending arbiter (PA) that outputs a PA selection for accessing a resource. The PA selection is based on PA input. The PA input represents respective pending-state of requesters of the resource. The circuit further comprises a valid arbiter (VA) that outputs a VA selection for accessing the resource. The VA selection is based on VA input. The VA input represents respective valid-state of the requesters. The circuit performs a validity check on the PA selection output. The circuit outputs a final selection for accessing the resource by selecting, based on the validity check performed, the PA selection output or VA selection output. The circuit addresses arbitration fairness issues that may result when multiple requesters are arbitrating to be selected for access to a shared resource and such requesters require a credit (token) to be eligible for arbitration.


