Task Scheduling via Historical Priority Prediction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computing systems, low priority tasks often interfere with high priority tasks, leading to queuing delays and inhibited execution of higher priority requests, particularly in memory systems where write traffic and prefetches can delay read requests and memory reorganizations take many cycles.
Innovation Solution
Implementing a method that uses multiple queues with distinct priority levels to schedule tasks, where high priority tasks are processed immediately and low priority tasks are postponed or delayed based on pre-defined scheduling rules and historical access patterns to minimize interference, utilizing a historical log to predict and manage task scheduling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If low priority requests are processed after all high priority requests, then high priority requests are handled first, but low priority requests can still delay subsequent high priority requests that utilize common resources
Solution Approach 1:
The system performs preliminary analysis of resource usage patterns and predicts future high priority requests before they arrive. By anticipating resource conflicts in advance, the scheduler can proactively delay low priority requests before they cause interference, rather than reactively handling conflicts after they occur.
Solution Approach 2:
The system maintains historical logs of task execution and resource usage, using this feedback to continuously improve scheduling decisions. By analyzing past patterns of high priority request arrivals and resource conflicts, the system refines its predictions and adjusts scheduling policies to prevent future interference while minimizing delays to low priority tasks.
2Reliability
If low priority tasks are buffered until queues are empty, then resource contention is reduced, but execution time for low priority tasks increases significantly
Solution Approach 1:
The scheduling policy dynamically adjusts based on predicted system state and resource availability. Rather than using static buffering rules, the system continuously evaluates whether conditions are favorable for executing low priority tasks by analyzing historical patterns of high priority request arrivals, allowing low priority tasks to execute during predicted idle periods while preventing execution during predicted busy periods.
Solution Approach 2:
The system changes scheduling parameters based on predicted system conditions. By monitoring historical data and predicting future states, the scheduler adjusts task priority assignments and scheduling decisions in real-time, allowing flexible optimization of both resource utilization and task execution time based on anticipated system workload.
3Ease of operation
If multiple queues with distinct priority levels are maintained, then task organization is improved, but system complexity increases
Solution Approach 1:
The system segments tasks into multiple priority queues based on their characteristics and resource requirements. This segmentation organizes the task stream into manageable groups that can be independently analyzed and scheduled, making it easier to apply different scheduling strategies to different task types while maintaining overall system control.
Solution Approach 2:
The scheduling system implements a universal prediction and decision-making framework that handles multiple queue types and task scenarios through a single integrated approach. The historical analysis and prediction mechanisms serve multiple functions: predicting high priority request arrivals, identifying resource conflict patterns, and optimizing scheduling decisions across all queues simultaneously, reducing the operational complexity despite having multiple queues.
Data Source
AI summary
Systems and methods are provided that schedule task requests within a computing system based upon the history of task requests. The history of task requests can be represented by a historical log that monitors the receipt of high priority task request submissions over time. This historical log in combination with other user defined scheduling rules is used to schedule the task requests. Task requests in the computer system are maintained in a list that can be divided into a hierarchy of queues differentiated by the level of priority associated with the task requests contained within that queue. The user-defined scheduling rules give scheduling priority to the higher priority task requests, and the historical log is used to predict subsequent submissions of high priority task requests so that lower priority task requests that would interfere with the higher priority task requests will be delayed or will not be scheduled for processing.


