PathCAS: An Efficient Middle Ground for Concurrent Search Data Structures
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 often 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 key ideas from multi-word CAS (KCAS) and transactional memory, 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, the fastest known concurrent binary tree in terms of search performance. Our results suggest that PathCAS can yield concurrent data structures that are relatively easy to build and prove correct, while offering surprisingly high performance.
Wed 6 AprDisplayed time zone: Eastern Time (US & Canada) change
12:00 - 13:15 | |||
12:00 15mTalk | Bundling Linked Data Structures for Linearizable Range Queries Main Conference | ||
12:15 15mTalk | Elimination (a,b)-trees with fast, durable updates Main Conference | ||
12:30 15mTalk | Jiffy: A Lock-free Skip List with Batch Updates and Snapshots Main Conference Tadeusz Kobus Poznan University of Technology, Maciej Kokociński Poznan University of Technology, Paweł T. Wojciechowski Poznan University of Technology | ||
12:45 15mTalk | Multi-Queues Can Be State-of-the-Art Priority Schedulers Main Conference Anastasiia Postnikova ITMO University, Nikita Koval JetBrains, Giorgi Nadiradze IST Austria, Dan Alistarh IST Austria | ||
13:00 15mTalk | PathCAS: An Efficient Middle Ground for Concurrent Search Data Structures Main Conference Trevor Brown University of Waterloo, William Sigouin University of Waterloo, Dan Alistarh IST Austria |