2004/03/06 by George Candea, Candea, George, Armando Fox +1
Computer Science · #Caching and Content Delivery #D.4.5 #Distributed systems and fault tolerance #FOS: Computer and information sciences #Hardware Architecture (cs.AR) #Networking and Internet Architecture (cs.NI) #Operating Systems (cs.OS) #Software System Performance and Reliability #cs.AR #cs.NI #cs.OS
paper · pdf · doi:10.48550/arxiv.cs/0403007
14 pages
arxiv created 2004/03/06 · openalex publication_date 2004/03/06 · arxiv updated 2009/12/01 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
Microreboots restart fine-grained components of software systems "with a clean slate," and only take a fraction of the time needed for full system reboot. Microreboots provide an application-generic recovery technique for Internet services, which can be supported entirely in middleware and requires no changes to the applications or any a priori knowledge of application semantics. This paper investigates the effect of microreboots on end-users of an eBay-like online auction application; we find that microreboots are nearly as effective as full reboots, but are significantly less disruptive in terms of downtime and lost work. In our experiments, microreboots reduced the number of failed user requests by 65% and the perceived downtime by 78% compared to a server process restart. We also show how to replace user-visible transient failures with transparent call-retry, at the cost of a slight increase in end-user-visible latency during recovery. Due to their low cost, microreboots can be used aggressively, even when their necessity is less than certain, hence adding to the reduced recovery time a reduction in the fault detection time, which further improves availability.