UW-Madison Logo

The ADvanced Systems Laboratory (ADSL)
Overview

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.