Adaptive Computing Resource Allocation via Historical Data Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computing resources are not allocated efficiently, leading to inefficient usage and slowdowns in computations due to imbalanced allocation and processing demands.
Innovation Solution
A system and method that determine the desired number of computing machines to assign to a computing job by analyzing historical data of input and output sizes, as well as machine capacity, to optimize resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If computing resources are allocated statically or without adaptive determination, then resource allocation is simple, but resource usage efficiency deteriorates and computation speed slows down
Solution Approach 1:
The patent implements dynamic resource allocation by determining the number of computing machines needed based on real-time job characteristics (input data size, output data size, job type) rather than static pre-allocation. The system dynamically adjusts computing resources to match actual workload demands, improving computation speed while maintaining manageable complexity through automated determination algorithms.
Solution Approach 2:
The system uses feedback mechanisms by analyzing historical job data and performance metrics to continuously optimize resource allocation. The determined number of computing machines is based on feedback from past job executions, allowing the system to learn and improve allocation efficiency over time while maintaining balanced resource distribution.
2Productivity
If more computing machines are allocated to balance processing demands, then computation efficiency improves, but resource allocation complexity and costs increase
Solution Approach 1:
The system performs self-service by automatically determining the optimal number of computing machines needed for each job based on its characteristics. The automated determination process eliminates manual allocation management, reducing complexity while improving efficiency. The system serves itself by making intelligent allocation decisions without external intervention, balancing resource distribution across the computing grid.
Solution Approach 2:
The patent changes allocation parameters dynamically based on job-specific characteristics such as input data size, output data size, and job type. By adjusting the number of computing machines according to these parameters, the system achieves efficient resource allocation without manual intervention, maintaining simple management processes while optimizing computational performance.
3Loss of time
If computing resources are over-allocated to ensure sufficient capacity, then job completion time decreases, but resource waste and costs increase
Solution Approach 1:
The system applies partial action by allocating exactly the number of computing machines needed for each job based on its specific requirements, rather than over-allocating resources uniformly. The determined allocation is sufficient to complete jobs efficiently but not excessive, avoiding resource waste while maintaining fast completion times. This precise allocation approach eliminates both under-provisioning delays and over-provisioning waste.
4Measurement precision
If historical data analysis is used to determine resource allocation, then allocation accuracy improves, but processing overhead increases
Solution Approach 1:
The system performs preliminary action by pre-processing and storing historical job data in advance, organizing it by job types and characteristics. When a new job arrives, the system quickly retrieves relevant historical data and determines resource allocation based on pre-analyzed patterns. This preliminary preparation reduces the time needed for real-time decision-making while maintaining high allocation accuracy through learned historical insights.
Data Source
AI summary
A system and method for adaptive determination of computing resources is presented. Sometimes, computing jobs are to be allocated among a set of computers. Historical information regarding input data size and output data size is retrieved. Capacity information about each machine is retrieved. A weighted function is used to calculate a desired allocation of computing resources based on historical input data size and output data size. Computing resources are allocated based on the calculated allocation. The computing job can be performed on the allocated computing resources. Other embodiments also are disclosed.


