Distributed Resource Arbitration for Fair SoC Bandwidth Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedeadlock preventionVSAvoidbandwidth distribution fairness
Core Design Contradiction:
ReliabilityVSProductivity

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #23Feedback

2Productivity

If multiple requesters access shared memory resources simultaneously, then processing throughput increases, but contention and deadlocks increase

Engineering Contradiction:
Improvedata throughputVSAvoidcontention management
Core Design Contradiction:
ProductivityVSReliability

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9075743B2Managing bandwidth allocation in a processing node using distributed arbitration
Publication Date: 2015.07.07 TEXAS INSTRUMENTS INC
  • US9075743B2 patent drawing
  • US9075743B2 patent drawing
  • US9075743B2 patent drawing

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.