PathCAS: an efficient middle ground for concurrent search data structures
Trevor Brown, William Sigouin, Dan Alistarh
摘要
To maximize the performance of concurrent data structures, researchers have often turned to highly complex fine-grained techniques, resulting in efficient and elegant algorithms, which can however be often difficult to understand and prove correct. While simpler techniques exist, such as transactional memory, they can have limited performance or portability relative to their fine-grained counterparts. Approaches at both ends of this complexity-performance spectrum have been extensively explored, but relatively less is known about the middle ground: approaches that are willing to sacrifice some performance for simplicity, while remaining competitive with state-of-the-art handcrafted designs. In this paper, we explore this middle ground, and present PathCAS, a primitive that combines ideas from multi-word CAS (KCAS) and transactional memory approaches, while carefully avoiding overhead. We show how PathCAS can be used to implement efficient search data structures relatively simply, using an internal binary search tree as an example, then extending this to an AVL tree. Our best implementations outperform many handcrafted search trees: in search-heavy workloads, it rivals the BCCO tree [5], the fastest known concurrent binary tree in terms of search performance [3]. Our results suggest that PathCAS can yield concurrent data structures that are relatively easy to build and prove correct, while offering surprisingly high performance.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper1
问问它们各自怎么用它它引用的顶会 Paper2
相关 Paper
- Constant-time snapshots with applications to concurrent data structuresYuanhao Wei, Naama Ben-David, Guy E. Blelloch, Panagiota Fatourou 等PPoPP 2021 · 被引用 37 次
- Concurrent Path-Copying Update to Tree StructuresGuanhao Hou, Dechuang Chen, Qintian Guo, Fangyuan Zhang 等SIGMOD 2026
- Scaling concurrent queues by using HTM to profit from failed atomic operationsOr Ostrovsky, Adam MorrisonPPoPP 2020 · 被引用 6 次
- Boosting Performance and QoS for Concurrent GPU B+trees by Combining-Based SynchronizationWeihua Zhang, Chuanlei Zhao, Lu Peng, Yuzhe Lin 等PPoPP 2023 · 被引用 7 次
- Dynamic Interleaving of Content and Structure for Robust Indexing of Semi-Structured Hierarchical DataKevin Wellenzohn, Michael H. Böhlen, Sven HelmerVLDB 2020 · 被引用 3 次
