|Ramnatthan Alagappan||University of Wisconsin - Madison|
|Aishwarya Ganesan||University of Wisconsin - Madison|
|Jing Liu||University of Wisconsin - Madison|
|Andrea Arpaci-Dusseau||University of Wisconsin - Madison|
|Remzi Arpaci-Dusseau||University of Wisconsin - Madison|
the authors introduce situation-aware updates and crash recovery (SAUCR), a new approach to performing replicated data updates in a distributed system.
We introduce situation-aware updates and crash recovery (SAUCR), a new approach to performing replicated data updates in a distributed system. SAUCR adapts the update protocol to the current situation: with many nodes up, SAUCR buffers updates in memory; when failures arise, SAUCR flushes updates to disk. This situation-awareness enables SAUCR to achieve high performance while offering strong durability and availability guarantees. We implement a prototype of SAUCR in ZooKeeper. Through rigorous crash testing, we demonstrate that SAUCR significantly improves durability and availability compared to systems that always write only to memory. We also show that SAUCR’s reliability improvements come at little or no cost: SAUCR’s overheads are within 0%-9% of a purely memory-based system.