MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  A Holesome File System (2004) [1 citations — 0 self]

Download:
Download as a PDF | Download as a PS
by Darren Erik Vengroff, David Kotz
ftp://ftp.cs.duke.edu/pub/dev/papers/Holesome.ps.Z
Add To MetaCart

Abstract:

We present a novel approach to fully dynamic management of physical disk blocks in Unix file systems. By adding a single system call, zero(), to an existing file system, we permit applications to create holes, that is, regions of files to which no physical disk blocks are allocated, far more flexibly than previously possible. Using zero(), it is possible to efficiently implement applications including a variety of databases and I/O-efficient computation systems on top of the Unix file system. zero() can also be used to implement an efficient file-system-based paging mechanism. In some I/O-efficient computations, the availability of zero() effectively doubles disk capacity by allowing blocks of temporary files to be reallocated to new files as they are read. Experiments on a Linux ext2 file system augmented by zero() demonstrate that where their functionality overlaps, zero() is more efficient than ftruncate(). Additional experiments reveal that in exchange for added effective disk capacity, I/O-efficient code pays only a small performance penalty. 1

Citations

472 The Ubiquitous B-Tree – Comer - 1979
463 The R* -tree: an efficient robust access method for points and rectangles – Beckmann, Kriegel, et al. - 1990
410 The Input/Output complexity of sorting and related problems – Aggarwal, Vitter - 1988
320 The Design of the Unix Operating System – Bach - 1986
158 The buffer tree: A new technique for optimal I/O-algorithms – Arge - 1995
85 External-memory algorithms for processing line segments in geographic information systems. Algorithmica – Arge, Vengroff, et al. - 1998
46 Virtual Memory for Data-Parallel Computing – Cormen - 1992
34 Fast permuting in disk arrays – Cormen