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.
- 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.]] Google ScholarDigital Library
- Mark E. Segal and Ophir Frieder. On-the-fly program modification: Systems for dynamic updating. IEEE Software., 10(2):53--65, 1993.]] Google ScholarDigital Library
- 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.]]Google Scholar
- 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.]] Google ScholarDigital Library
- 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.]] Google ScholarDigital Library
- 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.]] Google ScholarDigital Library
- R.P. Goldberg. Survey of virtual machine research. IEEE Computer Magazine, 7(6):34--45, 1974.]]Google ScholarDigital Library
- 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.]] Google ScholarDigital Library
- Robert Rose. Survey of system virtualization techniques. http://citeseer.ist.psu.edu/720518.html, March 2004.]]Google Scholar
- 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.]] Google ScholarDigital Library
- Microsoft Corporation. Microsoft virtual server 2005. http://www.microsoft.com/windowsserversystem/virtualserver/default.mspx.]]Google Scholar
- 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.]] Google ScholarDigital Library
- Andrew Whitaker, Marianne Shaw, and Steven D. Gribble. Denali: Lightweight virtual machines for distributed and networked applications. Monterey, CA, USA, June 2002.]]Google Scholar
- Jeff Dike. User-mode linux. In Proceedings of the 5th Annual Linux Showcase & Conference, Oakland, CA, November 2001. Usenix Association.]] Google ScholarDigital Library
- 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.]] Google ScholarDigital Library
- 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.]] Google ScholarDigital Library
- Intel Cooperation. Intel vanderpool technology for IA-32 processors (VT-x) preliminary specification. http://www.intel.com/technology/computing/vptech/.]]Google Scholar
- 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.]] Google ScholarDigital Library
- 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.]] Google ScholarDigital Library
- John L. Henning. SPEC CPU2000: Measuring CPU performance in the new millennium. IEEE Computer, 33(7):28--35, July 2000.]] Google ScholarDigital Library
- Maciej Suchomski Peter Eisentraut Justin Clift Andy Riebs, Mark Kirkwood and Paul Wagner. Osdb x0.15-1. http://osdb.sourceforge.net.]]Google Scholar
- Ronald G. Minnich. A dynamic kernel modifier for linux. In Proceedings of the LACSI Symposium, September 2002.]]Google Scholar
- 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.]] Google ScholarDigital Library
- 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.]] Google ScholarDigital Library
- 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.]] Google ScholarDigital Library
- Matt Welsh. Implementing loadable kernel modules for Linux. j-DDJ, 20(5):18--20, 22, 24, 96, April 1995.]]Google Scholar
- 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.]]Google Scholar
- 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.]]Google Scholar
Index Terms
- Live updating operating systems using virtualization
Recommendations
Virtual machines with sharable operating system
OOPSLA '11: Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companionVirtualization technologies commonly known as Cloud model enable the execution of multiple virtual machine instances (VMs) with different operating systems (OSs) on the same physical host. Each VM instance functions independently as an isolated system ...
Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors
EuroSys '07: Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007Hypervisors, popularized by Xen and VMware, are quickly becoming commodity. They are appropriate for many usage scenarios, but there are scenarios that require system virtualization with high degrees of both isolation and efficiency. Examples include ...
Improving compute node performance using virtualization
Modified variants of Linux are likely to be the underlying operating systems (OSs) for future exascale platforms. Despite the many advantages of this approach, a subset of applications exist in which a lightweight kernel (LWK)-based OS is needed and/or ...
Comments