Dynamic and adaptive updates of non-quiescent subsystems in commodity operating system kernels
K Makris, KD Ryu - Proceedings of the 2nd ACM SIGOPS/EuroSys …, 2007 - dl.acm.org
K Makris, KD Ryu
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer …, 2007•dl.acm.orgContinuously 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 …
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 …
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.
ACM Digital Library