Predictive Autoscaler for Distributed Computing Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing autoscaling techniques in distributed computing systems are reactive and fail to adequately address ongoing load variations, leading to service slowdowns or outages during peak demand and wastage of resources during decreased demand, due to delays in provisioning and de-provisioning computing resources.
Innovation Solution
Implementing a predictive autoscaler that processes historical resource consumption data to generate time series, decompose it into regular and irregular components, and use these to anticipate future resource needs, allowing proactive scaling of computing resources before potential scalability issues occur.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If reactive autoscaling is used to monitor and provision computing resources based on current load, then resource provisioning can be triggered when thresholds are exceeded, but service slowdowns or outages occur during the provisioning delay period when processor usage reaches 100%
Solution Approach 1:
The system performs preliminary actions by predicting future resource consumption patterns using historical data and time series analysis. The predictive autoscaler analyzes past resource usage trends to forecast future demand before it actually occurs, allowing the system to provision resources in advance rather than waiting for current thresholds to be exceeded. This eliminates the reactive delay where services would slow down or outage during the time between threshold detection and resource provisioning.
2Loss of energy
If computing resources are reduced when processor usage is below threshold to save costs, then resource utilization is optimized, but valuable computing resources are wasted during the termination delay period which can take up to thirty minutes
Solution Approach 1:
The system performs preliminary actions by predicting future resource consumption patterns using historical data and time series analysis. The predictive autoscaler analyzes past resource usage trends to forecast future demand before it actually occurs, allowing the system to provision resources in advance rather than waiting for current thresholds to be exceeded. This eliminates the reactive delay where services would slow down or outage during the time between threshold detection and resource provisioning.
3Reliability
If additional virtual machines are provisioned to handle peak demand, then service availability is maintained during high load periods, but computing resources are wasted when demand decreases and virtual machines remain idle
Solution Approach 1:
The system applies dynamics by continuously adapting resource provisioning based on predicted future demand rather than static threshold-based rules. The predictive autoscaler uses time series analysis to dynamically adjust resource allocation in advance of demand changes, allowing the system to scale up before peak demand arrives and scale down before demand decreases. This dynamic approach maintains service availability during peak periods while minimizing idle resources during low-demand periods.
Solution Approach 2:
The system implements feedback by using historical resource consumption data to continuously improve future predictions. The predictive autoscaler analyzes past resource usage patterns, processes this feedback information through time series analysis, and adjusts resource provisioning accordingly. This closed-loop feedback mechanism ensures that the system learns from past behavior and optimizes resource allocation to match actual demand patterns, preventing both over-provisioning and under-provisioning.
Data Source
AI summary
Techniques of predictive autoscaling in distributed computing systems are disclosed herein. In one embodiment, a method includes receiving data representing consumption of a computing resource by an application executing on one or more servers in the distributed computing system. The method also includes processing the received data into a time series having multiple resource consumption values by the application with corresponding time stamps and decomposing the time series into a regular component and an irregular component. The method further includes generating a predicted consumption value of the computing resource by the application at a future time point according to the trend, cyclic pattern, or seasonal pattern of the regular component of the time series and causing immediate adjustment of an amount of the computing resource provisioned in the distributed computing system for the application according to the generated predicted consumption value.


