Abstract

This paper shows how to quickly move the state of a running computer across a network, including the state in its disks, memory, CPU registers, and I/O devices. We call this state a capsule . Capsule state is hardware state, so it includes the entire operating system as well as applications and running processes.We have chosen to move x 86 computer states because x 86 computers are common, cheap, run the software we use, and have tools for migration. Unfortunately, x 86 capsules can be large, containing hundreds of megabytes of memory and gigabytes of disk data. We have developed techniques to reduce the amount of data sent over the network: copy-on-write disks track just the updates to capsule disks, "ballooning" zeros unused memory, demand paging fetches only needed blocks, and hashing avoids sending blocks that already exist at the remote end. We demonstrate these optimizations in a prototype system that uses VMware GSX Server virtual, machine monitor to create and run x 86 capsules. The system targets networks as slow as 384 kbps.Our experimental results suggest that efficient capsule migration can improve user mobility and system management. Software updates or installations on a set of machines can be accomplished simply by distributing a capsule with the new changes. Assuming the presence of a prior capsule, the amount of traffic incurred is commensurate with the size of the update or installation package itself. Capsule migration makes it possible for machines to start running an application within 20 minutes on a 384 kbps link, without having to first install the application or even the underlying operating system. Furthermore, users' capsules can be migrated during a commute between home and work in even less time.

Keywords

Computer sciencePagingOperating systemDemand pagingState (computer science)Embedded systemVirtual machineSoftwareHash functionVirtual memoryComputer hardwareMemory management

Affiliated Institutions

Related Publications

LINQits

We present LINQits, a flexible hardware template that can be mapped onto programmable logic or ASICs in a heterogeneous system-on-chip for a mobile device or server. Unlike fixe...

2013 97 citations

Publication Info

Year
2002
Type
article
Volume
36
Issue
SI
Pages
377-390
Citations
408
Access
Closed

External Links

Social Impact

Social media, news, blog, policy document mentions

Citation Metrics

408
OpenAlex

Cite This

Constantine Sapuntzakis, Ramesh Chandra, Ben Pfaff et al. (2002). Optimizing the migration of virtual computers. ACM SIGOPS Operating Systems Review , 36 (SI) , 377-390. https://doi.org/10.1145/844128.844163

Identifiers

DOI
10.1145/844128.844163