Job Scheduling via Static Priority and Predicted Completion Time

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As computing systems grow in size and complexity, efficiently scheduling computing jobs to utilize available resources becomes increasingly challenging due to the need to manage various fixed and floating resources across multiple computing nodes, often leading to delays in job execution due to resource unavailability.

Innovation Solution

A method that calculates a static priority for each computing job and selects the job needing resources, identifying a subset of computing nodes capable of satisfying these resources, predicting the earliest completion time for each node, and scheduling the job on the node with the earliest predicted completion time, while also considering preemption and backfilling to optimize resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional scheduling examines jobs in arrival order and places them in waiting queues when resources are unavailable, then resource availability is maintained, but job execution time increases due to delays

Engineering Contradiction:
Improvejob execution timeVSAvoidscheduling complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent calculates static priority for each job in advance before resource availability is determined. This preliminary priority assignment enables the scheduler to proactively identify which jobs should be executed first when resources become available, rather than passively waiting in arrival order. The priority calculation considers multiple factors including job importance, resource requirements, and system state, allowing the system to prepare scheduling decisions ahead of time and reduce execution delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scheduling system dynamically adjusts job selection based on real-time resource availability and pre-calculated priorities. When resources become available, the scheduler dynamically identifies which waiting job has the highest priority and assigns it to available nodes. This dynamic adaptation allows the system to respond flexibly to changing conditions while maintaining optimized execution order, resolving the contradiction between reducing time loss and managing scheduling complexity.

Inventive Principle:
Principle #15Dynamics

2Productivity

If multiple computing nodes are available to execute a job, then resource utilization improves, but determining the optimal node increases scheduling complexity

Engineering Contradiction:
Improveresource utilizationVSAvoidnode selection complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent identifies a subset of computing nodes that are locally suitable for executing a specific job based on resource matching criteria. Rather than evaluating all nodes in the system, the scheduler filters nodes to find those with compatible resources (CPU type, memory, storage, software licenses) for the job's requirements. This local quality assessment reduces the search space and simplifies node selection while still achieving high resource utilization by matching jobs to appropriate nodes.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The scheduling system changes parameters such as predicted completion time and resource availability status when evaluating different nodes for job execution. By calculating and comparing these parameters across the subset of suitable nodes, the scheduler can objectively determine the optimal node based on quantitative metrics rather than complex qualitative assessments. This parameter-based approach simplifies the decision-making process while improving resource utilization through systematic evaluation.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If jobs are scheduled based on static priority only, then scheduling simplicity is maintained, but resource utilization efficiency decreases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidscheduling method complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extends the scheduling decision-making process from a single dimension (static priority) to multiple dimensions by incorporating predicted completion time as an additional criterion. After identifying jobs in priority order, the scheduler evaluates multiple computing nodes and selects based on which node can complete the job earliest. This dimensional extension allows the system to maintain simple priority-based job selection while adding efficiency through multi-dimensional node evaluation, resolving the contradiction between simplicity and efficiency.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The system performs preliminary calculations of predicted completion times for each node-job pair before making the final scheduling decision. This advance computation of execution metrics allows the scheduler to efficiently compare nodes and select the optimal one without adding significant complexity to the overall process. The preliminary action of calculating completion times enables efficient resource utilization while keeping the scheduling methodology relatively simple and systematic.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7743378B1Method and apparatus for multi-dimensional priority determination for job scheduling
Publication Date: 2010.06.22 ORACLE AMERICAN INC
  • US7743378B1 patent drawing
  • US7743378B1 patent drawing
  • US7743378B1 patent drawing

AI summary

A method for scheduling computing jobs in a scheduling event includes calculating a static priority of each computing job ready for scheduling, and then selecting a first computing job having the highest static priority as compared to at least one other computing jobs ready for scheduling, the first computing job being associated with at least one required resource. Further, a subset of computing nodes able to satisfy the at least one required resource are identified, and predictions are made for each node of an earliest predicted completion time that the first computing job can be completed on each of those nodes, taking into account already scheduled jobs. Finally, execution of the first computing job is scheduled on the node having the earliest predicted completion time.