VM Resource Oversubscription via Utilization Pattern Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud computing systems face performance degradation and system failures due to oversubscription, where virtual machines are allocated to servers with insufficient physical resources, leading to undesirable effects like service delays and interruptions.
Innovation Solution
Categorizing virtual machines as user-facing or non-user-facing based on historical resource utilization data and applying pattern analysis, such as Fast Fourier Transform, to allocate user-facing tasks to undersubscribed servers and non-user-facing tasks to any server, thereby mitigating the impact of oversubscription.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If oversubscription is used to host more virtual machines on a server, then resource utilization is boosted, but performance degradation and system failures occur when all virtual machines demand resources simultaneously
Solution Approach 1:
The patent segments virtual machines into two distinct categories: user-facing virtual machines and non-user-facing virtual machines. This segmentation allows different resource allocation strategies to be applied to each category, enabling oversubscription of non-user-facing VMs while protecting user-facing VMs from resource contention, thus resolving the contradiction between high resource utilization and system stability
Solution Approach 2:
The patent applies local quality by implementing different oversubscription levels for different types of virtual machines. User-facing VMs are allocated dedicated resources with guaranteed performance, while non-user-facing VMs are allowed to oversubscribe and compete for remaining resources. This localized approach to resource allocation maintains system stability for critical operations while maximizing overall resource utilization
2Productivity
If virtual machines are allocated to servers with insufficient physical resources, then more virtual machines can be hosted, but service delays and interruptions occur
Solution Approach 1:
By segmenting virtual machines into user-facing and non-user-facing categories, the patent ensures that user-facing VMs (which require timely service response) are not subjected to the same resource contention as non-user-facing VMs. This segmentation prevents service delays for critical operations while still allowing the system to host more virtual machines overall through oversubscription of non-critical VMs
3Reliability
If pattern analysis is applied to categorize virtual machines, then user-facing tasks can be allocated to undersubscribed servers, but system complexity increases
Solution Approach 1:
The patent implements self-service by enabling virtual machines to automatically declare their type (user-facing or non-user-facing) based on their workload characteristics and resource usage patterns. The system automatically categorizes and allocates VMs without requiring manual intervention or complex external management, thus improving service continuity while minimizing the increase in system complexity
Applied Scientific Principles
This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.
Function Achieved in This Case
This approach reduces the risk of service delays and interruptions by ensuring user-facing tasks are allocated to servers with sufficient resources, maintaining performance and preventing system failures.
Implementation Method 1
Pattern analysis can then be performed on the collected utilization data to determine a temporal pattern present in the utilization data. In certain implementations, the temporal pattern can be classified as periodic, constant, or random patterns. A periodic pattern indicates a possibility that the corresponding task is user-facing
Data Source
AI summary
Techniques of managing oversubscription of network resources are disclosed herein. In one embodiment, a method includes receiving resource utilization data of a virtual machine hosted on a server in a computing system. The virtual machine is configured to perform a task. The method also includes determining whether a temporal pattern of the resource utilization data associated with the virtual machine indicates one or more cycles of resource utilization as a function of time and in response to determining that the temporal pattern associated with the virtual machine indicates one or more cycles of resource utilization as a function of time, causing the virtual machine to migrate to another server that is not oversubscribed by virtual machines in the computing system.


