Tuning file system block addressing for performance

  • Authors:
  • Harrison Caudill;Ada Gavrilovska

  • Affiliations:
  • Morehead City, North Carolina;Georgia Tech, Atlanta, Georgia

  • Venue:
  • Proceedings of the 44th annual Southeast regional conference
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

In most general purpose file systems, data blocks are scattered throughout the disk so as not to require arbitrary chunks of contiguous disk space. To be able to find the nth data block in a file, both an index and indexing function must exist. The classical Unix File System (UFS) paradigm calls for a tree of block pointers, where the leaf nodes are data blocks in the file, and all other nodes are file system meta-data. In more highly-optimized file systems, b trees are used to index extents (groups of contiguous blocks). In these systems, the number of disk accesses required depends upon the depth of the associated indexing tree. Fragmentation is also an ongoing issue with file system design, decreasing overall file system performance. For read efficiency, direct pointers to all blocks in every file would be ideal, but also far too costly in terms of space.In this paper, a framework is proposed that optimizes file system performance by: decreasing the number of disk seeks to one for each file seek, forcing extent sizes to grow as file sizes grow, and providing a sound environment for efficiently decreasing file system fragmentation.