Grove: a Separation-Logic Library for Verifying Distributed Systems (Extended Version)

09/06/2023
by   Upamanyu Sharma, et al.
0

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 GroveKV, a realistic distributed multi-threaded key-value store. GroveKV supports reconfiguration, primary/backup replication, and crash recovery, and uses leases to execute read-only requests on any replica. GroveKV achieves high performance (67-73 Redis on a single core), scales with more cores and more backup replicas (achieving about 2x the throughput when going from 1 to 3 servers), and can safely execute reads while reconfiguring.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/19/2020

Formalizing and Verifying Decentralized Systems with Extended Concurrent Separation Logic

Decentralized techniques are becoming crucial and ubiquitous with the ra...
research
12/28/2017

Inferring Formal Properties of Production Key-Value Stores

Production distributed systems are challenging to formally verify, in pa...
research
07/27/2020

Extending Concurrent Separation Logic to Enhance Modular Formalization

Nowadays, numerous services based on large-scale distributed systems hav...
research
09/09/2023

Leaf: Modularity for Temporary Sharing in Separation Logic (Extended Version)

In concurrent verification, separation logic provides a strong story for...
research
06/05/2020

Achieving High Throughput and Elasticity in a Larger-than-Memory Store

Millions of sensors, mobile applications and machines are now generating...
research
02/19/2022

Decision Problems in a Logic for Reasoning about Reconfigurable Distributed Systems

We consider a logic used to describe sets of configurations of distribut...
research
03/26/2021

Extending Classic Paxos for High-performance Read-Modify-Write Registers

In this work we provide a detailed specification of how we extended and ...

Please sign up or login with your details

Forgot password? Click here to reset