SDI Seminar

Speaker: Greg Ganger, MIT

Embedded Inodes and Explicit Grouping: Exploiting Disk Bandwidth for Small Files

Date: November 4, 1996


Small file performance in most file systems is limited by slowly improving disk access times, even though current file systems improve on-disk locality by allocating related data objects in the same general region (e.g., cylinder group). The key insight for why current file systems perform poorly is that locality is insufficient -- exploiting disk bandwidth for small data objects requires that they be placed adjacently. We describe C-FFS (Co-locating Fast File System), which introduces two techniques, {\bf embedded inodes} and {\bf explicit grouping}, for exploiting what disks do well (bulk data movement) to avoid what they do poorly (reposition to new locations). With embedded inodes, the inodes for most files are stored in the directory with the corresponding name, removing a physical level of indirection without sacrificing the logical level of indirection. With explicit grouping, the data blocks of multiple small files are placed adjacently and moved to and from the disk as a unit in most cases. Measurements of the C-FFS prototype show that these techniques have the potential to increase small file performance (for both reads and writes) by a factor of 3--4. The improvement comes directly from reducing the number of disk accesses required to do the same amount of work by an order of magnitude.