Speculative Recovery: Cheap, Highly Available Fault Tolerance with Disaggregated Storage

Authors: 

Nanqinqin Li, Anja Kalaba, Michael J. Freedman, Wyatt Lloyd, and Amit Levy, Princeton University

Abstract: 

The ubiquity of disaggregated storage in cloud computing has led to a nascent technique for fault tolerance: instead of utilizing application-level replication, newly-launched backup instances recover application state from disaggregated storage (REDS) after a primary's failure. Attractively, REDS provides fault tolerance at a much lower cost than traditional replication schemes, wherein at least two instances are running. Failover in REDS is slow, however, because it sequentially first detects primary failure and only then starts recovery on a backup.

We propose speculative recovery to accelerate failover and thus increase the availability of applications using REDS. Instead of proceeding with failover sequentially, speculative recovery safely and efficiently parallelizes detecting primary failure and running recovery on a backup, by employing our new super and collapse primitives for disaggregated storage. Our implementation and evaluation of speculative recovery demonstrate that it considerably reduces failover time.

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

BibTeX
@inproceedings {280772,
author = {Nanqinqin Li and Anja Kalaba and Michael J. Freedman and Wyatt Lloyd and Amit Levy},
title = {Speculative Recovery: Cheap, Highly Available Fault Tolerance with Disaggregated Storage},
booktitle = {2022 USENIX Annual Technical Conference (USENIX ATC 22)},
year = {2022},
isbn = {978-1-939133-29-55},
address = {Carlsbad, CA},
pages = {271--286},
url = {https://www.usenix.org/conference/atc22/presentation/li-nanqinqin},
publisher = {USENIX Association},
month = jul
}

Presentation Video