Adaptive Sleep Virtual Machines for Cloud Resource Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud provider networks face inefficiencies in resource utilization due to periods of lessened activity in virtual machines and varying priorities among customer instances, leading to suboptimal allocation of host system resources.
Innovation Solution
The implementation of an adaptive sleep virtual machine architecture that allows virtual machines to transition between active and paused states, enabling the preservation of state and reallocation of resources, thereby optimizing resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If virtual machines remain always active to ensure immediate service availability, then service responsiveness is improved, but resource utilization efficiency deteriorates during periods of lessened activity
Solution Approach 1:
The system dynamically transitions virtual machines between active and paused states based on activity monitoring. When a VM enters a paused state, its network endpoint is redirected to a proxy server that handles incoming traffic by either rejecting connections or redirecting to alternative active VMs, thus maintaining service availability while improving resource utilization during low-activity periods
Solution Approach 2:
A proxy server is introduced as an intermediary between the network and paused virtual machines. The proxy server receives network traffic intended for paused VMs and redirects it to active VMs or returns appropriate error responses, enabling seamless load distribution and service continuity without requiring paused VMs to remain actively connected
2Adaptability or versatility
If host system resources are allocated to multiple virtual machines simultaneously, then service coverage is improved, but resource allocation efficiency deteriorates when some virtual machines are idle
Solution Approach 1:
The system implements periodic monitoring of virtual machine activity levels and automatically pauses VMs that have been idle for a predetermined time period. This periodic assessment allows the system to maintain multiple VMs for service coverage while efficiently pausing and reallocating resources from idle VMs back to active ones, improving overall resource allocation efficiency
Solution Approach 2:
The system changes the operational state parameter of virtual machines from active to paused based on activity thresholds and time-based criteria. By modifying the operational state parameter, the system can maintain service coverage through multiple VMs while optimizing resource allocation by pausing those that are not currently needed
3Productivity
If virtual machines are paused to optimize resource usage, then resource efficiency is improved, but service availability may deteriorate if not properly managed
Solution Approach 1:
The system performs preliminary actions by monitoring VM activity and pausing VMs before they would consume unnecessary resources, while simultaneously implementing traffic redirection mechanisms in advance. The proxy server is pre-configured to handle traffic redirection, ensuring that when a VM is paused, service availability is maintained through automatic traffic routing to alternative active VMs
Data Source
AI summary
Techniques for adaptive sleep virtual machine management are described. A service of a provider network receives a parameter indicating that a first virtual machine can be slept and determines to sleep the first virtual machine based at least in part on the parameter. A state of the first virtual machine is captured, and the first virtual machine is terminated. The service determines to resume the captured state of the first virtual machine based at least in part on an indication. A second virtual machine is launched using the captured state of the first virtual machine and resumes execution of the captured state of the first virtual machine. A proxy server sends traffic to the first virtual machine before the termination of the first virtual machine and to the second virtual machine after the resumption of execution of the captured state of the first virtual machine by the second virtual machine.


