Dynamic Processor Allocation for Computational Job Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for allocating computational jobs in client-server or hosting environments lead to decreased overall utilization due to idle resources not being utilized across partitions and high-priority jobs not being processed efficiently, as resources are not dynamically reallocated based on priority levels and utilization rates.

Innovation Solution

A method where processors are dynamically allocated based on priority levels and utilization rates, with multiple groups of processors designated for job processing, allowing jobs to be processed with the least utilized processors, and reallocation occurring when utilization thresholds are exceeded, ensuring high-priority jobs receive optimal resources while maintaining adequate resource availability for lower-priority jobs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If computational jobs are allocated to pre-defined virtual machines running on specific hardware, then customer requests can be processed independently from hardware resources, but overall system utilization decreases because idle resources in one partition cannot be used for jobs in other partitions

Engineering Contradiction:
Improveprocessing independenceVSAvoidoverall system utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges previously separate partitioned resources into a unified pool that can be dynamically allocated across different customer jobs. The load balancer consolidates resource management, allowing any processor in the system to handle any job regardless of original partition assignment, thereby eliminating idle resources while maintaining processing independence through virtualization.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system implements dynamic resource allocation where processor assignments are not fixed but can change based on current system state. The load balancer continuously monitors utilization rates and dynamically reassigns jobs between processors, allowing the system to adapt to changing workloads and maximize utilization while preserving job processing independence.

Inventive Principle:
Principle #15Dynamics

2Reliability

If customer quotas are used to implement ranking between customers, then each customer has guaranteed processing time, but overall utilization decreases because requests are not processed even when enough resources are idle

Engineering Contradiction:
Improvecustomer service guaranteeVSAvoidoverall system utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces static customer quotas with dynamic allocation based on real-time utilization monitoring. The load balancer adjusts resource allocation continuously based on current system state, allowing customers to receive guaranteed service levels when needed while permitting underutilized resources to be allocated to other customers, thereby maximizing overall utilization without compromising service guarantees.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of resource allocation from fixed quota-based allocation to dynamic allocation based on utilization rates. By monitoring utilization thresholds and adjusting allocations in real-time, the system maintains customer service guarantees while eliminating the waste of idle resources that occurs with static quota systems.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If load balancer moves virtual machines to maximize overall throughput, then resource utilization increases, but response time for high-priority customers may deteriorate

Engineering Contradiction:
Improveoverall throughputVSAvoidresponse time for high-priority customers
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies different allocation strategies to different priority levels. High-priority customers receive preferential treatment with dedicated resource allocation and higher utilization thresholds, while lower-priority customers share remaining resources. This local differentiation ensures high-priority customers maintain fast response times while the overall system achieves high throughput through efficient utilization of resources allocated to lower-priority jobs.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system segments the processor pool into different allocation zones based on customer priority. High-priority customers are guaranteed access to a portion of resources with protected utilization thresholds, while other resources are available for load-balancing operations. This segmentation allows the system to maximize overall throughput through load balancing while preserving fast response times for high-priority customers through dedicated resource protection.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP1970805B1Multi-objective allocation of computational jobs in client-server or hosting environments
Publication Date: 2016.03.09 SAP SE
  • EP1970805B1 patent drawingFigure 1
  • EP1970805B1 patent drawingFigure 2
  • EP1970805B1 patent drawingFigure 3

AI summary

A method of processing a computational job with a plurality of processors is disclosed. A request to process a job is received, where the job has a priority level associated with the job. A first group of the processors is designated as being available to process the job, where the number of processors in the first group is based on the priority level associated with the job. A second group of the processors is designated as being available to process the job, where for each processor in the second group a current utilization rate of the processor is less than a second predetermined utilization rate. Then, the job is processed with one or more of the processors selected from the first group of processors and the second group of processors.