|
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.
|
|
|