Availability is increased with recovery based on component micro reboot instead of whole system reboot. There are unique challenges that must be overcome in order to apply micro reboot to low-level system software. These challenges arise from the need to interact with immutable hardware components on one hand and, on the other hand, with a wide variety of higher level workloads whose characteristics may be unknown. As an example, we describe our experience with applying micro reboot to system-level virtualization software. Specifically, implementing micro reboot for all the components of the widely-used Xen virtualization infrastructure. We identify the unique difficulties with applying micro reboot for such low-level software and present our solutions. We present measures of the complexity of different classes of solutions and experimental results, based on extensive fault injection, showing the effectiveness of the solutions.
['Michael Le', 'Yuval Tamir']
Applying Microreboot to System Software