bztree · research

BzTree

BzTree is a latch-free persistent B+ tree that uses PMwCAS for recoverable multi-word state changes.

Related Observatory article: BzTree on hesela.com

Persistent allocation and descriptor recovery still matter. Allocation epochs distinguish unfinished in-node reservations after restart; consolidation later reclaims that space. Database transaction concurrency control remains outside the index. [1]

The inspected SFU implementation requests dependencies from floating master branches. Pinning its root commit alone does not reconstruct a historical build. [3]

Relations

related
PMwCAS, B+ tree, FPTree, Persistent memory, Crash consistency

Limitations

  • The later PMDK implementation and original evaluation are different experimental systems; their results are not a controlled cross-study speedup. [2]

Citations

  1. Arulraj et al. BzTree: A High-Performance Latch-free Range Index for Non-Volatile Memory. PVLDB 11(5), 553-565, 2018, sections 3.1 and 6. (accessed 2026-11-13)
  2. Lersch et al. Evaluating Persistent Memory Range Indexes. PVLDB 13(4), 574-587, 2019, sections 5.1-5.2. (accessed 2026-11-13)
  3. SFU BzTree, revision b2e7fcb: backend selection and floating dependency revisions. (accessed 2026-11-13)

Further reading

  1. Hesela: BzTree recovery and reproducible backend-selection evidence. (accessed 2026-11-13)
Sources & caveats
  • Source review and a replayed CMake configuration-fragment probe; no full index build, runtime experiment or power-cut test.

JSON: /data/terms/bztree.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. BzTree. Hesela. 2026-11-13. https://hesela.dev/terms/bztree/