Dynamic Arbitration Circuitry for Adaptive Message Priority
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing arbitration techniques for shared communication channels are inflexible and introduce additional latency to messages based on fixed priority or round robin schemes, which do not account for dynamic changes in process requirements, leading to unfair performance allocation among processes.
Innovation Solution
A data processing apparatus and method that uses arbitration circuitry responsive to progress data from each processing element to dynamically adjust priority ordering, taking into account latency implications for each process, allowing for adaptive Quality-of-Service allocation without pre-defined requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If fixed priority or round robin arbitration schemes are used, then the arbitration decision is simple to implement, but the latency allocation is unfair and does not adapt to dynamic process requirements
Solution Approach 1:
The arbitration scheme transitions from static fixed priority or round robin to dynamic arbitration that adapts to real-time process conditions. The system continuously monitors process progress data and dynamically adjusts priority assignments based on current latency implications, ensuring fairness while maintaining simplicity in the core arbitration mechanism.
Solution Approach 2:
The system implements feedback by having processing elements report progress data to the arbitration circuitry. This feedback loop enables the arbitration logic to observe actual process states and adjust priority assignments accordingly, creating an adaptive system that responds to changing conditions without requiring complex pre-configuration.
2Reliability
If QoS techniques with pre-defined process characteristics are used, then bandwidth and latency can be controlled, but the system becomes inflexible to changes in process requirements and requires higher level protocol configuration
Solution Approach 1:
The arbitration system operates autonomously by having processing elements self-report their progress data and latency implications. The arbitration circuitry independently makes priority decisions based on this data without requiring external configuration or higher-level protocol intervention, enabling both control and adaptability.
Solution Approach 2:
The system replaces static QoS configurations with dynamic priority adjustment based on real-time process state monitoring. Priority assignments are continuously updated according to current progress data and latency implications, allowing the system to adapt to changing process requirements while maintaining reliable bandwidth and latency control.
3Device complexity
If message-by-message arbitration is used, then the arbitration decision is simple, but processes with high access levels receive disproportionately high additional latency
Solution Approach 1:
The system maintains continuous monitoring of process progress data and cumulative latency across multiple messages. By tracking the ongoing state of each process and accumulating latency information, the arbitration circuitry can identify processes that are experiencing excessive cumulative delay and adjust priorities to maintain continuous fair service across the message stream.
Solution Approach 2:
The arbitration system uses feedback from progress data to detect when processes are experiencing excessive cumulative latency. This feedback enables the system to adjust priority assignments dynamically, preventing any single process from accumulating excessive delay even when that process generates high message volumes, while keeping the arbitration logic relatively simple.
Data Source
AI summary
A data processing apparatus and method are provided for arbitrating between messages routed over a communication channel. The data processing apparatus has a plurality of processing elements, each processing element executing a process requiring messages to be issued to recipient elements, and a communication channel shared amongst those processing elements over which the messages are routed. Arbitration circuitry performs an arbitration process to arbitrate between multiple messages routed over the communication channel. Each processing element issues progress data for the process executing on that processing element, the progress data indicating latency implications for the process. Arbitration control circuitry is then responsive to the progress data from each processing element to perform a priority ordering process taking into account the latency implications of each process as indicated by the progress data in order to generate priority ordering data. That priority ordering data is then output to the arbitration circuitry in order to control the arbitration process. This enables quality of service to be determined and allocated automatically between the various processes, without the need to know the requirements of the processes in advance, and the prioritization mechanism adapts dynamically to changes in communication between the processes.


