Fault-Tolerance, Fast And Slow: Exploiting Failure Asynchrony In Distributed Systems

Authors:
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

Introduction:

the authors introduce situation-aware updates and crash recovery (SAUCR), a new approach to performing replicated data updates in a distributed system.

Abstract:

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.

You may want to know: