DeltaTree:一种实用的局部感知并发搜索树
DeltaTree: A Practical Locality-aware Concurrent Search Tree
摘要:
作为节能计算中的其他基本编程抽象,搜索树被期望同时支持高并行性和数据局部性。然而,现有的高度并发的搜索树,如红黑树和AVL树不考虑数据的局部性,而现有的局部感知的搜索树,如那些基于van Emde Boas布局(vEB为基础的树),不支持并发(更新)操作。本文介绍了DeltaTree,一个实用的本地感知并发搜索树,结合了本地优化技术从基于vEB的树和并发优化技术从非阻塞高度并发搜索树。DeltaTree是DeltaNode的$k$ -ary面向叶子的树,其中每个DeltaNode是具有van Emde Boas布局的大小固定的树容器。DeltaTree的搜索、插入和删除操作的预期内存传输成本为$O(\log_B N)$,其中$N, B$分别是理想缓存模型中的树大小和未知内存块大小。DeltaTree的搜索操作是无等待的,为搜索操作提供优先通道,搜索操作是搜索树中的主要操作。它的插入和{ \em删除}操作对其他搜索、插入和删除操作是非阻塞的,但它们可能偶尔会被维护操作阻塞,这些维护操作有时会被触发以保持DeltaTree处于良好状态。我们的实验评估使用最新实现的AVL,红-黑,投机友好的树从Synchrobench基准测试表明,DeltaTree是5倍以上的搜索操作,更新操作时,更新竞争不是太高的速度比所有三个并发搜索树快1.6倍。
英文摘要:
As other fundamental programming abstractions in energy-efficient computing, search trees are expected to support both high parallelism and data locality. However, existing highly-concurrent search trees such as red-black trees and AVL trees do not consider data locality while existing locality-aware search trees such as those based on the van Emde Boas layout (vEB-based trees), poorly support concurrent (update) operations. This paper presents DeltaTree, a practical locality-aware concurrent search tree that combines both locality-optimisation techniques from vEB-based trees and concurrency-optimisation techniques from non-blocking highly-concurrent search trees. DeltaTree is a $k$-ary leaf-oriented tree of DeltaNodes in which each DeltaNode is a size-fixed tree-container with the van Emde Boas layout. The expected memory transfer costs of DeltaTree's Search, Insert, and Delete operations are $O(\log_B N)$, where $N, B$ are the tree size and the unknown memory block size in the ideal cache model, respectively. DeltaTree's Search operation is wait-free, providing prioritised lanes for Search operations, the dominant operation in search trees. Its Insert and {\em Delete} operations are non-blocking to other Search, Insert, and Delete operations, but they may be occasionally blocked by maintenance operations that are sometimes triggered to keep DeltaTree in good shape. Our experimental evaluation using the latest implementation of AVL, red-black, and speculation friendly trees from the Synchrobench benchmark has shown that DeltaTree is up to 5 times faster than all of the three concurrent search trees for searching operations and up to 1.6 times faster for update operations when the update contention is not too high.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。