DeltaTree:一种实用的局部性感知并发搜索树
分布式、并行与集群计算
2013-12-11 v1
摘要
作为节能计算中的其他基础编程抽象一样,搜索树被期望同时支持高并行性和数据局部性。然而,现有的高并发搜索树(如红黑树和 AVL 树)未考虑数据局部性,而现有的局部性感知搜索树(如基于 van Emde Boas 布局的树,即 vEB-based trees)对并发(更新)操作的支持较差。本文提出了 DeltaTree,一种实用的局部性感知并发搜索树,它结合了基于 vEB 树的局部性优化技术和无阻塞高并发搜索树的并发优化技术。DeltaTree 是一种由 DeltaNode 组成的 叉叶导向树,其中每个 DeltaNode 是一个具有 van Emde Boas 布局的定长树容器。在理想缓存模型中,DeltaTree 的查找、插入和删除操作的预期内存传输代价为 ,其中 和 分别为树的大小和未知的内存块大小。DeltaTree 的查找操作是无等待的,为搜索树中的主导操作——查找操作提供了优先通道。其插入和 {\em 删除} 操作对其他查找、插入和删除操作是非阻塞的,但偶尔可能被为维护 DeltaTree 良好状态而触发的维护操作所阻塞。使用 Synchrobench 基准测试中最新的 AVL、红黑树和推测友好树实现进行的实验评估表明,在更新冲突不太高的情况下,DeltaTree 的查找操作速度比所有这三种并发搜索树快至多 5 倍,更新操作快至多 1.6 倍。
引用
@article{arxiv.1312.2628,
title = {DeltaTree: A Practical Locality-aware Concurrent Search Tree},
author = {Ibrahim Umar and Otto Anshus and Phuong Ha},
journal= {arXiv preprint arXiv:1312.2628},
year = {2013}
}