Back to Search
Start Over
Verifying Concurrent Multicopy Search Structures
- Publication Year :
- 2021
- Publisher :
- arXiv, 2021.
-
Abstract
- Multicopy search structures such as log-structured merge (LSM) trees are optimized for high insert/update/delete (collectively known as upsert) performance. In such data structures, an upsert on key $k$, which adds $(k,v)$ where $v$ can be a value or a tombstone, is added to the root node even if $k$ is already present in other nodes. Thus there may be multiple copies of $k$ in the search structure. A search on $k$ aims to return the value associated with the most recent upsert. We present a general framework for verifying linearizability of concurrent multicopy search structures that abstracts from the underlying representation of the data structure in memory, enabling proof-reuse across diverse implementations. Based on our framework, we propose template algorithms for a) LSM structures forming arbitrary directed acyclic graphs and b) differential file structures, and formally verify these templates in the concurrent separation logic Iris. We also instantiate the LSM template to obtain the first verified concurrent in-memory LSM tree implementation.<br />Comment: Extended version of an article to appear in OOPSLA'21
- Subjects :
- FOS: Computer and information sciences
Computer Science - Logic in Computer Science
Linearizability
Theoretical computer science
Computer Science - Programming Languages
Concurrent data structure
Computer science
Separation logic
Directed acyclic graph
Data structure
Logic in Computer Science (cs.LO)
Tree (data structure)
Template
Node (computer science)
Safety, Risk, Reliability and Quality
Software
Programming Languages (cs.PL)
Subjects
Details
- Database :
- OpenAIRE
- Accession number :
- edsair.doi.dedup.....4088bfbbe1fbf96472c7487d60c9c2b8
- Full Text :
- https://doi.org/10.48550/arxiv.2109.05631