Dynamic Job Resizing for Computing Resource Allocation
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Productivity
If resources are allocated to currently executing jobs, then job execution continues without interruption, but high-priority jobs cannot receive additional resources
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
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
3Adaptability or versatility
If preemption is implemented to accommodate high-priority jobs, then resource allocation flexibility improves, but job execution stability deteriorates
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
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
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
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
Data Source
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.


