An-I Andy Wang
UCLA, The Laboratory for Advanced Systems Research
Modern file systems assume the use of disk, but this assumption has two major problems. First, disk has been the system-wide performance bottleneck of the past decade--a bottleneck that continues to worsen rapidly. Second, disk-related optimizations have grown over the years to mask this widening performance gap, resulting in operating systems that are increasingly complex. Popular solutions, such as disk caching and RAM file systems, either impose high overhead to access memory content or fail to provide the ability to store arbitrary amounts of data persistently without adding further complexities.
The Conquest File System exploits the observation that memory is becoming an inexpensive resource that can deliver all file system services with the single exception of large storage capacity. Instead of using memory for caching, Conquest uses memory with battery backup as persistent storage, and provides two separate data paths to memory and disk storage. By specializing the data paths, the memory data path no longer contains disk-related complexity. The disk data path consists of only optimizations for the specialized disk usage pattern.
Conquest's design addresses the two major problems introduced by disk: (1) making memory the primary storage provides fast access to memory content without disk-related overhead, and (2) specialized use of memory and disk reduces the complexity of both data paths.
Compared to ext2fs, reiserfs, and SGI XFS, Conquest shows at least a 20% smaller code base in terms of semicolon counts. With a memory-only workload, Conquest matches the performance of ramfs and outperforms disk caching by 24% to 350% in terms of transaction rates. With a workload that exercises memory and disk components, Conquest still outperforms disk caching by 43% to 96%.
Conquest shows that the goal of achieving better performance does not preclude simplicity of design, and Conquest realizes most of the benefits of persistent RAM at a fraction of the cost of a RAM-only solution. Conquest further demonstrates that in a memory-rich environment, disk-related optimizations impose high performance overheads for the common case of accessing data from memory, and disk-based benchmarks need to be redesigned to capture subtle effects of underlying hardware on memory-speed file systems.