Andres Lagar-Cavilla from the University of Toronto presented a unique methodology to create “instant” DomUs within a cloud on demand. His project, Snowflock, is detailed below:
Snowflock is our prototype implementation of the Impromptu Cluster (IC) abstraction. In an IC, an application encapsulated inside a virtual machine (VM) is swiftly forked into multiple copies that execute on different physical hosts, and then disappear when the computation ends. ICs simplify the development of parallel applications and reduces management burden by enabling the instantiation of new stateful computing elements: workers that need no setup time because they have a memory of the application state achieved up to the point of forking. This approach combines the benefits of cluster-based parallelism with those of running inside a VM.
Snowflock provides swift parallel VM cloning that makes it possible for Internet applications to deliver near-interactive performance for resource-intensive highly-parallelizable tasks. Snowflock makes use of four key techniques: VM descriptors (condensed VM images that allow for sub-second suspension of a running VM and resumption of a of replicas); a memory-on-demand subsystem that lazily populates the VM’s memory image during runtime; a set of avoidance heuristics that minimize the amount of VM memory state to be fetched on demand; and a multicast distribution system for commodity Ethernet networking hardware that makes the overhead of instantiating multiple VMs similar to that of instantiating a single one.