Task Scheduling via Historical Priority Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvehigh priority request executionVSAvoidqueuing delays
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improveresource allocationVSAvoidtask execution time
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If multiple queues with distinct priority levels are maintained, then task organization is improved, but system complexity increases

Engineering Contradiction:
Improvetask schedulingVSAvoidqueue management
Core Design Contradiction:
Ease of operationVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8185899B2Prediction based priority scheduling
Publication Date: 2012.05.22 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8185899B2 patent drawing
  • US8185899B2 patent drawing
  • US8185899B2 patent drawing

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.