当前位置: X-MOL 学术Concurr. Comput. Pract. Exp. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
RCU‐HTM: A generic synchronization technique for highly efficient concurrent search trees
Concurrency and Computation: Practice and Experience ( IF 2 ) Pub Date : 2021-01-12 , DOI: 10.1002/cpe.6174
Dimitrios Siakavaras 1 , Konstantinos Nikas 1 , Georgios Goumas 1 , Nectarios Koziris 1
Affiliation  

Concurrent search trees (STs) are among the most widely used data structures to store and retrieve data in contemporary multithreaded applications. Despite the high amount of prior work, it still remains challenging to implement highly efficient concurrent STs. This is mainly due to the fact that both traditional synchronization methods (i.e., locks and atomic operations) and more novel ones (i.e., read‐copy‐update and transactional memory) fail to provide solutions that are generic and at the same time able to attain high performance under diverse workloads and contention levels. In this work, we present RCU‐HTM, a technique that combines read‐copy‐update (RCU) and hardware transactional memory (HTM), and: (a) supports the implementation of a concurrent version of any type of search tree, and (b) achieves high performance across all execution scenarios. We also incorporate a low‐overhead, epoch‐based memory reclamation scheme to make our RCU‐HTM trees practical for large‐scale long‐running applications. To showcase the capabilities of our technique, we implement and evaluate multiple RCU‐HTM trees and compare their performance with several state‐of‐the‐art competitors. More specifically, we apply RCU‐HTM to 12 different types of binary, B+ and (a,b)‐trees and compare against 18 state‐of‐the‐art implementations that use four different synchronization mechanisms, namely, locks, atomic operations, RCU, and HTM. We evaluate the trees under different levels of contention by varying the size of the tree, the operations mix, and the number of threads, for a total of 210 execution scenarios for each implementation. Our evaluation shows that in the majority of executions, RCU‐HTM trees outperform their state‐of‐the‐art alternatives, and even in the cases where they do not, their performance is very close to that of the best implementation.

中文翻译:

RCU-HTM:一种用于高效并发搜索树的通用同步技术

并发搜索树(ST)是在当代多线程应用程序中用于存储和检索数据的最广泛使用的数据结构之一。尽管先前的工作量很大,但是实现高效的并发ST仍然面临挑战。这主要是由于以下事实:传统的同步方法(即锁和原子操作)和更新颖的同步方法(即读复制更新和事务性内存)都无法提供通用的解决方案,但同时也能够提供在不同的工作负载和争用级别下获得高性能。在这项工作中,我们介绍了RCU‐HTM,一种结合了读取复制更新(RCU)和硬件事务存储(HTM)的技术,并且:(a)支持任何类型的搜索树的并发版本的实现,并且(b)在所有执行过程中均实现高性能场景。我们还采用了一种基于周期的低开销的内存回收方案,以使我们的RCU-HTM树可用于大规模长期运行的应用程序。为了展示我们技术的功能,我们实施和评估了多个RCU-HTM树,并将其性能与几个最新的竞争对手进行比较。更具体地说,我们应用RCU-HTM到12种不同类型的二进制树,B +树和(a,b)树,并与18种使用四种不同同步机制(即锁,原子操作,RCU和HTM)的最新实现进行比较。我们通过改变树的大小,操作组合和线程数来评估不同争用级别下的树,每个实现总共210个执行方案。我们的评估表明,在大多数执行中,RCU-HTM树的性能优于其最新的替代方案,即使在没有执行效果的情况下,其性能也非常接近最佳实施方案。
更新日期:2021-01-12
down
wechat
bug