UW-Madison Logo

The ADvanced Systems Laboratory (ADSL)

Redesigning the Division between the File and Storage System

Our performance studies led us to the realization that oftentimes the existing layering of a system prevents the implementation of useful performance optimizations. In this branch of our research, we explore how to break through such layering limitations. For example, we have co-designed the file system to better interact with RAID, expose new disk interfaces, and even push the entire file system into the storage device.
  • Bridging the Information Gap in Storage Protocol Stacks (USENIX '02). Co-designing the file system and RAID layer leads to much higher performance. We introduce a novel log-structured file system, ILFS, that manages the disk volumes itself and improves performance significantly. Essentially, ILFS introduces the approach in which the file system serves as a volume manager, later adopted in commercially-important systems such as ZFS.
  • Journal-guided Resynchronization for Software RAID (FAST '05). Typical software RAIDs must implement their own logging protocols to ensure consistency of data after a crash. We integrate such logging into the journaling performed by the file system, thus reducing redundant work and increasing performance.
  • Avoiding File System Micromanagement with Range Writes (OSDI '08). Most disks force clients to specify an exact address when writing, thus limiting disk control over exact placement. We introduce a range-writing disk offering a new interface of a ``fast write'', which writes to the nearest free block on disk. We demonstrate the many performance improvements such an interface enables.
  • Designing a True Direct-Access File System with DevFS (FAST '18). We explore how to build high-performance, user-level file systems by pushing large amounts of file system code down into the device itself. By avoiding costly OS traps, a device file-system can achieve large performance gains.