Grove: a Separation-Logic Library for Verifying Distributed Systems

21Citations
Citations of this article
17Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Grove is a concurrent separation logic library for verifying distributed systems. Grove is the first to handle time-based leases, including their interaction with reconfiguration, crash recovery, thread-level concurrency, and unreliable networks. This paper uses Grove to verify several distributed system components written in Go, including vKV, a realistic distributed multi-threaded key-value store. vKV supports reconfiguration, primary/backup replication, and crash recovery, and uses leases to execute read-only requests on any replica. vKV achieves high performance (67 - 73% of Redis on a single core), scales with more cores and more backup replicas (achieving about 2× the throughput when going from 1 to 3 servers), and can safely execute reads while reconfiguring.

Cite

CITATION STYLE

APA

Sharma, U., Jung, R., Tassarotti, J., Kaashoek, F., & Zeldovich, N. (2023). Grove: a Separation-Logic Library for Verifying Distributed Systems. In SOSP 2023 - Proceedings of the 29th ACM Symposium on Operating Systems Principles (pp. 113–129). Association for Computing Machinery, Inc. https://doi.org/10.1145/3600006.3613172

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free