Autoscaling Instance Groups via Historical Job Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional computing platforms face inefficiencies in resource utilization and scaling, particularly in managing instance groups as the number of customers and resources increases, making it difficult to determine whether to scale up or down instances efficiently.
Innovation Solution
The method involves using historical data, such as data set sizes and code versions from prior jobs, to determine whether to scale instance groups up or down, and includes evaluating on-demand job requests, observing current job states, and predicting resource needs to optimize instance management through a combination of predictive, observational, and on-demand controls.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the number of instances in the computing platform is increased to accommodate more customers and jobs, then the platform's capacity and availability are improved, but the complexity of managing instances and resources increases
Solution Approach 1:
The system implements self-service through automated instance management where the platform automatically scales instances up or down based on historical data and current job requirements, eliminating the need for manual intervention in instance management decisions
Solution Approach 2:
The system changes management parameters by using historical runtime data, data set sizes, and code versions to dynamically adjust instance scaling parameters, transforming static resource allocation into adaptive parameter-based management
2Reliability
If the number of instances is increased to handle more customers, then the platform's availability is improved, but resource utilization efficiency deteriorates
Solution Approach 1:
The system implements feedback mechanisms by continuously monitoring historical runtime data, job completion patterns, and resource consumption metrics to dynamically adjust instance scaling decisions, ensuring resources are allocated based on actual platform needs rather than static provisioning
Solution Approach 2:
The system transforms static resource allocation into dynamic scaling by automatically adjusting the number of instances based on real-time and historical performance data, allowing the platform to adapt its resource footprint to actual workload demands
3Measurement precision
If manual methods are used to determine scaling decisions, then control precision is maintained, but the time and complexity required for decision-making increases
Solution Approach 1:
The system performs self-service scaling decisions by automatically analyzing historical runtime data, job dependencies, and resource requirements to determine when to scale instances up or down, eliminating manual analysis time while maintaining decision accuracy through data-driven algorithms
Solution Approach 2:
The system performs preliminary action by pre-processing and storing historical runtime data, job dependency information, and resource consumption patterns, enabling rapid scaling decisions to be made based on pre-analyzed data rather than real-time manual assessment
Data Source
AI summary
Systems and methods scale an instance group of a computing platform by determining whether to scale up or down the instance group by using historical data from prior jobs wherein the historical data includes one or more of: a data set size used in a prior related job and a code version for a prior related job. The systems and methods also scale the instance group up or down based on the determination. In some examples, systems and methods scale an instance group of a computing platform by determining a job dependency tree for a plurality of related jobs, determining runtime data for each of the jobs in the dependency tree and scaling up or down the instance group based on the determined runtime data.


