|
ABSTRACT
Continuously running systems require kernel software updates applied to them without downtime. Facilitating fast reboots, or delaying an update may not be a suitable solution in many environments, especially in pay-per-use high-performance computing clusters and mission critical systems. Such systems will not reap the benefits of new kernel features, and will continue to operate with kernel security holes unpatched, at least until the next scheduled maintenance downtime. To address these problems we developed an on-the-fly kernel updating system that enables commodity operating systems to gain adaptive and mutative capabilities without kernel recompilation or reboot. Our system, DynAMOS, employs a novel and efficient dynamic code instrumentation technique termed adaptive function cloning. Execution flow can be switched adaptively among multiple editions of functions, possibly concurrently running. This approach becomes the foundation for dynamic replacement of non-quiescent kernel subsystems when the timeliness of an update depends on synchronization of multiple kernel paths. We illustrate our experience by dynamically updating core subsystems of the Linux kernel.
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
|
Andrew Baumann , Gernot Heiser , Jonathan Appavoo , Dilma Da Silva , Orran Krieger , Robert W. Wisniewski , Jeremy Kerr, Providing dynamic update in an operating system, Proceedings of the USENIX Annual Technical Conference 2005 on USENIX Annual Technical Conference, p.32-32, April 10-15, 2005, Anaheim, CA
|
| |
3
|
|
| |
4
|
Cowan, C., Autrey, T., Krasic, C., Pu, C., and Walpole, J. Fast concurrent dynamic linking for an adaptive operating system, 1996.
|
| |
5
|
David J. Pearce. Instrumenting the Linux Kernel, MS thesis, 2000.
|
| |
6
|
|
 |
7
|
|
| |
8
|
Hollingsworth, J. K., Miller, B. P., and Cargille, J. Dynamic program instrumentation for scalable performance tools. 1994 Scalable High Performance Computing (May 1994).
|
| |
9
|
|
 |
10
|
|
| |
11
|
|
| |
12
|
Linus Torvalds and William Lee Irwin III. Make pipe data be a circular list of pages. LWN.net (January 2005).
|
 |
13
|
Chi-Keung Luk , Robert Cohn , Robert Muth , Harish Patil , Artur Klauser , Geoff Lowney , Steven Wallace , Vijay Janapa Reddi , Kim Hazelwood, Pin: building customized program analysis tools with dynamic instrumentation, Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, June 12-15, 2005, Chicago, IL, USA
|
| |
14
|
Maebe, J., and Bosschere, K. D. Instrumenting self-modifying code. In Proceedings of the Fifth International Workshop on Automated Debugging (AADEBUG 2003) (September 2003).
|
| |
15
|
Maebe, J., Ronsse, M., and Bosschere, K. D. Diota: Dynamic instrumentation, optimization and transformation of applications. In Compendium of Workshops and Tutorials held in conjuction with PACT '02 (2002).
|
| |
16
|
Maebe, J., Ronsse, M., and Bosschere, K. D. Instrumenting JVMs at the machine code level. In 3rd PA3CT-symposium (September 2003).
|
 |
17
|
Iulian Neamtiu , Michael Hicks , Gareth Stoyle , Manuel Oriol, Practical dynamic software updating for C, Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation, June 11-14, 2006, Ottawa, Ontario, Canada
|
| |
18
|
|
| |
19
|
|
| |
20
|
Ryu, K. D., Pachapurkar, N., and Fong, L. L. Adaptive memory paging for efficient gang scheduling of parallel applications. In IPDPS 2004 (April 2004).
|
| |
21
|
|
| |
22
|
Srivastava, A., Edwards, A., and Vo, H. Vulcan: Binary transformation in a distributed environment. Tech. Rep MSR-TR-2001-50, April 2001.
|
 |
23
|
|
| |
24
|
|
CITED BY 6
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|