2011 · 34 citations · 24 references
ComputingComputer ScienceComputer SystemsFault-tolerant ComputingFault-tolerant SystemsOperating SystemsFault InjectionHigh AvailabilitySystem RecoveryTransient Fault HandlingBoot Sequence DesignKernel Boot ProcessTransient Fault Mitigation
Although operating systems (OSes) are crucial to achieving high availability of computer systems, modern OSes are far from bug-free. Rebooting the OS is simple, powerful, and sometimes the only remedy for kernel failures. Once we accept reboot-based recovery as a fact of life, we should try to ensure that the downtime caused by reboots is as short as possible. This paper presents “phase-based” reboots that shorten the downtime caused by reboot-based recovery. The key idea is to divide a boot sequence into phases. The phase-based reboot reuses a system state in the previous boot if the next boot reproduces the same state. A prototype of the phase-based reboot was implemented on Xen 3.4.1 running para-virtualized Linux 2.6.18. Experiments with the prototype show that it successfully recovered from kernel transient failures inserted by a fault injector, and its downtime was 34.3 to 93.6% shorter than that of the normal reboot-based recovery.
24
Remus: high availability via asynchronous virtual machine replication
Brendan Cully, Geoffrey Lefebvre, Dutch T. Meyer et al. · 2008 · 584 citations
Microreboot -- A Technique for Cheap Recovery
George Candea, Shinichi Kawamoto, Yuichi Fujiki et al. · ArXiv.org · 2004 · 369 citations · Full text
Memory resource management in VMware ESX server
Carl A. Waldspurger · 2002 · 343 citations
XFI: software guards for system address spaces
Úlfar Erlingsson, Martı́n Abadi, Michael Vrable et al. · Operating Systems Design and Implementation · 2006 · 342 citations