ABSTRACT
Operating system (OS) reboots are an essential part of updating kernels and applications on laptops and desktop PCs. Long downtime during OS reboots severely disrupts users' computational activities. This long disruption discourages the users from conducting OS reboots, failing to enforce them to conduct software updates. This paper presents ShadowReboot, a virtual machine monitor (VMM)-based approach that shortens downtime of OS reboots in software updates. ShadowReboot conceals OS reboot activities from user's applications by spawning a VM dedicated to an OS reboot and systematically producing the rebooted state where the updated kernel and applications are ready for use. ShadowReboot provides an illusion to the users that the guest OS travels forward in time to the rebooted state. ShadowReboot offers the following advantages. It can be used to apply patches to the kernels and even system configuration updates. Next, it does not require any special patch requiring detailed knowledge about the target kernels. Lastly, it does not require any target kernel modification. We implemented a prototype in VirtualBox 4.0.10 OSE. Our experimental results show that ShadowReboot successfully updated software on unmodified commodity OS kernels and shortened the downtime of commodity OS reboots on five Linux distributions (Fedora, Ubuntu, Gentoo, Cent, and SUSE) by 91 to 98%.
- Y. Abe, H. Yamada, and K. Kono. Enforcing Appropriate Process Execution for Exploiting Idle Resources from Outside Operating Systems. In Proceedings of the 3rd ACM European Conference on Computer Systems (EuroSys '08), pages 27--40, Apr. 2008. Google ScholarDigital Library
- J. Arnold and M. F. Kaashoek. Ksplice: Automatic Rebootless Kernel Updates. In Proceedings of the 4th ACM European Conference on Computer Systems (EuroSys '09), pages 187--198, Apr. 2009. Google ScholarDigital Library
- A. Baumann, J. Appavoo, R. W. Wisniewski, D. D. Silva, O. Krieger, and G. Heiser. Reboots are for Hardware: Challenges and Solutions to Updating an Operating System on the Fly. In Proceedings of the USENIX Annual Technical Conference (ATC '07), pages 337--350, Jun. 2007. Google ScholarDigital Library
- N. Bila, E. de Lara, K. Joshi, H. A. Lagar-Cavilla, M. Hiltunen, and M. Satyanarayanan. Jettison: Efficient Idle Desktop Consolidation with Partial Migration. In Proceedings of the 7th ACM European Conference on Computer Systems (EuroSys '12), pages 211--224, Apr. 2012. Google ScholarDigital Library
- H. Chen, R. Chen, F. Zhang, B. Zang, and P.-C. Yew. Live Updating Operating Systems Using Virtualization. In Proceedings of the 2nd ACM International Conference on Virtual Execution Environments (VEE '06), pages 35--44, Jun. 2006. Google ScholarDigital Library
- B.-G. Chun, S. Ihm, P. Maniatis, M. Naik, and A. Patti. CloneCloud: Elastic Execution between Mobile Device and Cloud. In Proc. of the 6th ACM European Conference on Computer Systems (EuroSys '11), pages 301--314, Apr. 2011. Google ScholarDigital Library
- A. Depoutovitch and M. Stumm. Otherworld - Giving Applications a Change to Servive OS Kernel Crashes. In Proceedings of the 5th ACM European Conference on Computer Systems (EuroSys '10), pages 181--194, Apr. 2010. Google ScholarDigital Library
- L. Eggert and J. D. Touch. Idletime Scheduling with Preemption Intervals. In Proceedings of the 20th ACM Symposium on Operating Systems Principles (SOSP '05), pages 249--262, Oct. 2005. Google ScholarDigital Library
- FFmpeg Project. Ffmpeg. http://ffmpeg.org/.Google Scholar
- D. Gupta, S. Lee, M. Vrable, S. Savage, A. C. Snoeren, G. Varghese, G. M. Voelker, and A. Vahdat. Difference Engine: Harnessing Memory Redundancy in Virtual Machines. In Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI '08), pages 309--322, Dec. 2008. Google ScholarDigital Library
- O. Krieger, M. Auslander, B. Rosenburg, R. W. Wisniewski, J. Xenidis, D. D. Silva, M. Ostrowski, J. Appavoo, M. Butrico, M. Mergen, A.Waterland, and V. Uhlig. K42: Building a Complete Operating System. In Proceedings of the 1st ACM European Conference on Computer Systems (EuroSys '06), pages 133--145, Apr. 2006. Google ScholarDigital Library
- G. Kroah-Hartman, J. Corbet, and A. McPherson. Linux kernel development, 2009.Google Scholar
- H. A. Lagar-Cavilla, J. A. Whitney, A. M. Scannell, P. Patchin, S. M. Rumble, E. de Lara, M. Brudno, and M. Satyanarayanan. SnowFlock: Rapid Virtual Machine Cloning for Could Computing. In Proceedings of the 4th ACM European Conf. on Computer Systems (EuroSys '09), pages 1--12, Apr. 2009. Google ScholarDigital Library
- D. E. Lowell, Y. Saito, and E. J. Samberg. Devirtualizable Virtual Machines Enabling General, Single-Node, Online Maintenance. In Proceedings of the 11th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '04), pages 211--223, Oct. 2004. Google ScholarDigital Library
- C. R. Lumb, J. Schindler, and G. R. Ganger. Freeblock Scheduling Outside of Disk Firmware. In Proceedings of the 1st USENIX Symposium on File and Storage Technologies (FAST '02), pages 10--22, Jan. 2002. Google ScholarDigital Library
- K. Makris and K. D. Ryu. Dynamic and Adaptive Updates of Non-Quiescent Subsystems in Commodity Operating System Kernels. In Proceedings of the 2nd ACM European Conference on Computer Systems (EuroSys '07), pages 327--340, Mar. 2007. Google ScholarDigital Library
- G. Milos, D. G. Murray, S. Hand, and M. A. Fetterman. Satori: Enlightened page sharing. In Proceedings of the USENIX Annual Technical Conference (USENIX '09), pages 1--14, Jun. 2009. Google ScholarDigital Library
- ORACLE. Virtualbox, 2007. http://www.virualbox.org.Google Scholar
- C. A. N. Soules, J. Appavoo, K. Hui, R. W. Wisniewski, D. D. Silva, G. R. Ganger, O. Krieger, M. Stumm, M. Auslander, M. Ostrowski, B. Rosenburg, and J. Xenidis. System Support for Online Reconfiguration. In Proceedings of the USENIX Annual Technical Conference (ATC '03), pages 141--154, Jun. 2003.Google Scholar
- M. M. Swift, M. Annamalai, B. N. Bershad, and H. M. Levy. Recoverying device drivers. In Proceedings of the 6th USENIX Symposium on Operating Systems Design and Implementation (OSDI '04), pages 1--16, Dec. 2004. Google ScholarDigital Library
- M. M. Swift, D. Martin-Guillerez, M. Annamalai, B. N. Bershad, and H. M. Levy. Live Update for Device Drivers. Technical Report CSTR- 2008-1634, University of Winsconsin Computer Sciences, Mar. 2008.Google Scholar
- The Apache Software Foundation. Apache HTTP server, 1995. http://www.apache.org/.Google Scholar
- M. Vrable, J. Ma, J. Chen, D. Moore, E. Vandekieft, A. Snoeren, G. Voelker, and S. Savage. Scalability, Fidelity, and Containment in the Potemkin Virtual Honeyfarm. In Proceedings of the 20th ACM Symposium on Operating Systems Principles (SOSP '05), pages 148--162, Oct. 2005. Google ScholarDigital Library
- C. A. Waldspurger. Memory Resource Management in VMware ESX Server. In Proceedings of the 5th USENIX Symposium on Operating System Design and Implementation (OSDI '02), pages 181--194, Dec. 2002. Google ScholarDigital Library
- K. Yamakita, H. Yamada, and K. Kono. Phase-based Reboot: Reusing Operating System Execution Phases for Cheap Reboot-based Recovery. In Proc. of the 41st Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN '11), pages 169--180, Jun. 2011. Google ScholarDigital Library
Index Terms
- Traveling forward in time to newer operating systems using ShadowReboot
Recommendations
Traveling forward in time to newer operating systems using ShadowReboot
VEE '13Operating system (OS) reboots are an essential part of updating kernels and applications on laptops and desktop PCs. Long downtime during OS reboots severely disrupts users' computational activities. This long disruption discourages the users from ...
Traveling forward in time to newer operating systems using ShadowReboot
APSys '11: Proceedings of the Second Asia-Pacific Workshop on SystemsThis paper presents ShadowReboot, a virtual machine monitor (VMM)-based approach that shortens the downtime for software updates during an OS reboot. ShadowReboot reboots the guest OS in the background by spawning a VM dedicated to an OS reboot and ...
Experiences teaching operating systems using virtual platforms and Linux
Operating system courses teach students much more when they provide hands-on kernel-level project experience with a real operating system. However, enabling a large class of students to do kernel development can be difficult. To address this problem, we ...
Comments