SnowFlock: Rapid Virtual Machine Cloning for Cloud Computing
Virtual Machine (VM) fork is a new cloud computing abstraction that instantaneously clones a VM into multiple replicas running on different hosts. This paper focuses on the primitive of VM fork and the Xen-based implementation SnowFlock. Virtualization provides many benefits such as security, performance isolation, ease of management, and flexibility of running in a user-customized environment. VM fork is a clean abstraction that simplifies development and deployment of cloud applications that dynamically change their execution footprint. It enables the straightforward creation and efficient deployment of many tasks demanding swift instantiation of stateful workers in a cloud environment. This paper also deals with SnowFlock, which is an open-source project [SnowFlock] built on the Xen 3.0.3 VMM. To evaluate Snowflock, the focus is on the demanding scenario of services requiring on-the-fly creation of hundreds of parallel workers in order to solve computationally intensive queries in seconds. These services are prominent in fields such as bioinformatics, finance, and rendering. SnowFlock provides sub-second VM cloning, scales to hundreds of workers, consumes few cloud I/O resources, and has negligible runtime overhead. Its objective is performance rather than reliability. In particular, SnowFlock is of immediate relevance to users wishing to test and deploy parallel applications in the cloud.