|
ABSTRACT
Maintenance is the dominant source of downtime at high availability sites. Unfortunately, the dominant mechanism for reducing this downtime, cluster rolling upgrade, has two shortcomings that have prevented its broad acceptance. First, cluster-style maintenance over many nodes is typically performed a few nodes at a time, mak-ing maintenance slow and often impractical. Second, cluster-style maintenance does not work on single-node systems, despite the fact that their unavailability during maintenance can be painful for organizations. In this paper, we propose a novel technique for online maintenance that uses virtual machines to provide maintenance on single nodes, allowing parallel maintenance over multiple nodes, and online maintenance for standalone servers. We present the Microvisor, our prototype virtual machine system that is custom tailored to the needs of online maintenance. Unlike general purpose virtual machine environments that induce continual 10-20% over-head, the Microvisor virtualizes the hardware only during periods of active maintenance, letting the guest OS run at full speed most of the time. Unlike past attempts at virtual machine optimization, we do not compromise OS transparency. We instead give up generality and tailor our virtual machine system to the minimum needs of online maintenance, eschewing features, such as I/O and memory virtualization, that it does not strictly require. The result is a very thin virtual machine system that induces only 5.6% CPU overhead when virtualizing the hardware, and zero CPU overhead when devirtualized. Using the Microvisor, we demonstrate an online OS upgrade on a live, single-node web server, reducing downtime from one hour to less than one minute.
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
|
J. Appavoo , K. Hui , C. A. N. Soules , R. W. Wisniewski , D. M. Da Silva , O. Krieger , M. A. Auslander , D. J. Edelsohn , B. Gamsa , G. R. Ganger , P. McKenney , M. Ostrowski , B. Rosenburg , M. Stumm , J. Xenidis, Enabling autonomic behavior in systems software with hot swapping, IBM Systems Journal, v.42 n.1, p.60-76, January 2003
|
 |
2
|
Paul Barham , Boris Dragovic , Keir Fraser , Steven Hand , Tim Harris , Alex Ho , Rolf Neugebauer , Ian Pratt , Andrew Warfield, Xen and the art of virtualization, Proceedings of the nineteenth ACM symposium on Operating systems principles, October 19-22, 2003, Bolton Landing, NY, USA
|
| |
3
|
|
| |
4
|
Pradip Bose. Keynote address: Power-Efficient Microarchitectural Choices at the Early Definition Stage. In 2003 IEEE/ACM Workshop on Power-Aware Computing Systems (PACS-2003 at Micro-36), December 2003.
|
 |
5
|
|
 |
6
|
|
| |
7
|
Jeffrey P. Buzen and Robert P. Goldberg. Virutal Machine Techniques for Introducing Peripherals into Computer Sys-tems. In Proceedings of COMPCON 1974, February 1974.
|
 |
8
|
|
| |
9
|
Scott W. Devine, Edouard Bugnion, and Mendel Rosenblum. Virtualization system including a virtual machine monitor for a computer with a segmented architecture. US Paten 6,397,242, May 2002.
|
| |
10
|
George W. Dunlap, Samuel T. King, Sukru Cinar, Murtaza Basrai, and Peter M. Chen. Scale and Performance in the De-nali Isolation Kernel. In Proceedings of the 2002 USENIX Symposium on Operating Systems Design and Implementation (OSDI), December 2002.
|
| |
11
|
Robert P. Goldberg. Survey of Virtual Machine Research. Computer, pages 34--45, June 1974.
|
| |
12
|
David Golub, Randall Dean, Allessandro Forin, and Richard Rashid. Unix as an Application Program. In Proceedings of the 1990 USENIX Summer Conference, 1990.
|
 |
13
|
Kinshuk Govil , Dan Teodosiu , Yongqiang Huang , Mendel Rosenblum, Cellular Disco: resource management using virtual clusters on shared-memory multiprocessors, Proceedings of the seventeenth ACM symposium on Operating systems principles, p.154-169, December 12-15, 1999, Charleston, South Carolina, United States
|
 |
14
|
Hermann Härtig , Michael Hohmuth , Jochen Liedtke , Sebastian Schönberg, The performance of μ-kernel-based systems, Proceedings of the sixteenth ACM symposium on Operating systems principles, p.66-77, October 05-08, 1997, Saint Malo, France
|
 |
15
|
|
| |
16
|
Y. Huang, P. Y. Chung, C. M. R. Kintala, D. Liang, and C. Wang. NT-SwiFT: Software-implemented Fault Tolerance for Windows-NT. In Proceedings of the 1998 USENIX WindowsNT Symposium, August 1998.
|
| |
17
|
John Humpreys, Mark Melenovsky, and Vernon Turner. Service-Centric Computing: An Infrastructure Perspective, Out-look and Analysis. Technical Report 28934, IDC Corporation, March 2003.
|
| |
18
|
D. D. Keefe. Hierarchical Control Programs for Systems Evaluation. IBM Systems Journal, 7(2):123--133, 1968.
|
| |
19
|
Mark M. Levin. Data Center Trends and Best Practices. Technical report, META Group, 2002.
|
| |
20
|
Windows 2000 Clustering: Performing a Rolling Upgrade. Technical Report http://www.microsoft.com/windows2000/ techinfo/planning/incremental/rollupgr.asp, Microsoft Cor-poration, 2000.
|
| |
21
|
HP NonStop Group. Personal communication. 1998.
|
| |
22
|
Open Source Database Benchmark. http://osdb.source-forge.net/, 2003.
|
 |
23
|
|
| |
24
|
David Patterson , Aaron Brown , Pete Broadwell , George Candea , Mike Chen , James Cutler , Patricia Enriquez , Armando Fox , Emre Kiciman , Matthew Merzbacher , David Oppenheimer , Naveen Sastry , William Tetzlaff , Jonathan Traupman , Noah Treuhaft, Recovery Oriented Computing (ROC): Motivation, Definition, Techniques,, University of California at Berkeley, Berkeley, CA, 2002
|
| |
25
|
|
| |
26
|
Gerald J. Popek and Charles S. Kline. Verifiable Secure Operating System Software. In Proceedings of 1974 AFIPS National Computer Conference, 1974.
|
| |
27
|
John Scott Robin and Cynthia E. Irvine. Analysis of the Intel Pentium's Ability to Support a Secure Virtual Machine Monitor. In Proceedings of the 9th USENIX Security Symposium, pages 129--144, August 2000.
|
 |
28
|
Constantine P. Sapuntzakis , Ramesh Chandra , Ben Pfaff , Jim Chow , Monica S. Lam , Mendel Rosenblum, Optimizing the migration of virtual computers, 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.1060324]
|
| |
29
|
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
|
| |
30
|
|
| |
31
|
|
 |
32
|
|
 |
33
|
|
 |
34
|
|
| |
35
|
Joel M. Winett. Virtual Machines for Developing Systems Software. In Proceedings of 1971 IEEE Computer Society Conference, September 1971.
|
 |
36
|
|
CITED BY 7
|
|
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
|
|
|
|
|
|
Kiran Nagaraja , Fábio Oliveira , Ricardo Bianchini , Richard P. Martin , Thu D. Nguyen, Understanding and dealing with operator mistakes in internet services, Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation, p.5-5, December 06-08, 2004, San Francisco, CA
|
|
Bowen Alpern , Joshua Auerbach , Vasanth Bala , Thomas Frauenhofer , Todd Mummert , Michael Pigott, PDS: a virtual execution environment for software deployment, Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments, June 11-12, 2005, Chicago, IL, USA
|
|
|
|
|
|
|
|