File System Aging
Keith Smith, Margo Seltzer
Benchmarks are important because they provide a means for users
and researchers to characterize how their workloads will perform
on different systems and different system architectures. The field
of file system design is no different from other areas of research
in this regard, and a variety of file system benchmarks are in use,
representing a wide range of the different user workloads that may
be run on a file system. A realistic benchmark, however, is only
one of the tools that is required in order to understand how a file
system design will perform in the real world. The benchmark must
also be executed on a realistic file system. While the simplest
approach maybe to measure the performance of an empty file system,
this represents a state that is seldom encountered by real users.
In order to study file systems in more representative conditions,
we present a methodology for aging a test file system by replaying
a workload similar to that experienced by a real file system over
a period of many months, or even years. Our aging tools allow the
same aging workload to be applied to multiple versions of the same
file system, allowing scientific evaluation of the relative merits
of competing file system designs.
In addition to describing our aging tools, we demonstrate their use by applying them to evaluate two enhancements to the file layout policies of the UNIX fast file system.