CBTree: A practical concurrent self-adjusting search tree

36Citations
Citations of this article
18Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We present the CBTree, a new counting-based self-adjusting binary search tree that, like splay trees, moves more frequently accessed nodes closer to the root. After m operations on n items, c of which access some item v, an operation on v traverses a path of length O(log m/c) while performing few if any rotations. In contrast to the traditional self-adjusting splay tree in which each accessed item is moved to the root through a sequence of tree rotations, the CBTree performs rotations infrequently (an amortized subconstant o(1) per operation if m ≫ n), mostly at the bottom of the tree. As a result, the CBTree scales with the amount of concurrency. We adapt the CBTree to a multicore setting and show experimentally that it improves performance compared to existing concurrent search trees on non-uniform access sequences derived from real workloads. © 2012 Springer-Verlag.

Cite

CITATION STYLE

APA

Afek, Y., Kaplan, H., Korenfeld, B., Morrison, A., & Tarjan, R. E. (2012). CBTree: A practical concurrent self-adjusting search tree. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7611 LNCS, pp. 1–15). https://doi.org/10.1007/978-3-642-33651-5_1

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free