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
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.