当前位置: X-MOL 学术arXiv.cs.PL › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Verifying Concurrent Multicopy Search Structures
arXiv - CS - Programming Languages Pub Date : 2021-09-12 , DOI: arxiv-2109.05631
Nisarg Patel, Siddharth Krishna, Dennis Shasha, Thomas Wies

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.

中文翻译:

验证并发多副本搜索结构

多副本搜索结构(例如日志结构合并 (LSM) 树)针对高插入/更新/删除(统称为 upsert)性能进行了优化。在这样的数据结构中,即使 $k$ 已经存在于其他节点中,在键 $k$ 上的 upsert 会添加 $(k,v)$,其中 $v$ 可以是值或墓碑,也会被添加到根节点。节点。因此在搜索结构中可能有多个 $k$ 副本。对 $k$ 的搜索旨在返回与最近更新插入相关联的值。我们提出了一个通用框架,用于验证并发多副本搜索结构的线性化能力,该结构从内存中数据结构的底层表示中抽象出来,从而实现跨不同实现的证明重用。基于我们的框架,我们提出了用于 a) LSM 结构形成任意有向无环图和 b) 差分文件结构的模板算法,并在并发分离逻辑 Iris 中正式验证这些模板。我们还实例化了 LSM 模板以获得第一个经过验证的并发内存中 LSM 树实现。
更新日期:2021-09-14
down
wechat
bug