Dynamic Processor Allocation for Computational Job Prioritization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Productivity
If load balancer moves virtual machines to maximize overall throughput, then resource utilization increases, but response time for high-priority customers may deteriorate
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.
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.
Data Source
Figure 1
Figure 2
Figure 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.