A Lightweight Proposal for Fast Booting Many Homogeneous Virtual Machines
Nova supports to boot virtual machines (VMs) atop the Cinder volumes. However,
in the current implementation (version i), booting up a large number of
homogeneous VMs is time-consuming. To overcome this drawback, we propose a
lightweight patch for Nova, which adopts a third-party library, called
VMThunder, for fast booting homogeneous VMs. VMThunder accelerates the booting
process through on-demand data transfer in a P2P manner.
Blueprint information
Related branches
Related bugs
Sprints
Whiteboard
We propose to add a new method, named "Boot from VMThunder", for fast booting
multiple homogeneous VMs. This method uses a third-party library (VMThunder) to
support simultaneous booting of a large number of VMs.
VMThunder configures each VM with two volumes (the figure can be found here
http://
exactly the same as the pre-created original volume and a (writable) snapshot
volume storing each VM's difference to the template. The original volume is the
root of a template volume relay tree, and each VM fetches only the necessary
data from its parent over the multi-path iSCSI protocol. In addition, VMThunder
makes use of a compute node's local storage as a cache to accelerate the image
transferring process and avoid a repetitive data transfer. The P2P-style,
on-demand data transfer dramatically accelerates VMs' booting process.
Our modification to Nova is light-weighted (about 80 lines of insertions and
deletions). Two major functions, i.e., the creation and deletion of the
template and snapshot volumes, are implemented as following: (i) creation: We
add a volume-driver class (about 50 lines, depends on VMThunder's API) in file
"nova/virt/
(ii) deletion: We add a delete method (about 20 lines, depends on VMThunder's
API) in file "nova/compute/
snapshot volumes.
More details of the implementation can be found in the following links:
Paper, http://
Modification diff file, http://
VMThunder demo videos,
http://
Image booting demo videos,
http://
Mailing-list: http://
Gerrit topic: https:/
2014-07-21
Addressed by https:/
add the major version: bp/thunderboost
Change-Id: I174bff2a96ff82