B-Trees, Shadowing, and Clones

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 btrees and shadowing in a single system.

This paper 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, basically unlimited, number of clones. 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-0245 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-0245.pdf

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