Arbitration Circuit Source Count Fairness
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High-performance computer systems face contention for access to shared resources, such as local memory, where existing arbitration schemes often prioritize bandwidth or number of queues, leading to inefficient and unfair access among processors.
Innovation Solution
An arbitration circuit is implemented to regulate access to a shared resource based on a turn-based arbitration scheme, using source counts to track and balance access among multiple data streams, preventing excessive access by any single source node and ensuring fair distribution through mechanisms like round-robin or least recently used schemes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If arbitration schemes prioritize bandwidth or number of queues, then resource access efficiency is improved, but fairness among processors deteriorates
Solution Approach 1:
The patent implements a feedback mechanism where the arbiter monitors the number of grants provided to each source node and adjusts arbitration decisions based on this information. This feedback loop ensures that source nodes that have received sufficient grants are temporarily blocked from further requests, while others continue to receive service, thereby achieving both efficiency and fairness
Solution Approach 2:
The arbitration scheme dynamically adjusts the blocking state of source nodes based on real-time grant counts. The arbiter transitions source nodes between blocked and unblocked states according to whether their grant threshold is reached, creating a dynamic balancing mechanism that adapts to changing traffic patterns and maintains fairness
2Ease of operation
If turn-based arbitration with source counts is implemented, then fairness among source nodes is improved, but device complexity increases
Solution Approach 1:
The patent segments the arbitration function into distinct components: grant counters for tracking grants per source node, threshold comparison logic for determining when to block, and state management for transitioning between blocked and unblocked states. This segmentation makes the complex arbitration logic more manageable and implementable
Solution Approach 2:
The arbiter acts as an intermediary between source nodes and the shared resource, mediating access by monitoring grant counts and enforcing blocking decisions. This intermediary role simplifies the overall system by centralizing the fairness enforcement logic in a single component rather than distributing complexity across multiple nodes
3Ease of operation
If source nodes are blocked after reaching grant threshold, then resource distribution fairness is improved, but access time for blocked nodes increases
Solution Approach 1:
The blocking mechanism operates periodically in a round-robin fashion, cycling through source nodes and granting access in turns. When a source node reaches its grant threshold, it is blocked temporarily, but the system continues to serve other nodes, creating a periodic service pattern that ensures all nodes eventually receive fair access over time
Data Source
AI summary
Example implementations relate to arbitrating access to a shared resource for a plurality of data streams. An example implementation includes selecting a data stream from the plurality of data streams according to an arbitration scheme. A data packet of the selected data stream may be granted access to the shared resource. A source count associated with a source of the data packet may be adjusted, and the arbitration scheme may be blocked from selecting the data stream where the source count exceeds a threshold.


