中文

面向并发数据结构的快速无阻塞持久化

分布式、并行与集群计算 2021-11-12 v2 数据结构与算法 性能

摘要

我们提出了近期 Montage 持久化数据结构系统的一种完全无锁变体。我们的变体 nbMontage 可为几乎任意非阻塞并发结构添加持久化能力,而不会引入显著开销或任何形式的阻塞。与其前身类似,nbMontage 是缓冲持久线性化的:它保证在崩溃后恢复的状态将代表崩溃前执行的一致前缀。不同于其前身,nbMontage 确保了持久化前沿的等待无关(wait-free)推进,从而限制了崩溃时可能丢失的近期更新数量,并允许线程强制更新前沿(即执行 sync 操作)而无需承担阻塞风险。作为额外收益,我们的等待无关 sync 所采用的协助机制显著降低了其延迟。针对非阻塞队列、跳表、树和哈希表的性能结果可与文献中的定制数据结构相媲美——比先前通用系统实现的速度快得多,且通常在不置于 DRAM 中的等效非持久结构性能的 50% 以内。

关键词

引用

@article{arxiv.2105.09508,
  title  = {Fast Nonblocking Persistence for Concurrent Data Structures},
  author = {Wentao Cai and Haosen Wen and Vladimir Maksimovski and Mingzhe Du and Rafaello Sanna and Shreif Abdallah and Michael L. Scott},
  journal= {arXiv preprint arXiv:2105.09508},
  year   = {2021}
}