
A Demonstration of Virtual Machine Streaming

Richard Potter (JST)
Mizuki Oka (University of Tsukuba)
Kazuhiko Kato (University of Tsukuba and JST)

One of the most effective techniques for optimizing the migration of
large virtual machine states is on-demand fetching of disk and memory
blocks [1], however the latencies incurred can be potentially large.  We
have built a prototype system for exploring how predictive block
prefetching can minimize or eliminate this latency by streaming the
needed parts of the virtual machine in the order needed.

We are focusing our efforts on the "Web Page Snapshot" feature of
SBUML [2,3], which allows entire Linux virtual
machines to be suspended in mid-execution and posted to websites so
that users can download and restore them with one mouse click.  Web
Page Snapshots are useful for distributing preconfigured
demonstrations or for distributing web based applications. Since Web
Page Snapshots can be shared by many users, there is opportunity for
capturing enough statistics for generating accurate and flexible
predictions.

The result is like video streaming, because needed data is buffered
and network latencies are minimized.  However virtual machines do not
use blocks with a preset linear ordering, so it is really a form of
speculative prefetching.  Therefore two questions for this research
are how to make accurate predictions and how to gather usage data upon
which to base the predictions.  Our current solution does both on the
server side, which logs the demand fetching from many users over long
periods of time.  These logs are then used to choose blocks for
prefetching based on the first few demand fetches requested by new
clients.  The sequential pattern mining techniques work well for
roughly identical uses of identical Linux snapshots, so it produces
the desired benefits for our specific purpose.  We are currently
investigating other algorithms and protocols that adapt well to
unexpected variations in use and also are able to make use of
information from the client side.

[1] C. Sapuntzakis, R. Chandra, B. Pfaff, J. Chow, M.  S. Lam, and
    M. Rosenblum, "Optimizing the Migration of Virtual Computers,"
    Proc. of the 5th Symposium on Operating Systems Design and
    Implementation (OSDI), 2002.

[2] Potter, R., "One-Click Distribution of Preconfigured Linux Runtime State," 
    in WIP Session of the 3rd Virtual Machine Research and Technology
    Symposium (VM04), May 6-7, 2004, San Jose, CA, USA 

[3] http://sbuml.sourceforge.net/

