Skip to main content

The CB tree: a practical concurrent self-adjusting search tree

Author(s): Afek, Yehuda; Kaplan, Haim; Korenfeld, Boris; Morrison, Adam; Tarjan, Robert E

Download
To refer to this page use: http://arks.princeton.edu/ark:/88435/pr14z66
Full metadata record
DC FieldValueLanguage
dc.contributor.authorAfek, Yehuda-
dc.contributor.authorKaplan, Haim-
dc.contributor.authorKorenfeld, Boris-
dc.contributor.authorMorrison, Adam-
dc.contributor.authorTarjan, Robert E-
dc.date.accessioned2021-10-08T19:47:37Z-
dc.date.available2021-10-08T19:47:37Z-
dc.date.issued2014en_US
dc.identifier.citationAfek, Yehuda, Haim Kaplan, Boris Korenfeld, Adam Morrison, and Robert E. Tarjan. "The CB tree: a practical concurrent self-adjusting search tree." Distributed Computing 27, no. 6 (2014): 393-417. doi:10.1007/s00446-014-0229-0en_US
dc.identifier.issn0178-2770-
dc.identifier.urihttp://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.930.4395&rep=rep1&type=pdf-
dc.identifier.urihttp://arks.princeton.edu/ark:/88435/pr14z66-
dc.description.abstractWe present the CB tree, a counting-based self-adjusting binary search tree in which, as in splay trees, more-frequently accessed items move closer to the root. In a sequential execution, after 𝑚 operations of which 𝑐(𝑣) access item 𝑣, an access of 𝑣 traverses a path of length (1+log𝑚𝑐(𝑣)) while doing few if any rotations. Unlike the original splay tree, in which each access moves the accessed item all the way to the root via a sequence of rotations, accesses in a CB tree do very few rotations, specifically (𝑛+𝑛log𝑚𝑛), during a sequence of 𝑚 operations of which 𝑛 are insertions. This is 𝑜(1) (subconstant) amortized per operation if 𝑚≫𝑛. We adapt the CB tree into a scalable concurrent self-adjusting BST. We show experimentally that the concurrent CB tree scales well because it, too, performs few rotations, and therefore self-adjusts without having rotations create a bottleneck. Our evaluation shows that the concurrent CB tree performs better than existing concurrent search trees on non-uniform access sequences derived from real workloads.en_US
dc.format.extent393 - 417en_US
dc.language.isoen_USen_US
dc.relation.ispartofDistributed Computingen_US
dc.rightsAuthor's manuscripten_US
dc.titleThe CB tree: a practical concurrent self-adjusting search treeen_US
dc.typeJournal Articleen_US
dc.identifier.doi10.1007/s00446-014-0229-0-
dc.identifier.eissn1432-0452-
pu.type.symplectichttp://www.symplectic.co.uk/publications/atom-terms/1.0/journal-articleen_US

Files in This Item:
File Description SizeFormat 
CbtreePracticalConcurrentSelfAdjustingSearchTree.pdf3.19 MBAdobe PDFView/Download


Items in OAR@Princeton are protected by copyright, with all rights reserved, unless otherwise indicated.