|
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 x86 computer states because x86 computers are common, cheap, run the software we use, and have tools for migration. Unfortunately, x86 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 x86 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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
FIPS 180-1. Announcement of weakness in the secure hash standard. Technical report, National Institute of Standards and Technology (NIST), April 1994.
|
 |
2
|
|
| |
3
|
A. A. Awadallah and M. Rosenblum. The vMatrix: A network of virtual machine monitors for dynamic content distribution. In Seventh International Workshop on Web Content Caching and Distribution, August 2002.
|
 |
4
|
|
| |
5
|
|
| |
6
|
|
| |
7
|
|
| |
8
|
P. Deutsch. Zlib compressed data format specification version 3.3, May 1996.
|
| |
9
|
R. P. Goldberg. Survey of virtual machine research. Computer, 7(6):34--45, June 1974.
|
| |
10
|
|
| |
11
|
IA-32 Intel architecture software developer's manual volumes 1--3. http://developer.intel.com/design/pentium4/manuals/.
|
| |
12
|
IBM Virtual Machine/370 Planning Guide. IBM Corporation, 1972.
|
| |
13
|
|
 |
14
|
|
| |
15
|
|
| |
16
|
M. Litzkow, M. Livny, and M. Mutka. Condor - a hunter of idle workstations. In Proceedings of the 8th International Conference on Distributed Computing Systems, pages 104--111, June 1988.
|
| |
17
|
U. Manber. Finding similar files in a large file system. In Proceedings of the USENIX Winter 1994 Technical Conference, pages 1--10, 17--21 1994.
|
| |
18
|
J. Moore and J. Chase. Cluster on demand. Technical report, Duke University, May 2002.
|
 |
19
|
|
| |
20
|
M. Muuss. The story of T-TCP.
|
| |
21
|
J. Plank, M. Beck, G. Kingsley, and K. Li. Libckpt: Transparent checkpointing under Unix. In Proceedings of the USENIX Winter 1995 Technical Conference, pages 213--224, January 1995.
|
| |
22
|
F. Rauch, C. Kurmann, and T. Stricker. Partition repositories for partition cloning---OS independent software maintenance in large clusters of PCs. In Proceedings of the IEEE International Conference on Cluster Computing 2000, pages 233--242, 2000.
|
 |
23
|
|
| |
24
|
|
| |
25
|
|
 |
26
|
|
| |
27
|
A. Tridgell. Efficient Algorithms for Sorting and Synchronization. PhD thesis, Australian National University, April 2000.
|
| |
28
|
"GSX server", white paper. http://www.vmware.com/pdf/gsx_whitepaper.pdf.
|
 |
29
|
|
| |
30
|
A. Whitaker, M. Shaw, and S. Gribble. Denali: Lightweight virtual machines for distributed and networked applications. Technical report, University of Washington, February 2001.
|
 |
31
|
Brian White , Jay Lepreau , Leigh Stoller , Robert Ricci , Shashi Guruprasad , Mac Newbold , Mike Hibler , Chad Barb , Abhijeet Joglekar, An integrated experimental environment for distributed systems and networks, Proceedings of the 5th symposium on Operating systems design and implementation Due to copyright restrictions we are not able to make the PDFs for this conference available for downloading, December 09-11, 2002, Boston, Massachusetts
[doi> 10.1145/1060289.1060313]
|
| |
32
|
Wintel architecture specifications. http://www.microsoft.com/hwdev/specs/.
|
CITED BY 31
|
|
Mahesh Kallahalla , Mustafa Uysal , Ram Swaminathan , David E. Lowell , Mike Wray , Tom Christian , Nigel Edwards , Chris I. Dalton , Frederic Gittler, SoftUDC: A Software-Based Data Center for Utility Computing, Computer, v.37 n.11, p.38-46, November 2004
|
|
|
|
|
|
|
|
|
|
Ramón Cáceres , Casey Carter , Chandra Narayanaswami , Mandayam Raghunath, Reincarnating PCs with portable SoulPads, Proceedings of the 3rd international conference on Mobile systems, applications, and services, June 06-08, 2005, Seattle, Washington
|
|
|
Constantine Sapuntzakis , David Brumley , Ramesh Chandra , Nickolai Zeldovich , Jim Chow , Monica S. Lam , Mendel Rosenblum, Virtual Appliances for Deploying and Maintaining Software, Proceedings of the 17th USENIX conference on System administration, October 26-31, 2003, San Diego, CA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dut h T. Meyer , Gitika Aggarwal , Brendan Cully , Geoffrey Lefebvre , Mi hael J. Feeley , Norman C. Hut hinson , Andrew Warfield, Parallax: virtual disks for virtual machines, ACM SIGOPS Operating Systems Review, v.42 n.4, May 2008
|
|
|
|
Robert Bradford , Evangelos Kotsovinos , Anja Feldmann , Harald Schiöberg, Live wide-area migration of virtual machines including local persistent state, Proceedings of the 3rd international conference on Virtual execution environments, June 13-15, 2007, San Diego, California, USA
|
|
|
Jose Renato Santos , Yoshio Turner , G. Janakiraman , Ian Pratt, Bridging the gap between software and hardware techniques for I/O virtualization, USENIX 2008 Annual Technical Conference on Annual Technical Conference, p.29-42, June 22-27, 2008, Boston, Massachusetts
|
|
Lavanya Ramakrishnan , David Irwin , Laura Grit , Aydan Yumerefendi , Adriana Iamnitchi , Jeff Chase, Grid allocation and reservation---Toward a doctrine of containment: grid hosting with adaptive resource control, Proceedings of the 2006 ACM/IEEE conference on Supercomputing, November 11-17, 2006, Tampa, Florida
|
|
|
|
|
|
Sriram Govindan , Arjun R. Nath , Amitayu Das , Bhuvan Urgaonkar , Anand Sivasubramaniam, Xen and co.: communication-aware CPU scheduling for consolidated xen-based hosting platforms, Proceedings of the 3rd international conference on Virtual execution environments, June 13-15, 2007, San Diego, California, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
H. Andres Lagar-Cavilla , Niraj Tolia , M. Satyanarayanan , Eyal de Lara, VMM-independent graphics acceleration, Proceedings of the 3rd international conference on Virtual execution environments, June 13-15, 2007, San Diego, California, USA
|
|
Ricardo A. Baratto , Shaya Potter , Gong Su , Jason Nieh, MobiDesk: mobile virtual desktop computing, Proceedings of the 10th annual international conference on Mobile computing and networking, September 26-October 01, 2004, Philadelphia, PA, USA
|
|