Job Preemption Scheduling Using Dynamic and Static Metrics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing schedulers in shared computing platforms base priorities on static values, leading to premature termination of computationally expensive processes like AI workloads, resulting in significant loss of computation time and resources.
Innovation Solution
A scheduling mechanism that considers both dynamic and static information to rank candidate jobs for preemption, minimizing the loss of computation time and optimizing resource utilization by using elapsed time from last checkpoint, predicted remaining time for completion, and configured priority values.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If existing schedulers base priorities on static values, then resource allocation is simple and fast, but computation time is lost due to premature termination of expensive processes
Solution Approach 1:
The patent transforms the static priority scheduling mechanism into a dynamic one by continuously monitoring job execution progress, checkpoint status, and resource consumption. The scheduler now adapts priority values in real-time based on observed job behavior and system state, allowing it to preserve computation time for valuable workloads while maintaining responsiveness to resource demands.
Solution Approach 2:
The patent implements feedback mechanisms where the scheduler continuously receives information about job execution state, resource usage patterns, and checkpoint completion. This feedback loop enables the system to learn from past scheduling decisions and their outcomes, adjusting future preemption decisions to minimize computation time loss while achieving resource allocation goals.
2Quantity of substance
If preempting processes with lower static priority, then resource availability for pending jobs is improved, but computation loss increases for expensive workloads
Solution Approach 1:
The patent changes the parameters used for preemption decisions from static priority values alone to a combination of dynamic parameters including current execution progress, checkpoint status, resource consumption rate, and predicted completion time. This multi-parameter approach enables more nuanced decisions about which jobs to preempt, preserving computation in expensive workloads while ensuring resource availability.
Solution Approach 2:
The patent performs preliminary assessment of job characteristics and execution patterns before making preemption decisions. By analyzing checkpoint intervals, resource consumption trends, and job importance metrics in advance, the scheduler can predict which preemptions will cause minimal computation loss, thereby reducing overall computation waste while freeing necessary resources.
3Loss of time
If using dynamic information for preemption decisions, then computation time loss is minimized, but scheduling complexity and computational overhead increase
Solution Approach 1:
The patent segments the scheduling system into modular components: a monitoring module that collects job execution data, an analysis module that processes this data to compute dynamic priorities, and a decision module that makes preemption decisions. This segmentation allows each component to specialize in specific tasks, reducing overall system complexity while enabling sophisticated dynamic scheduling.
Solution Approach 2:
The patent introduces intermediary data structures and abstraction layers that mediate between raw execution data and scheduling decisions. These intermediaries organize and pre-process information in ways that simplify the decision-making process, reducing the computational overhead of dynamic scheduling while maintaining accurate tracking of computation time and job progress.
Data Source
AI summary
In an approach for optimizing job preemption using a scheduling mechanism that considers dynamic and static information, a processor, responsive to a pending job being selected to be run, determines that no computing hosts within a computing cluster have available resources capable of running the pending job and non-preemptive measures will not provide required resources for the pending job. A processor identifies candidate jobs for preemption and dynamic information and static information for each candidate job. A processor ranks the candidate jobs for preemption based on the dynamic information and the static information for each candidate job. A processor attempts to preempt a top N candidate jobs whose released resources in combination with the available resources of the computing cluster satisfy the required resources of the pending job. A processor, responsive to successfully preempting the top N candidate jobs, initiates the pending job.

