Job Scheduling via Priority-Based Resource Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As computing systems grow in size and complexity, efficiently scheduling computing jobs across multiple nodes with varying resources becomes increasingly challenging, as traditional methods fail to optimally utilize available resources and often lead to delays due to unavailability of floating resources.

Innovation Solution

A method that associates each computing job with a group and calculates a static priority based on present utilization, identifying the node with the earliest predicted completion time for scheduling, allowing for dynamic resource allocation and potential preemption to ensure efficient resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional scheduling methods are used where jobs are examined in arrival order and placed in waiting queues when resources are unavailable, then the scheduling process is simple to implement, but resource utilization is inefficient and job execution delays occur

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

Solution Approach 1:

The patent transforms the scheduling approach by changing the parameter of job selection from simple arrival order to a priority-based system. Jobs are assigned priority levels that determine scheduling precedence, allowing the system to dynamically select which job to execute next based on priority rather than just queue position. This parameter change enables better resource utilization while maintaining manageable scheduling complexity through structured priority rules.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The scheduling system implements dynamic behavior by continuously evaluating job priorities and resource availability to make real-time scheduling decisions. Rather than static queue-based scheduling, the system adapts its job selection based on current system state, including resource availability and job priority levels. This dynamic approach improves resource utilization by actively matching jobs to available resources based on priority, while the structured nature of priority levels keeps the complexity manageable.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If jobs are placed in waiting queues until resources become available, then resource allocation is straightforward, but job execution time is extended due to delays

Engineering Contradiction:
Improvejob execution delayVSAvoidresource allocation simplicity
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

The patent applies preliminary action by pre-calculating and assigning priority levels to jobs before they enter the scheduling queue. This preliminary classification allows the scheduling system to quickly determine which job should be executed next without complex real-time evaluations. By establishing priority beforehand, the system reduces job execution delays while maintaining straightforward resource allocation based on the pre-determined priority structure.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If floating resources are allocated to waiting jobs, then resource utilization improves, but contention for resources increases and scheduling becomes more complex

Engineering Contradiction:
Improveresource utilizationVSAvoidscheduling predictability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent resolves the tension between resource utilization and scheduling predictability by changing the parameter of resource allocation from first-come-first-served to priority-based allocation. High-priority jobs can preempt or gain preferential access to floating resources, improving overall resource utilization. The structured priority system maintains predictability by providing clear rules for resource contention, making the scheduling behavior foreseeable based on job priority levels rather than complex dynamic negotiations.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7984447B1Method and apparatus for balancing project shares within job assignment and scheduling
Publication Date: 2011.07.19 ORACLE AMERICAN INC
  • US7984447B1 patent drawing
  • US7984447B1 patent drawing
  • US7984447B1 patent drawing

AI summary

A method includes associating each computing job with a group of a plurality of groups, and associating each group with a minimum promised utilization. Further, the method includes determining a present utilization for each group having at least one job ready for scheduling, each job being associated with at least one required resource, the present utilization for a given group comprising a total amount of a promised resource consumed by presently executing jobs associated with the given group divided by the minimum promised utilization associated with the given group. A first computing job selected for scheduling is one that is ready for scheduling and is the computing job having a highest static priority within a group having a lowest present utilization. A subset of computing nodes able to satisfy the at least one required resource associated with the first computing job is identified.