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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital Library
Index Terms
Traveling forward in time to newer operating systems using ShadowReboot
Recommendations
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 ...
Traveling forward in time to newer operating systems using ShadowReboot
VEE '13: Proceedings of the 9th ACM SIGPLAN/SIGOPS international conference on Virtual execution environmentsOperating 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 ...
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