TY - GEN
T1 - DepFast
T2 - 2022 USENIX Annual Technical Conference, ATC 2022
AU - Luo, Xuhao
AU - Shen, Weihai
AU - Mu, Shuai
AU - Xu, Tianyin
N1 - This work was supported in part by NSF CNS-2130590 and CNS-2130560, and Microsoft Azure credits.
PY - 2022
Y1 - 2022
N2 - Quorum systems (e.g., replicated state machines) are critical distributed systems. Building correct, high-performance quorum systems is known to be hard. A major reason is that the protocols in quorum systems lead to non-deterministic state changes and complex branching conditions based on different events (e.g., timeouts). Traditionally, these systems are built with an asynchronous coding style with event-driven callbacks, but often lead to "callback hell" that makes code hard to follow and maintain. Converting to synchronous coding styles (e.g., using coroutines) is challenging because of the complex branching conditions. In this paper, we present Dependably Fast (DepFast), an effective, expressive framework for developing quorum systems. DepFast provides a unique QuorumEvent abstraction to enable building quorum systems in a synchronous style. It also supports composition of multiple events, e.g., timeouts, different quorums. To evaluate DepFast, we use it to implement two quorum systems, Raft and Copilot. We show that complex quorum systems implemented by DepFast are easy to write and have high performance. Specifically, it takes 25%-35% fewer lines of code to implement Raft and Copilot using DepFast, and the DepFastbased implementations have comparable performance with the state-of-the-art systems.
AB - Quorum systems (e.g., replicated state machines) are critical distributed systems. Building correct, high-performance quorum systems is known to be hard. A major reason is that the protocols in quorum systems lead to non-deterministic state changes and complex branching conditions based on different events (e.g., timeouts). Traditionally, these systems are built with an asynchronous coding style with event-driven callbacks, but often lead to "callback hell" that makes code hard to follow and maintain. Converting to synchronous coding styles (e.g., using coroutines) is challenging because of the complex branching conditions. In this paper, we present Dependably Fast (DepFast), an effective, expressive framework for developing quorum systems. DepFast provides a unique QuorumEvent abstraction to enable building quorum systems in a synchronous style. It also supports composition of multiple events, e.g., timeouts, different quorums. To evaluate DepFast, we use it to implement two quorum systems, Raft and Copilot. We show that complex quorum systems implemented by DepFast are easy to write and have high performance. Specifically, it takes 25%-35% fewer lines of code to implement Raft and Copilot using DepFast, and the DepFastbased implementations have comparable performance with the state-of-the-art systems.
UR - http://www.scopus.com/inward/record.url?scp=85140988247&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85140988247&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:85140988247
T3 - Proceedings of the 2022 USENIX Annual Technical Conference, ATC 2022
SP - 557
EP - 573
BT - Proceedings of the 2022 USENIX Annual Technical Conference, ATC 2022
PB - USENIX Association
Y2 - 11 July 2022 through 13 July 2022
ER -