Allocation and Data Placement Using Virtual Contiguity

We describe an allocation and data placement technique called virtual contiguity that keeps the blocks of a file “near” each other so that a file system can read many blocks of a file at the same time with a single disk head movement. This technique avoids the disk seek penalties incurred when reading discontiguous block allocations, without requiring allocations to be strictly contiguous. At the same time, virtual contiguity provides for the finegrained allocation and writing of data required to support memory-mapped I/O and efficiently perform copy-onwrite for file systems that snap-shot data. Preliminary experimental results show that virtual contiguity groups data effectively and reduces the number of disk seeks required to read a file.

[1]  Darrell D. E. Long,et al.  Data management in a distributed file system for storage area networks , 2000 .

[2]  Garth A. Gibson,et al.  RAID-II: a high-bandwidth network file server , 1994, Proceedings of 21 International Symposium on Computer Architecture.

[3]  H. Apte,et al.  Serverless Network File Systems , 2006 .

[4]  David Thomas,et al.  The Art in Computer Programming , 2001 .

[5]  Jeanna Neefe Matthews,et al.  Serverless network file systems , 1996, TOCS.

[6]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[7]  David Engel,et al.  The Design And Implementation Of A Log Structured File System , 2016 .

[8]  R. S. Fabry,et al.  A fast file system for UNIX , 1984, TOCS.

[9]  Joseph Pasquale,et al.  A high performance multi-structured file system design , 1991, SOSP '91.

[10]  Yale N. Patt,et al.  System-oriented evaluation of I/O subsystem performance , 1995 .

[11]  M. D. MacLaren The Art of Computer Programming—Volume 1: Fundamental Algorithms (Donald E. Knuth) , 1969 .

[12]  Rajeev Nagar,et al.  Windows NT file system internals - a developer's guide: building NT file system drivers , 1997 .

[13]  James Lau,et al.  File System Design for an NFS File Server Appliance , 1994, USENIX Winter.

[14]  J. Howard Et El,et al.  Scale and performance in a distributed file system , 1988 .

[15]  Sailesh Chutani,et al.  DEcorum File System Architectural Overview , 1990, USENIX Summer.

[16]  Roger L. Haskin,et al.  Tiger Shark - A scalable file system for multimedia , 1998, IBM J. Res. Dev..

[17]  Drew Roselli,et al.  Characteristics of File System Workloads , 1998 .