Job Scheduler Using Preemption and Backfilling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As computing systems grow in size and complexity, efficiently scheduling computing jobs across numerous nodes with varying resources becomes increasingly challenging, particularly in ensuring timely execution due to resource unavailability and priority management.

Innovation Solution

A method and apparatus for scheduling computing jobs that selects jobs based on priority, identifies nodes capable of satisfying required resources, and allows preemption of lower-priority jobs to free resources for higher-priority jobs, enabling efficient resource utilization by scheduling jobs on the best nodes during optimal time intervals.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional scheduling examines jobs in arrival order and places them in waiting queues when resources are unavailable, then resource availability is respected, but job execution time increases and system productivity decreases

Engineering Contradiction:
Improvejob execution speedVSAvoidwaiting time in queue
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The scheduler performs preliminary actions by identifying and reserving resources for future job execution before the actual execution time. The system schedules jobs to start at future times when resources will be available, rather than waiting passively in queues. This includes identifying computing nodes that will satisfy resource requirements during specific time periods and pre-allocating those resources.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scheduling system dynamically adjusts job execution times and resource allocations based on real-time system state. The scheduler can preempt lower-priority jobs that were previously scheduled to free up resources for higher-priority jobs. This dynamic reconfiguration allows the system to optimize resource utilization and reduce waiting times adaptively.

Inventive Principle:
Principle #15Dynamics

2Productivity

If the system schedules more jobs to maximize resource utilization, then productivity improves, but scheduling complexity and difficulty of managing resource allocation increases

Engineering Contradiction:
Improveresource utilizationVSAvoidscheduling system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The scheduling problem is segmented by dividing jobs into priority levels and processing them in hierarchical order. The scheduler handles high-priority jobs separately from lower-priority jobs, and further segments jobs by their resource requirements and time periods. This segmentation simplifies the overall scheduling complexity by breaking down the monolithic scheduling decision into manageable sub-problems.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes scheduling parameters dynamically based on job priority, resource availability, and system state. The scheduler adjusts execution times, preemption thresholds, and resource allocation parameters to optimize utilization while managing complexity. Parameters such as priority thresholds and time period selections are varied to balance resource utilization with scheduling manageability.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the system allows preemption of lower-priority jobs to free resources for higher-priority jobs, then job priority fulfillment improves, but system stability and resource allocation reliability deteriorates

Engineering Contradiction:
Improvepriority job execution guaranteeVSAvoidschedule stability
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The system uses parameter changes by adjusting preemption thresholds and priority levels dynamically. Preemption is triggered based on specific parameter conditions, such as when a high-priority job requires resources and the priority difference exceeds a threshold. This parameter-based control allows the system to maintain stability under normal conditions while enabling necessary preemptions when critical priorities are involved.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8214836B1Method and apparatus for job assignment and scheduling using advance reservation, backfilling, and preemption
Publication Date: 2012.07.03 ORACLE AMERICAN INC
  • US8214836B1 patent drawing
  • US8214836B1 patent drawing
  • US8214836B1 patent drawing

AI summary

A method for scheduling computing jobs in a scheduling event. A computing node is identified that is able to satisfy the required resource during a first time period. A second computing job is determined to have previously been scheduled to execute during a second time period, where the second time period overlaps a first time period. Execution of the second computing job is preempted if the first computing job's priority is greater than the second computing job's priority by at least a threshold amount, and if preempting the second job frees the required resource for use by the first computing job. Execution of the first computing job is scheduled to take place on a first computing node during the first time period, where a start time associated with the first time period is a time selected from the group consisting of a current time and a future time.