NoC Arbitration Priority Control for Fair Shared Resource Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In large Network-On-Chip systems with multiple initiators, managing access to shared resources becomes complex due to the need for dynamic updates of Quality Of Service (QOS) settings, which can introduce timing problems and complicate the system with long wires and multiple initiators competing for resources.
Innovation Solution
A method and system for managing access to shared resources by using priority level tables and arbitration hardware to dynamically update priority levels based on the number of pending access requests from each initiator, ensuring equitable service by deprioritizing greedy initiators and assigning higher priority to requests made when fewer requests were pending.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If dynamic QOS updates are implemented in large systems with many initiators, then resource allocation fairness is improved, but system complexity and timing problems worsen due to long wires and multiple routing connections
Solution Approach 1:
The system segments the large network into multiple groups of initiators, with each group managed by a separate arbitration unit. Each arbitration unit handles a subset of initiators locally, reducing the need for long routing wires across the entire system. The arbitration units are then connected to a smaller set of shared resources, creating a hierarchical structure that reduces overall system complexity while maintaining dynamic QOS update capability.
Solution Approach 2:
Arbitration units serve as intermediary components between initiators and shared resources. These intermediaries collect QOS parameters from initiators, perform local arbitration decisions, and manage access to shared resources. This intermediary layer reduces the direct routing complexity between initiators and resources, allowing dynamic QOS updates without requiring long wires from every initiator to every resource.
2Loss of information
If long wires are used to route parameters from each initiator to arbitration hardware, then comprehensive parameter collection is improved, but timing problems worsen due to excessive latency
Solution Approach 1:
The system divides initiators into multiple groups, each served by a local arbitration unit. This segmentation allows parameter collection to occur locally within each group using short wires, avoiding the timing problems associated with long wires. Each arbitration unit collects QOS parameters from its local initiators and makes arbitration decisions based on this local information, ensuring both complete parameter collection and acceptable timing.
Solution Approach 2:
The system transitions from a flat architecture where all initiators connect directly to central arbitration hardware to a hierarchical architecture with multiple levels. The first level performs local parameter collection within groups using short wires. The second level aggregates results from multiple arbitration units. This dimensional change from direct to hierarchical connectivity reduces wire length at the initiator level while maintaining comprehensive parameter collection through the hierarchical aggregation process.
Data Source
AI summary
A system, computer readable medium and a method that may include performing multiple iterations of: determining, by each active initiator of the multiple initiators, a number of pending access requests generated by the active initiator, wherein each access request is a request to access a shared resource out of the shared resources; determining, by each active initiator, a priority level to be assigned to all pending access requests generated by the active initiator, wherein the determining is based on the number of pending access requests generated by the active initiator, a number of active initiators out of the multiple initiators, and a number of access requests serviceable by the shared resource; for each active initiator, informing an arbitration hardware of a network on chip about the priority level to be assigned to all pending access requests generated by the active initiator; and managing access to the shared resources, by the arbitration hardware, based on the priority level to be assigned to all pending access requests generated by each active initiator.


