A Synthetic Driver for File System Simulations
M. Satyanarayanan
Abstract
A driver is a software module that mimics an actual usage environment by
generating a stream of requests for use in simulations or in stress testing
of an implemented system. This paper describes the design of a computationally
efficient driver for use in performance evaluation of file systems. Based
on observations of a timesharing system in a research environment, it is
shown that files can be naturally classified into three equivalence classes:
System files, Temporary files, and User files. The usage patterns of each
of these classes is shown to be radically different, and a separate locality
model is developed for each class. The driver is parameterized, and actual
values for these parameters are derived from the experimental observations.
Parameters representative of other environments may be used with the driver
to extend its domain of applicability. Insights from the experimental data
presented here may also be of use in other applications such as capacity
planning and file system design.