Distributed Resource Arbitration for Fair SoC Bandwidth Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-core System on Chip (SoC) designs, managing access to shared resources among multiple requesters is challenging, leading to potential deadlocks and unfair bandwidth distribution, which affects processing efficiency and responsiveness, especially in high-performance computing applications.
Innovation Solution
Implementing a distributed arbitration scheme with separate pipeline stages for CPU and DMA transactions, weighted-priority-driven bandwidth allocation, and dynamic priority adjustment to ensure fair access and minimize contention, along with separate return paths and interfaces for each requester.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a priority scheme is used to manage access to shared resources in multi-core SoC designs, then resource access order is controlled, but deadlocks and unfair bandwidth distribution occur
Solution Approach 1:
The patent implements dynamic priority adjustment where the arbitration priority of a requester is not fixed but changes based on its recent access history. The system monitors the number of consecutive arbitration wins for each requester and dynamically adjusts priorities to ensure fair bandwidth distribution while preventing deadlocks in multi-core SoC environments
Solution Approach 2:
The system incorporates feedback mechanisms by monitoring arbitration outcomes and using this information to adjust future arbitration decisions. The arbitration logic tracks access patterns and uses this feedback to dynamically modify priority assignments, ensuring both deadlock prevention and fair resource allocation
2Productivity
If multiple requesters access shared memory resources simultaneously, then processing throughput increases, but contention and deadlocks increase
Solution Approach 1:
The arbitration system dynamically adjusts requester priorities based on real-time access patterns and contention levels. When contention is detected, the system modifies priority assignments to balance throughput maintenance with contention reduction, preventing deadlocks while preserving high data throughput
Solution Approach 2:
The system changes arbitration parameters (priority values) dynamically based on system state. By modifying these parameters in response to contention conditions, the system maintains high throughput while managing contention and preventing deadlocks effectively
Data Source
AI summary
Management of access to shared resources within a system comprising a plurality of requesters and a plurality of target resources is provided. A separate arbitration point is associated with each target resource. An access priority value is assigned to each requester. An arbitration contest is performed for access to a first target resource by requests from two or more of the requesters using a first arbitration point associated with the first target resource to determine a winning requester. The request from the winning requester is forwarded to a second target resource. A second arbitration contest is performed for access to the second target resource by the forwarded request from the winning requester and requests from one or more of the plurality of requesters using a second arbitration point associated with the second target resource.


