B-trees, shadowing, and clones

  • Authors:
  • Ohad Rodeh

  • Affiliations:
  • IBM Haifa Research Labs, Haifa, Israel

  • Venue:
  • ACM Transactions on Storage (TOS)
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

B-trees are used by many file systems to represent files and directories. They provide guaranteed logarithmic time key-search, insert, and remove. File systems like WAFL and ZFS use shadowing, or copy-on-write, to implement snapshots, crash recovery, write-batching, and RAID. Serious difficulties arise when trying to use b-trees and shadowing in a single system. This article is about a set of b-tree algorithms that respects shadowing, achieves good concurrency, and implements cloning (writeable snapshots). Our cloning algorithm is efficient and allows the creation of a large number of clones. We believe that using our b-trees would allow shadowing file systems to better scale their on-disk data structures.