SnowFlock: Virtual Machine Cloning as a First-Class Cloud Primitive

  • Authors:
  • H. Andrés Lagar-Cavilla;Joseph A. Whitney;Roy Bryant;Philip Patchin;Michael Brudno;Eyal de Lara;Stephen M. Rumble;M. Satyanarayanan;Adin Scannell

  • Affiliations:
  • AT&T Labs Inc. -- Research;University of Toronto;University of Toronto;University of Toronto;University of Toronto;University of Toronto;Stanford University;Carnegie Mellon University;GridCentric Inc.

  • Venue:
  • ACM Transactions on Computer Systems (TOCS)
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

A basic building block of cloud computing is virtualization. Virtual machines (VMs) encapsulate a user’s computing environment and efficiently isolate it from that of other users. VMs, however, are large entities, and no clear APIs exist yet to provide users with programatic, fine-grained control on short time scales. We present SnowFlock, a paradigm and system for cloud computing that introduces VM cloning as a first-class cloud abstraction. VM cloning exploits the well-understood and effective semantics of UNIX fork. We demonstrate multiple usage models of VM cloning: users can incorporate the primitive in their code, can wrap around existing toolchains via scripting, can encapsulate the API within a parallel programming framework, or can use it to load-balance and self-scale clustered servers. VM cloning needs to be efficient to be usable. It must efficiently transmit VM state in order to avoid cloud I/O bottlenecks. We demonstrate how the semantics of cloning aid us in realizing its efficiency: state is propagated in parallel to multiple VM clones, and is transmitted during runtime, allowing for optimizations that substantially reduce the I/O load. We show detailed microbenchmark results highlighting the efficiency of our optimizations, and macrobenchmark numbers demonstrating the effectiveness of the different usage models of SnowFlock.