路径复制树中出乎意料的扩展性
分布式、并行与集群计算
2022-12-05 v2 数据结构与算法
摘要
尽管已提出多种手工并发数据结构,但人们对用于构建并发数据结构的通用方法(以下称为通用构造或UCs)仍有相当兴趣。这些方法(半)自动地将顺序数据结构转换为并发数据结构。最简单的方法是使用锁保护顺序数据结构,并允许一次仅一个进程访问它。所得数据结构使用锁,因此是阻塞的。多数UC工作转而关注获得非阻塞进展保证,如无阻碍、无锁或无等待。已出现许多非阻塞UC。关键例子包括Herlihy的开创性无等待UC、Yi等人的NUMA感知UC,以及Fatourou等人的大对象高效UC。我们借鉴持久化数据结构和多版本并发控制(MVCC)的思想,尤其是路径复制,并用其实现顺序持久化数据结构的并发版本。尽管我们预期这些数据结构在写密集型工作负载下无法扩展,它们在实践中却能够扩展。我们在具有私有每进程缓存的模型中通过解析证实了这一扩展性。
引用
@article{arxiv.2212.00521,
title = {Unexpected Scaling in Path Copying Trees},
author = {Ilya Kokorin and Alexander Fedorov and Trevor Brown and Vitaly Aksenov},
journal= {arXiv preprint arXiv:2212.00521},
year = {2022}
}