Grove: a Separation-Logic Library for Verifying Distributed Systems

Upamanyu Sharma, Ralf Jung, Joseph Tassarotti, Frans Kaashoek, Nickolai Zeldovich

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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.

Original languageEnglish (US)
Title of host publicationSOSP 2023 - Proceedings of the 29th ACM Symposium on Operating Systems Principles
PublisherAssociation for Computing Machinery, Inc
Pages113-129
Number of pages17
ISBN (Electronic)9798400702297
DOIs
StatePublished - Oct 23 2023
Event29th ACM Symposium on Operating Systems Principles, SOSP 2023 - Koblenz, Germany
Duration: Oct 23 2023Oct 26 2023

Publication series

NameSOSP 2023 - Proceedings of the 29th ACM Symposium on Operating Systems Principles

Conference

Conference29th ACM Symposium on Operating Systems Principles, SOSP 2023
Country/TerritoryGermany
CityKoblenz
Period10/23/2310/26/23

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Computer Science Applications
  • Software

Fingerprint

Dive into the research topics of 'Grove: a Separation-Logic Library for Verifying Distributed Systems'. Together they form a unique fingerprint.

Cite this