Virtual Machine State Snapshots for Fast Cloud Provisioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for pre-provisioning virtual machines in cloud computing systems are inefficient and costly, as they reserve memory resources for numerous virtual machines, leading to underutilization of computing resources and inaccuracies in predicting deployment.
Innovation Solution
A system for saving and restoring pre-provisioned virtual machine states by booting VMs on server nodes, capturing their states, and storing them in remote storage, allowing for flexible deployment based on customer requests, reducing memory usage and enhancing prediction accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If virtual machines are pre-booted and memory resources are reserved for hundreds or thousands of virtual machines, then the time between receiving a request for a virtual machine and providing the virtual machine to a customer is reduced, but computing resources cannot be utilized for computing purposes and the cost becomes very expensive
Solution Approach 1:
The system performs preliminary actions by pre-booting virtual machines and capturing their states before actual customer requests are received. The captured VM states are stored in a data store, enabling fast restoration when requests come in, thus reducing the time between request and provision while avoiding continuous resource reservation.
Solution Approach 2:
Instead of maintaining actual running virtual machines in memory, the system creates copies of VM states (snapshots) and stores them in persistent storage. These state copies can be quickly restored when needed, providing fast VM provisioning without consuming expensive memory resources continuously.
2Productivity
If virtual machines are pre-deployed based on predictive algorithms, then deployment time is reduced, but inefficiencies and inaccuracies in prediction still occur
Solution Approach 1:
The system pre-boots virtual machines based on predictive algorithms and captures their states for storage. When actual customer requests arrive, the system checks the data store for matching pre-captured VM states and restores them quickly if found, thereby achieving fast deployment while reducing reliance on continuous predictive accuracy.
Solution Approach 2:
The system incorporates feedback mechanisms where the accuracy of predictive algorithms is continuously monitored and improved based on actual deployment patterns. This feedback loop allows the system to learn from past predictions and improve future predictions, reducing inefficiencies over time.
3Speed
If memory resources are reserved for numerous virtual machines, then faster service is provided, but the cost increases significantly
Solution Approach 1:
The system stores copies of virtual machine states in persistent storage instead of maintaining actual running VMs in memory. When service is needed, these state copies are quickly restored to memory and executed, providing fast service speed while avoiding the high cost of continuously reserving memory resources for unused virtual machines.
Solution Approach 2:
Instead of continuously maintaining virtual machines in memory, the system periodically pre-boots virtual machines, captures their states, stores them, and then allows them to be restored on-demand. This periodic approach provides fast service when needed while significantly reducing the ongoing cost of resource reservation.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The present disclosure relates to systems, method, and computer-readable media to enable saving and restoring virtual machines (VMs) in a way that reduces time associated with booting VMs and reducing expense of memory resources on a cloud computing system. The systems described herein involve loading or otherwise pre-booting pre-provisioned VMs on server nodes and saving VM states of the pre-provisioned VMs within an accessible storage volume. Responsive to a received customer request, the systems described herein can restore the pre-provisioned VM from the saved VM state by bringing the VM back to a running state (e.g., responsive to a customer request). The systems described herein facilitate aggressive VM deployment prediction at minimal expense to available processing resources.