Virtual Machine Instantaneous Boot via RDMA RAM Disk
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing boot process of virtual machine instances in remote cloud servers is inefficient, often resulting in significant delays due to bottlenecks in I/O and network transfer, especially when the virtual machine image is not pre-cached in the target host's local hard disk or memory.
Innovation Solution
Implementing a method that uses Remote Direct Memory Access (RDMA) to transfer virtual machine images directly to a RAM disk on the target host server, allowing the boot process to commence as soon as initial pages are received, and subsequently switching to a local hard disk after the image is fully transferred, thereby bypassing traditional I/O and OS bottlenecks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the virtual machine image is transferred using traditional I/O methods, then the entire image must be fully downloaded before booting can commence, but this results in significant delays and reduced productivity
Solution Approach 1:
The patent applies preliminary action by writing the virtual machine image directly to a RAM disk in advance, enabling the boot process to commence immediately once the image is received, rather than waiting for complete download. This allows the system to start the boot process before the entire image is transferred, significantly reducing startup time.
Solution Approach 2:
The patent introduces a RAM disk as an intermediary storage medium between the network transfer and the virtual machine boot process. This intermediary allows the system to read from a fast storage medium during boot while the remainder of the image continues to be transferred in the background, eliminating the bottleneck of sequential I/O operations.
2Speed
If the virtual machine image is stored in memory during transfer, then fast access is available during boot, but memory usage increases significantly
Solution Approach 1:
The patent segments the virtual machine image into two parts: the initial bootable portion is written to the RAM disk for fast access during boot, while the remainder of the image continues to be transferred and stored separately. This segmentation allows the system to use minimal memory for the critical boot portion while avoiding the need to load the entire image into memory.
Solution Approach 2:
The patent changes the storage parameter from traditional disk I/O to RAM disk storage for the image transfer process. This parameter change enables the system to achieve memory-speed access during boot while the image is being transferred, and then switch back to disk storage after boot completion, optimizing both speed and memory usage at different stages.
3Productivity
If Remote Direct Memory Access is used to transfer the image, then high-throughput low-latency networking is achieved, but the system complexity increases
Solution Approach 1:
The patent replaces the traditional mechanical I/O system with Remote Direct Memory Access (RDMA) technology. This substitution eliminates the need for complex I/O operations and operating system intervention during the transfer process, allowing data to be moved directly between memory spaces at high speed with minimal latency, thereby improving productivity despite the introduction of RDMA complexity.
Data Source
AI summary
Booting a virtual machine instance using remote direct memory access is provided. In response to beginning to receive pages of a predetermined set of pages corresponding to a requested image of a virtual machine from an image provider server, a boot process of an instance of the virtual machine is commenced while the received pages are written directly into a random-access memory (RAM) disk. The received pages are read from the RAM disk during the boot process of the instance of the virtual machine until transfer of the predetermined set of pages corresponding to the requested image is complete. The predetermined set of pages corresponding to the requested image are written to a local hard disk drive from the memory releasing memory usage. In response to completing the boot process, a RAM image is switched to a local hard disk drive image.


