PCIe Request Scheduling with Dynamic Priority Arbitration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In PCI-Express systems, existing request scheduling methods fail to effectively manage and prioritize requests, leading to inefficiencies in processing and latency issues, particularly for peer-to-peer and posted requests when previous non-posted requests exceed predetermined latency times.
Innovation Solution
A request accessing method and system that store requests in posted and non-posted buffers, arbitrate priorities, and schedule requests based on specific rules, prioritizing peer-to-peer and posted requests over previous non-posted requests if their latency exceeds a predetermined time, and transmit them through dedicated peer-to-peer paths.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If existing request scheduling methods are used in PCI-Express systems, then the system can process requests, but peer-to-peer and posted requests experience excessive latency when previous non-posted requests are being processed
Solution Approach 1:
The scheduling system dynamically adjusts request priorities based on real-time conditions. When a non-posted request exceeds its predetermined latency threshold, the system dynamically elevates the priority of subsequent peer-to-peer and posted requests, allowing them to preempt the stalled non-posted request. This dynamic priority adjustment ensures that time-sensitive requests are not indefinitely blocked by slower requests.
Solution Approach 2:
The system implements feedback mechanisms by monitoring the latency of processed requests. When a non-posted request exceeds its predetermined time threshold, this feedback triggers a priority reassignment mechanism that identifies and elevates the priority of pending peer-to-peer and posted requests. This feedback loop ensures that latency violations are detected and corrected in real-time.
2Loss of time
If peer-to-peer and posted requests are prioritized over non-posted requests, then latency is reduced, but request scheduling complexity increases
Solution Approach 1:
The scheduling mechanism is segmented into distinct priority levels and request categories (peer-to-peer, posted, non-posted). Each category has predefined characteristics and handling rules, simplifying the arbitration logic. The segmentation allows the system to apply different scheduling policies to different request types without requiring complex universal decision-making algorithms.
Solution Approach 2:
The system changes the priority parameter of requests based on their type and the latency status of previously processed requests. When a non-posted request exceeds its latency threshold, the priority parameter of subsequent peer-to-peer and posted requests is automatically elevated. This parameter-based approach simplifies scheduling complexity by using clear, rule-based parameter adjustments rather than complex scheduling algorithms.
3Device complexity
If all requests are processed in FIFO order, then scheduling is simple, but peer-to-peer and posted requests experience unnecessary delays
Solution Approach 1:
The system transitions from static FIFO ordering to dynamic priority-based scheduling. Request priorities are not fixed but change based on request type and system state. When latency thresholds are exceeded, the system dynamically reorders the processing queue to favor peer-to-peer and posted requests, maintaining simplicity while reducing latency.
Solution Approach 2:
The scheduling system uses parameter changes in request priority levels to resolve the contradiction between FIFO simplicity and latency reduction. Each request type has associated priority parameters that are adjusted based on system conditions. This parameter-based approach maintains relatively simple scheduling logic while enabling time-sensitive requests to be processed more quickly when needed.
Data Source
AI summary
A request scheduling method is provided in a request accessing system having a processing unit, an upstream unit coupled to the processing unit, a downstream unit coupled to the processing unit and the upstream unit, and at least one endpoint device coupled to the upstream unit and the downstream unit, wherein the endpoint device asserts at least one request to the upstream unit. The request scheduling method includes: transmitting the request to a processing unit while the request is a non-peer-to-peer request, and transmitting the request to a downstream unit while the request is a peer-to-peer request; wherein if the request is a peer-to-peer and posted request and there is a previous asserted request which is peer-to-peer and non-posted request and the previous asserted request has a latency exceeds a predetermined time, transmitting the request earlier than the previous asserted request to the downstream unit.


