A concurrency-optimal binary search tree

  • Vitaly Aksenov
  • , Vincent Gramoli
  • , Petr Kuznetsov
  • , Anna Malova
  • , Srivatsan Ravi

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

The paper presents the first concurrency-optimal implementation of a binary search tree (BST). The implementation, based on a standard sequential implementation of a partially-external tree, ensures that every schedule, i.e., interleaving of steps of the sequential code, is accepted unless linearizability is violated. To ensure this property, we use a novel read-write locking protocol that protects tree edges in addition to its nodes. Our implementation performs comparably to the state-of-the-art BSTs and even outperforms them on few 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.

Original languageEnglish
Title of host publicationEuro-Par 2017
Subtitle of host publicationParallel Processing - 23rd International Conference on Parallel and Distributed Computing, Proceedings
EditorsFrancisco F. Rivera, Tomas F. Pena, Jose C. Cabaleiro
PublisherSpringer Verlag
Pages580-593
Number of pages14
ISBN (Print)9783319642024
DOIs
Publication statusPublished - 1 Jan 2017
Externally publishedYes
Event23rd International Conference on Parallel and Distributed Computing, Euro-Par 2017 - Santiago de Compostela, Spain
Duration: 28 Aug 20171 Sept 2017

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume10417 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference23rd International Conference on Parallel and Distributed Computing, Euro-Par 2017
Country/TerritorySpain
CitySantiago de Compostela
Period28/08/171/09/17

Keywords

  • Binary search tree
  • Concurrency optimality
  • Linearizability

Fingerprint

Dive into the research topics of 'A concurrency-optimal binary search tree'. Together they form a unique fingerprint.

Cite this