B-trees, Shadowing, and Range-Operations

B-trees are used by many file-systems to represent files and directories. They provide guarantied logarithmic time key-search, insert, and remove. Shadowing, or copy-on-write, is used by other file-systems 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 paper is about a set of b-tree algorithms that respect shadowing and achieve good concurrency. These algorithms were used in an experimental object-disk. We believe that this work is applicable not only to object-disks but also to other file-systems.

By: Ohad Rodeh

Published in: H-0248 in 2006

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

h-0248.pdf

Questions about this service can be mailed to reports@us.ibm.com .