Dynamic Job Resizing for Computing Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional resource managers are unable to dynamically allocate computing resources during the execution of applications, leading to inefficiencies such as delayed job execution and preemption, especially for high-priority jobs and those requiring additional resources.

Innovation Solution

A scheduling system that selects and resizes currently executing jobs to accommodate resource requests by de-allocating resources from lower-priority jobs, allowing the allocation of these resources to high-priority jobs or jobs needing additional resources without halting the execution of other jobs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional resource managers allocate computing resources statically, then resource allocation is simple and stable, but job execution is delayed and preemption cannot occur

Engineering Contradiction:
Improvejob execution continuityVSAvoidjob wait time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements dynamic resource allocation by allowing the resource manager to modify computing resource assignments during job execution. The system can dynamically allocate resources to high-priority jobs or jobs requiring additional resources while adjusting the allocation of currently executing jobs, enabling both continuity and adaptability without static constraints

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent employs checkpointing mechanisms that capture job execution states at specific points. This preliminary action allows the system to pause, save state, reallocate resources, and resume execution later, enabling resource sharing and preemption while maintaining job continuity and avoiding complete waits

Inventive Principle:
Principle #10Preliminary action

2Productivity

If resources are allocated to currently executing jobs, then job execution continues without interruption, but high-priority jobs cannot receive additional resources

Engineering Contradiction:
Improvesystem resource utilizationVSAvoidresource allocation flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system dynamically adjusts resource allocations by selecting currently executing jobs for resource reduction and redirecting those resources to high-priority or resource-needing jobs. This dynamic reallocation maintains high productivity while providing the flexibility to adapt to changing job priorities and resource requirements

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes allocation parameters during execution by modifying the computing resource assignments of currently executing jobs. The resource manager can adjust allocation sizes, shift resources between jobs, and modify execution parameters to accommodate new high-priority jobs while maintaining overall system productivity

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If preemption is implemented to accommodate high-priority jobs, then resource allocation flexibility improves, but job execution stability deteriorates

Engineering Contradiction:
Improveresource allocation flexibilityVSAvoidexecution stability
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The system uses checkpointing as a preliminary action to capture execution states before preemption occurs. This allows the system to preempt jobs for high-priority allocation while maintaining stability through structured state management, checkpoints, and controlled resumption points rather than abrupt interruptions

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements controlled preemption by changing allocation parameters in a managed manner. The resource manager selectively adjusts resource assignments based on priority and need, maintaining execution stability through systematic parameter changes rather than chaotic reallocation, thereby balancing flexibility with stability

Inventive Principle:
Principle #35Parameter changes

4Quantity of substance

If computing resources are de-allocated from executing jobs, then resource availability for new jobs increases, but the executed jobs experience execution delay

Engineering Contradiction:
Improveavailable computing resourcesVSAvoidjob execution delay
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system dynamically manages resource de-allocation by selectively reducing resources from currently executing jobs to make resources available for new high-priority jobs. This dynamic approach optimizes the balance between available resources and execution delay by making real-time decisions about which jobs to resize and how to redistribute resources

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10318341B2Selecting and resizing currently executing job to accommodate execution of another job
Publication Date: 2019.06.11 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10318341B2 patent drawing
  • US10318341B2 patent drawing
  • US10318341B2 patent drawing

AI summary

A job execution scheduling system and associated methods are provided for accommodating a request for additional computing resources to execute a job that is currently being executed or a request for computing resources to execute a new job. The job execution scheduling system may utilize a decision function to determine one or more currently executing jobs to select for resizing. Resizing a currently executing job may include de-allocating one or more computing resources from the currently executing job and allocating the de-allocated resources to the job for which the request was received. In this manner, the request for additional computing resources is accommodated, while at the same time, the one or more jobs from which computing resources were de-allocated continue to be executed using a reduced set of computing resources.