pith. sign in

arxiv: 1702.04441 · v3 · pith:WXCIRD2Hnew · submitted 2017-02-15 · 💻 cs.DC

A Concurrency-Optimal Binary Search Tree

classification 💻 cs.DC
keywords implementationtreeemphsequentialacceptedbinarycodeconcurrency-optimal
0
0 comments X
read the original abstract

The paper presents the first \emph{concurrency-optimal} implementation of a binary search tree (BST). The implementation, based on a standard sequential implementation of an internal tree, ensures that every \emph{schedule} is accepted, i.e., interleaving of steps of the sequential code, unless linearizability is violated. To ensure this property, we use a novel read-write locking scheme that protects tree \emph{edges} in addition to nodes. Our implementation outperforms the state-of-the art BSTs on most basic workloads, which suggests that optimizing the set of accepted schedules of the sequential code can be an adequate design principle for efficient concurrent data structures.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.