Foster b-trees

  • Authors:
  • Goetz Graefe;Hideaki Kimura;Harumi Kuno

  • Affiliations:
  • HP Labs, CA;Brown University, CA;HP Labs, CA

  • Venue:
  • ACM Transactions on Database Systems (TODS)
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Foster B-trees are a new variant of B-trees that combines advantages of prior B-tree variants optimized for many-core processors and modern memory hierarchies with flash storage and nonvolatile memory. Specific goals include: (i) minimal concurrency control requirements for the data structure, (ii) efficient migration of nodes to new storage locations, and (iii) support for continuous and comprehensive self-testing. Like Blink-trees, Foster B-trees optimize latching without imposing restrictions or specific designs on transactional locking, for example, key range locking. Like write-optimized B-trees, and unlike Blink-trees, Foster B-trees enable large writes on RAID and flash devices as well as wear leveling and efficient defragmentation. Finally, they support continuous and inexpensive yet comprehensive verification of all invariants, including all cross-node invariants of the B-tree structure. An implementation and a performance evaluation show that the Foster B-tree supports high concurrency and high update rates without compromising consistency, correctness, or read performance.