Urgency-Based Memory Request Reordering Algorithm
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional priority-aware reordering algorithms in memory systems fail to ensure high-priority requests are serviced promptly, leading to potential deadline misses and performance issues due to their reliance on priority or deadline alone, without considering request dependencies or credit utilization.
Innovation Solution
An urgency-based reordering algorithm that assigns an urgency value to each request based on its priority and deadline, incrementing it over cycles to prevent starvation, ensuring that requests with higher urgency are serviced first, thereby prioritizing high-priority and deadline-critical requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional priority-aware reordering algorithms use priority or deadline alone to pick a winner amongst available ready requests, then the selection process is simple, but high-priority requests can stay blocked due to dependencies on low-priority requests, potentially missing deadlines and reducing system performance
Solution Approach 1:
The patent changes the selection parameter from simple priority or deadline to a composite urgency metric that combines both factors. The urgency metric is calculated as urgency = priority_weight × priority_value + deadline_weight × deadline_value, allowing the system to select requests that optimize both priority adherence and deadline compliance simultaneously, preventing high-priority requests from being blocked by low-priority ones
Solution Approach 2:
The patent introduces dynamic urgency promotion where the urgency metric is updated each cycle based on current system state. Requests that are approaching their deadlines or have high priority see their urgency values increased, making them more likely to be selected. This dynamic adjustment ensures that time-critical requests are serviced promptly while maintaining simple arbitration logic
2Reliability
If requests are buffered in the aggregator to allow for arbitration between various memory sources, then arbitration can be performed, but a reordering algorithm is required to ensure deadline critical requests get serviced first, increasing algorithmic complexity
Solution Approach 1:
The patent transforms the reordering problem by changing from complex dependency-aware scheduling to a simpler urgency-based metric. Instead of analyzing request dependencies and constructing complex schedules, the system calculates a scalar urgency value for each buffered request and selects the maximum, achieving deadline compliance through parameter transformation rather than complex algorithmic reasoning
Solution Approach 2:
The urgency metric inherently encodes the deadline-critical information within each request. When requests are buffered, their urgency values are calculated based on their own priority and deadline characteristics. The arbitration logic simply selects the request with maximum urgency, allowing requests to essentially self-identify their criticality without external intervention or complex scheduling algorithms
3Productivity
If urgency value is incremented over cycles to prevent starvation, then high-priority requests are serviced timely, but the mechanism requires tracking urgency values across multiple cycles, increasing state management complexity
Solution Approach 1:
The patent implements dynamic urgency promotion where the urgency metric evolves over time through incremental updates. Each cycle, the urgency value is increased by a promotion factor, causing previously non-critical requests to become critical over time. This temporal dynamics ensures that no request starves indefinitely while maintaining a simple update rule that adds a fixed amount to each request's urgency each cycle
Solution Approach 2:
The urgency promotion operates periodically at each arbitration cycle. Rather than continuous complex monitoring, the system applies a periodic increment to urgency values at discrete time intervals (each arbitration cycle). This periodic action simplifies state management by using regular, predictable updates rather than continuous monitoring and adjustment
Data Source
AI summary
Embodiments of the invention include a machine-readable medium having stored thereon instructions, which if performed by a machine causes the machine to perform a method that includes assigning an urgency of requests based on a priority level for incoming requests and associated entries in at least one priority queue, assigning an urgency delta for anti-starvation that indicates urgency promotion to prevent starvation for the incoming requests in the at least one priority queue, determining conflict information including whether an incoming request is dependent on any request already present in the at least one queue, determining all contending requests within the at least one priority queue during a cycle, and sending a selected contending request to a memory controller for accessing memory.


