Virtual Machine Scaling via Time-Lagged Correlation Graphs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing scaling methods for virtualized systems in cloud environments are inefficient and costly, particularly in large-scale services, as they require extensive monitoring and resource-intensive profiling, and often fail to accurately identify which resources need scaling and when, leading to suboptimal performance and increased costs.
Innovation Solution
A method using time-lagged partial correlation graphs to dynamically detect and scale resources based on local metrics like CPU, memory, and network utilization, creating a directed graph to determine when and how to scale virtual machine instances, allowing for proactive and concurrent scaling decisions without external tools or intrusive profiling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If reactive scaling is used to monitor and scale VMs based on current load, then service performance is maintained, but scaling decisions are delayed and resources are wasted due to overprovisioning
Solution Approach 1:
The patent applies preliminary action by analyzing historical workload data and correlation graphs to predict future resource needs before they actually occur. The system proactively identifies which VMs will need scaling and when, allowing pre-scaling decisions to be made before performance degradation occurs, thus eliminating the delay inherent in reactive approaches.
Solution Approach 2:
The system implements feedback by continuously monitoring current workload and comparing it with historical patterns and correlation graphs. This feedback loop enables the system to adjust scaling predictions in real-time, refining its understanding of workload relationships and improving the accuracy of proactive scaling decisions while maintaining service performance.
2Reliability
If all VMs are scaled uniformly in response to workload growth, then service performance is maintained, but resources are wasted on non-critical VMs
Solution Approach 1:
The patent applies local quality by constructing correlation graphs that identify specific local relationships between VMs and their workload dependencies. Instead of uniform scaling, the system analyzes the graph to identify only those VMs with critical correlations to overall service performance, enabling differentiated scaling decisions that target specific VMs based on their local importance to the service.
Solution Approach 2:
The system segments the VM infrastructure into critical and non-critical groups based on correlation analysis. By dividing the system into segments with different scaling requirements, the patent enables selective scaling of only those VMs that are proven to impact service performance, avoiding wasteful scaling of non-critical VMs while maintaining necessary performance levels.
3Measurement precision
If extensive monitoring and profiling are implemented to identify scaling needs, then accurate scaling decisions are made, but system complexity and computational overhead increase
Solution Approach 1:
The patent introduces correlation graphs as an intermediary structure that simplifies the monitoring process. Instead of directly analyzing complex relationships between all VMs and all metrics, the system uses the correlation graph as a mediator that pre-processes and organizes workload data, making it easier to identify scaling needs with lower computational overhead and reduced system complexity.
Solution Approach 2:
The system applies self-service by enabling VMs to effectively monitor and report their own workload characteristics and correlations. Each VM's workload data contributes automatically to the correlation graph construction, eliminating the need for extensive external profiling tools and reducing the complexity of centralized monitoring while maintaining high measurement precision for scaling decisions.
Data Source
Figure 1
Figure 2
Figure 3(a)~3(c)
AI summary
A method of determining a set of virtual machine instances in a virtualized system to be scaled in response to a variation in workload of a service or application component, the method comprising generating respective sets of aggregated metrics for respective ones of multiple virtual machines, generating a directed graph in which nodes representing a resource of one or more of the multiple virtual machines are linked using one or more edges, the weight of each of the edges representing a time-lagged partial correlation value and a time lag value representing a measure of when to scale one resource relative to another, determining the set of virtual machine instances to be scaled by removing edges of the directed graph whose weight falls below a threshold measure and removing nodes whose incident edges have been removed, and scaling the weight of remaining edges of the directed graph relative to a selected node of the graph.