Home
Challenge: Distributing Virtual Appliances
Virtual appliances (VAs) are pre-built virtual machines geared to specific tasks. These appliances may be tailored to the datacenter, enterprise, or home environment - providing portability, isolation, and requiring minimal configuration. For these reasons, the popularity of VAs has grown tremendously in recent years, as evidenced by the proliferation of VA offerings, particularly commercial ones. However, current distribution techniques generally require a virtual appliance’s entire disk image, hundreds of MBs to GBs in size, be completely downloaded before use. Consequently, deploying virtual appliances so they can be run immediately remains a challenge, particularly as demand increases or bandwidth decreases.
Solution: VMTorrent
VMTorrent is a novel architecture for efficient just-in-time deployment and execution of virtual appliances. VMTorrent uses a virtual file server to facilitate on-demand access to disk images while data blocks are concurrently fetched from a P2P swarm. VMTorrent employs intelligent piece selection strategies that minimize stalls due to missing blocks. Dynamic prediction algorithms prefetch this content based on profiles of known VA execution patterns and latency-optimized demand-requests fetch blocks reactively in response to VMM accesses. VMTorrent provides its functionality transparently without any changes to virtual appliances or virtual machine monitors.