|
ABSTRACT
Many critical IT infrastructures require non-disruptive operations. However, the operating systems thereon are far from perfect that patches and upgrades are frequently applied, in order to close vulnerabilities, add new features and enhance performance. To mitigate the loss of availability, such operating systems need to provide features such as live update through which patches and upgrades can be applied without having to stop and reboot the operating system. Unfortunately, most current live updating approaches cannot be easily applied to existing operating systems: some are tightly bound to specific design approaches (e.g. object-oriented); others can only be used under particular circumstances (e.g. quiescence states).In this paper, we propose using virtualization to provide the live update capability. The proposed approach allows a broad range of patches and upgrades to be applied at any time without the requirement of a quiescence state. Moreover, such approach shares good portability for its OS-transparency and is suitable for inclusion in general virtualization systems. We present a working prototype, LUCOS, which supports live update capability on Linux running on Xen virtual machine monitor. To demonstrate the applicability of our approach, we use real-life kernel patches from Linux kernel 2.6.10 to Linux kernel 2.6.11, and apply some of those kernel patches on the fly. Performance measurements show that our implementation incurs negligible performance overhead: a less than 1% performance degradation compared to a Xen-Linux. The time to apply a patch is also very minimal.
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
|
David A. 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, and Noah Treuhaft. Recovery-Oriented Computing (ROC): Motivation, Definition, Techniques, and Case Studies. Technical Report UCB//CSD-02-1175, University of California, Berkeley, March 2002.
|
| |
2
|
Mark E. Segal and Ophir Frieder. On-the-fly program modification: Systems for dynamic updating. IEEE Software., 10(2):53--65, 1993.
|
| |
3
|
Craig A. N. Soules, Jonathan Appavoo, Kevin Hui, Robert W. Wisniewski, Dilma Da Silva, Gregory R. Ganger, Orran Krieger, Michael Stumm, Marc Auslander, Michal Ostrowski, Bryan Rosenburg, and Jimi Xenidis. System support for online reconfiguration. In Proc. of the Usenix Technical Conference, pages 141--154. USENIX Association, June 2003.
|
| |
4
|
Craig A. N. Soules Robert W. Wisniewski Dilma Da Silva Orran Krieger Marc Auslander David Edelsohn Ben Gamsa Gregory R. Ganger Paul McKenney Michal Ostrowski Bryan Rosenburg Michael Stumm Jimi Xenidis Jonathan Appavoo, Kevin Hui. Enabling autonomic system software with hot-swapping. IBM Systems Journal, 42(1):60--76, January 2003.
|
| |
5
|
Andrew Baumann, Jonathan Appavoo, Dilma Da Silva, Jeremy Kerr, Orran Krieger, and Robert W. Wisniewski. Providing dynamic update in an operating system. In Proceedings of the USENIX Annual Technical Conference, pages 279--291, Anaheim, CA, USA, June 2005. USENIX Association.
|
| |
6
|
Robert Wisniewski Marc Auslander David Edelsohn Ben Gamsa Orran Krieger Bryan Rosenburg Kevin Hui, Jonathan Appavoo and Michael Stumm. Supporting hot-swappable components for system software. In Proceedings of the 8th Workshop on Hot Topics in Operating Systems (HotOS-VIII 01), pages 170--170, Elmau/Oberbayern, Germany, May 2001.
|
| |
7
|
R.P. Goldberg. Survey of virtual machine research. IEEE Computer Magazine, 7(6):34--45, 1974.
|
| |
8
|
B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, I. Pratt, A. Warfield, P. Barham, and R. Neugebauer. Xen and the art of virtualization. In Proceedings of the ACM Symposium on Operating Systems Principles, pages 164--177, Bolton Landing, NY, October 2003.
|
| |
9
|
Robert Rose. Survey of system virtualization techniques. http://citeseer.ist.psu.edu/720518.html, March 2004.
|
| |
10
|
Carl A. Waldspurger. Memory resource management in VMware ESX server. In Proceedings of the 5th symposium on Operating systems design and implementation, OSDI'02, pages 181--194. USENIX Association, December 2002.
|
| |
11
|
Microsoft Corporation. Microsoft virtual server 2005. http://www.microsoft.com/windowsserversystem/virtualserver/default.mspx.
|
| |
12
|
Andrew Whitaker, Marianne Shaw, and Steven D. Gribble. Scale and performance in the denali isolation kernel. In Proceedings of the 5th symposium on Operating systems design and implementation (OSDI), pages 195--209, Boston, MA, USA, October 2002. USENIX Association.
|
| |
13
|
Andrew Whitaker, Marianne Shaw, and Steven D. Gribble. Denali: Lightweight virtual machines for distributed and networked applications. Monterey, CA, USA, June 2002.
|
| |
14
|
Jeff Dike. User-mode linux. In Proceedings of the 5th Annual Linux Showcase & Conference, Oakland, CA, November 2001. Usenix Association.
|
| |
15
|
Paul Burstein Gautam Altekar, Ilya Bagrak and Andrew Schultz. OPUS: Online Patches and Updates for Security. In Proceedings of 14th USENIX Security Symposium, Baltimore, MD USA, 2005.
|
| |
16
|
Emmett Witchel, Josh Cates, and Krste Asanovic. Mondrian memory protection. In 10th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-X), volume 37, 10 of ACM SIGPLAN notices, pages 304--316. ACM Press, 2002.
|
| |
17
|
Intel Cooperation. Intel vanderpool technology for IA-32 processors (VT-x) preliminary specification. http://www.intel.com/technology/computing/vptech/.
|
| |
18
|
Brian N. Bershad Michael M. Swift and Henry M. Levy. Improving the reliability of commodity operating systems. In Proceedings of the nineteenth ACM symposium on Operating systems principles, pages 207--222, Bolton Landing, NY, USA, October 2003. ACM Press.
|
| |
19
|
Brian N. Bershad Michael M. Swift, Muthukaruppan Annamalai and Henry M. Levy. Recovering Device Drivers. In Preceedings of 6th Symposium on Operating Systems Design and Implementation, pages 1--16, San Francisco, CA, USA, 2005.
|
| |
20
|
John L. Henning. SPEC CPU2000: Measuring CPU performance in the new millennium. IEEE Computer, 33(7):28--35, July 2000.
|
| |
21
|
Maciej Suchomski Peter Eisentraut Justin Clift Andy Riebs, Mark Kirkwood and Paul Wagner. Osdb x0.15-1. http://osdb.sourceforge.net.
|
| |
22
|
Ronald G. Minnich. A dynamic kernel modifier for linux. In Proceedings of the LACSI Symposium, September 2002.
|
| |
23
|
Michael W. Hicks, Jonathan T. Moore, and Scott Nettles. Dynamic software updating. In SIGPLAN Conference on Programming Language Design and Implementation, pages 13--23, 2001.
|
| |
24
|
Robert Bialek and Eric Jul. A framework for evolutionary, dynamically updatable, component-based systems. In 24th International Conference on Distributed Computing Systems Workshops - W2: DARES(ICDCSW'04), pages 326--331, 2004.
|
| |
25
|
Gareth Stoyle, Michael Hicks, Gavin Bierman, Peter Sewell, and Iulian Neamtiu. Mutatis Mutandis: Safe and predictable dynamic software updating. In Proceedings of POPL 2005: The 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (Long Beach), pages 183--194, January 2005.
|
| |
26
|
Matt Welsh. Implementing loadable kernel modules for Linux. j-DDJ, 20(5):18--20, 22, 24, 96, April 1995.
|
| |
27
|
Paul E. McKenney and John D. Slingwine. Read-copy update: Using execution history to solve concurrency problems. In Parallel and Distributed Computing and Systems, pages 509--518, Las Vegas, NV, October 1998.
|
| |
28
|
David E. Lowell, Yasushi Saito, and Eileen J. Samberg. Devirtualizable virtual machines enabling general, single-node, online maintenance. ACM Special Interest Group on Operating Systems (SIGOPS) Operating Systems Review, 38(5):211--223, December 2004.
|
CITED BY 5
|
|
|
|
|
|
|
Andrew Baumann , Jonathan Appavoo , Robert W. Wisniewski , Dilma Da Silva , Orran Krieger , Gernot Heiser, Reboots are for hardware: challenges and solutions to updating an operating system on the fly, 2007 USENIX Annual Technical Conference on Proceedings of the USENIX Annual Technical Conference, p.1-14, June 17-22, 2007, Santa Clara, CA
|
|
|
Peter Sewell , Gareth Stoyle , Michael Hicks , Gavin Bierman , Keith Wansbrough, Dynamic rebinding for marshalling and update, via redex-time and destruct-time reduction, Journal of Functional Programming, v.18 n.4, p.437-502, July 2008
|
|
|
|
|