English

Elimination (a,b)-trees with fast, durable updates

Distributed, Parallel, and Cluster Computing 2022-01-03 v1

Abstract

Many concurrent dictionary implementations are designed and optimized for read-mostly workloads with uniformly distributed keys, and often perform poorly on update-heavy workloads. In this work, we first present a concurrent (a,b)-tree, the OCC-ABtree, which outperforms its fastest competitor by up to 2x on uniform update-heavy workloads, and is competitive on other workloads. We then turn our attention to skewed update-heavy workloads (which feature many inserts/deletes on the same key) and introduce the Elim-ABtree, which uses a new optimization called publishing elimination. In publishing elimination, concurrent inserts and deletes to a key are reordered to eliminate them. This reduces the number of writes in the data structure. The Elim-ABtree achieves up to 2.5x the performance of its fastest competitor (including the OCC-ABtree). The OCC-ABtree and Elim-ABtree are linearizable. We also introduce durable linearizable versions (for systems with Intel Optane DCPMM non-volatile main memory) that are nearly as fast.

Keywords

Cite

@article{arxiv.2112.15259,
  title  = {Elimination (a,b)-trees with fast, durable updates},
  author = {Anubhav Srivastava and Trevor Brown},
  journal= {arXiv preprint arXiv:2112.15259},
  year   = {2022}
}

Comments

22 pages, 17 figures, 1 table. Full version of the paper to published in Principles and Practice of Parallel Programming (PPoPP) 2022

R2 v1 2026-06-24T08:36:20.128Z