Closed Loop Task Scheduling Using Run-Time Statistics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing closed loop control systems struggle to efficiently schedule tasks and manage computing resource allocation, leading to potential imbalances and increased make-spans due to deviations in actual run-times from expected processing times.
Innovation Solution
A method and system for scheduling tasks in closed loop control systems, which involves obtaining historical run-time statistics, heuristically allocating tasks based on expected run-time and standard deviation, generating task queues, and dynamically balancing loads by shifting tasks between queues based on progress and run-time statistics.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If OS scheduler uses priority and time-slice for task scheduling, then task fairness is improved, but task scheduling efficiency deteriorates
Solution Approach 1:
The patent pre-calculates expected run-times (μ) and standard deviations (σ) for tasks based on historical data before scheduling. This preliminary statistical analysis enables the scheduler to make informed decisions about task allocation and time-slice distribution, improving both fairness and efficiency by avoiding arbitrary scheduling decisions
Solution Approach 2:
The patent transforms the scheduling approach by incorporating statistical parameters (expected run-time μ and standard deviation σ) into the scheduling decision-making process. Instead of using only priority and fixed time-slices, the system dynamically adjusts scheduling parameters based on historical performance data, resolving the contradiction between fairness and efficiency
2Speed
If heuristics use expected processing time (μ) for task allocation, then scheduling speed is improved, but allocation accuracy deteriorates due to large deviations between actual and expected run-times
Solution Approach 1:
The patent pre-calculates not only expected run-times (μ) but also standard deviations (σ) for all tasks based on historical data. This preliminary statistical preparation enables fast scheduling decisions while accounting for run-time variability, maintaining both speed and accuracy
Solution Approach 2:
The patent uses the standard deviation (σ) as a cushioning factor in scheduling decisions. By incorporating σ into the allocation algorithm, the system prepares for potential deviations from expected run-times, ensuring more accurate resource allocation even when actual run-times differ from predictions
3Productivity
If tasks are allocated to parallel machines based on expected run-time, then initial scheduling efficiency is improved, but load balance deteriorates due to imbalances from run-time deviations
Solution Approach 1:
The patent changes the scheduling parameters from using only expected run-time (μ) to using both μ and standard deviation (σ). This dual-parameter approach allows the system to maintain initial scheduling efficiency while compensating for run-time deviations, thereby preserving load balance across parallel machines
Solution Approach 2:
The patent implements a feedback mechanism where the scheduler continuously monitors actual task completion times and updates the historical statistics (μ and σ) accordingly. This feedback loop enables the system to adapt to changing conditions and maintain load balance despite run-time variations
Data Source
Figure 1
Figure 2
Figure 2
AI summary
Systems and methods of scheduling tasks and managing computing resource allocation in a closed loop control system is provided. The system uses historical run-time statistics that includes expected run-time (μ) and standard-deviation (σ) in run-times, of the tasks. The run-time statistics are used by the system to first predictively allocate and then to order the execution of the tasks in order to minimize the make-span. The schedule predicted is a queue of tasks to be executed on each computing resource ordered by a function of the expected run-time (μ) and standard-deviation (σ). Reactive scheduling involves periodically probing the progress and reacting to imbalances in progress across computing resources by switching tasks between lagging and leading computing resources.