ACM Transactions on Storage · 2008 · 103 citations · 22 references
ComputingComputer ScienceComputer SystemsData StructuresOperating SystemsStorage SystemsData Storage SystemsDisk Storage SystemsFile SystemsSnapshot ManagementB-treesCopy-on-write File SystemsCopy-on-write SnapshotsCrash RecoverySnapshottingTree AlgorithmsTree Search Algorithms
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.
22
ARC: a self-tuning, low overhead replacement cache
Nimrod Megiddo, Dharmendra S. Modha · 2003 · 792 citations
Marshall Kirk McKusick, William N. Joy, Samuel J. Leffler et al. · ACM Transactions on Computer Systems · 1984 · 748 citations · Full text
A dichromatic framework for balanced trees
Leo J. Guibas, Robert Sedgewick · 1978 · 658 citations