Table of Contents
Fetching ...

Concurrent Balanced Augmented Trees

Evan Wrench, Ajay Singh, Younghun Roh, Panagiota Fatourou, Siddhartha Jayanti, Eric Ruppert, Yuanhao Wei

TL;DR

The paper tackles the lack of scalable concurrent augmented search trees by introducing BAT, the first lock-free balanced augmented BST built on a chromatic tree. It extends Fatourou and Ruppert's multiversioned augmentation to a balanced setting and adds memory reclamation, along with two delegation schemes (BAT-Del and BAT-EagerDel) that mitigate contention and boost throughput. Empirical evaluation on a large multi-core system shows BAT achieves 2.2–30x faster performance than the prior unbalanced augmented tree FR24 and orders of magnitude faster than unaugmented trees for workloads with substantial range and order-statistic queries. The work significantly improves the practicality of augmentation in concurrent environments and points to future directions for applying lock-free augmentation to more complex data structures.

Abstract

Augmentation makes search trees tremendously more versatile, allowing them to support efficient aggregation queries, order-statistic queries, and range queries in addition to insertion, deletion, and lookup. In this paper, we present the first lock-free augmented balanced search tree. Our algorithmic ideas build upon a recent augmented unbalanced search tree presented by Fatourou and Ruppert [DISC, 2024]. We implement both data structures, solving some memory reclamation challenges in the process, and provide an experimental performance analysis of them. We also present optimized versions of our balanced tree that use delegation to achieve better scalability and performance (by more than 2x in some workloads). Our experiments show that our augmented balanced tree is 2.2 to 30 times faster than the unbalanced augmented tree, and up to several orders of magnitude faster than unaugmented trees on 120 threads.

Concurrent Balanced Augmented Trees

TL;DR

The paper tackles the lack of scalable concurrent augmented search trees by introducing BAT, the first lock-free balanced augmented BST built on a chromatic tree. It extends Fatourou and Ruppert's multiversioned augmentation to a balanced setting and adds memory reclamation, along with two delegation schemes (BAT-Del and BAT-EagerDel) that mitigate contention and boost throughput. Empirical evaluation on a large multi-core system shows BAT achieves 2.2–30x faster performance than the prior unbalanced augmented tree FR24 and orders of magnitude faster than unaugmented trees for workloads with substantial range and order-statistic queries. The work significantly improves the practicality of augmentation in concurrent environments and points to future directions for applying lock-free augmentation to more complex data structures.

Abstract

Augmentation makes search trees tremendously more versatile, allowing them to support efficient aggregation queries, order-statistic queries, and range queries in addition to insertion, deletion, and lookup. In this paper, we present the first lock-free augmented balanced search tree. Our algorithmic ideas build upon a recent augmented unbalanced search tree presented by Fatourou and Ruppert [DISC, 2024]. We implement both data structures, solving some memory reclamation challenges in the process, and provide an experimental performance analysis of them. We also present optimized versions of our balanced tree that use delegation to achieve better scalability and performance (by more than 2x in some workloads). Our experiments show that our augmented balanced tree is 2.2 to 30 times faster than the unbalanced augmented tree, and up to several orders of magnitude faster than unaugmented trees on 120 threads.
Paper Structure (18 sections, 15 theorems, 27 figures, 1 table)

This paper contains 18 sections, 15 theorems, 27 figures, 1 table.

Key Result

lemma 1

A Node's child pointer can change only when the Node is not finalized and it is reachable.

Figures (27)

  • Figure 1: A rotation implemented using LLX and SCX.
  • Figure 2: An insertion of $C$ and a deletion of $B$. In both cases, $B$ is a leaf. $B'$ and $D'$ are new copies of $B$ and $D$.
  • Figure 3: Pseudocode for BAT. The details of CTInsert and CTDelete on the chromatic tree are provided in BER14.
  • Figure 4: BAT containing keys $A,C,E,G,I$.
  • Figure 5: After CTDelete removes leaf $E$.
  • ...and 22 more figures

Theorems & Definitions (18)

  • definition 1: Version Initialization Rules
  • lemma 1
  • lemma 2
  • lemma 3
  • lemma 4
  • definition 2
  • definition 3
  • lemma 5
  • lemma 6
  • lemma 7
  • ...and 8 more