Microreboot - A Technique for Cheap Recovery
By George Candea, Shinichi Kawamoto, Yuichi Fujiki, Greg Friedman, Armando Fox. USENIX Symposium on Operating Systems Design and Implementation, 2004
483 citations recorded by the source corpus.
A significant fraction of software failures in large-scale Internet systems are cured by rebooting, even when the exact failure causes are unknown. However, rebooting can be expensive, causing nontrivial service disruption or downtime even when clusters and failover are employed. In this work we use separation of process recovery from data recovery to enable microrebooting - a fine-grain technique for surgically recovering faulty application components, without disturbing the rest of the application. We evaluate microrebooting in an Internet auction system running on an application server. Microreboots recover most of the same failures as full reboots, but do so an order of magnitude faster and result in an order of magnitude savings in lost work. This cheap form of recovery engenders a new approach to high availability: microreboots can be employed at the slightest hint of failure, prior to node failover in multi-node clusters, even when mistakes in failure detection are likely; failure and recovery can be masked from end users through transparent call-level retries; and systems can be rejuvenated by parts, without ever being shut down.
Subfields: Surgery
View Paper: https://www.semanticscholar.org/paper/bbcb4f6ca45e14c3a7e4fa674e3778dbe2fd3d78
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
- Yuanyuan Zhou
- Feng Qin
- Joseph A. Tucek
- Jagadeesan Sundaresan
- Chanchal Kumar Roy
Citations in the corpus
- Zero-effort payments: design, deployment, and lessons (2014, unknown): “Fast crash recovery is a classic technique to improve availability in complex systems [3, 7, 18].”
- Rx: treating bugs as allergies---a safe method to survive software failures (2005, methodology): “Our experiments with four server applications that contain six bugs of various types show that Rx can survive all the six software failures and provide transparent fast recovery within 0.017-0.16 seconds, 21-53 times faster than the whole program restart approach for all but one case (CVS).”