Timing-accurate Storage Emulation: Evaluating
hypothetical storage components in real computer systems
Carnegie Mellon University, Dept. ECE Ph.D. Dissertation CMU-PDL-04-108. September 2004.
John Linwood Griffin
Electrical and Computer Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
Timing-accurate storage emulation offers a unique performance evaluation
capability: the flexibility of simulation with the reality of
experimental measurements. This allows a researcher to experiment with
not-yet-existing storage components in the context of real systems
executing real applications. As its name suggests, a timing-accurate
storage emulator appears to the system to be a real storage component
with service times matching a simulation model (or other computational
model) of that component. This allows simulated storage components to
be plugged into real systems, which can then be used for complete,
application-based experimentation. Additionally, timing-accurate
storage emulation offers the opportunity to investigate more expressive
interfaces between storage and computer systems, permitting forays into
the space of hypothetical device functionalities without the
difficulties of developing and supporting extensively nonstandard or
novel interface actions in prototype or production systems. This
dissertation identifies that there is a current and pressing need for a new storage evaluation technique, discusses design issues for achieving accurate per-request service times in a timing-accurate storage emulator, and demonstrates that it is feasible to construct and use such an emulator for interesting system-level experimentation.
We built a functional timing-accurate storage emulator and explored its use in experiments involving models of existing storage products, experiments evaluating the potential of nonexistent storage components, and experiments evaluating interactions between modified computer systems and expanded storage device functionality. To experiment with existing and hypothetical storage components in computer systems, we configured our emulator with device models representing a currently-available production disk drive, a hypothetical 50,000 RPM disk drive, and a hypothetical MEMS-based storage device, and executed three application-level workloads against these emulated models. To explore system architectures with expanded device functionality, we applied the principles of timing-accurate storage emulation in an investigation into storage-based intrusion detection systems. This experimentation demonstrates that our emulator accurately reflects the performance of modeled devices, demonstrates the feasibility of including intrusion detection capabilities into a standalone processing-enhanced disk drive, and demonstrates that extensions to existing storage communications paths may be used to transmit and receive information regarding the configuration and operational status of such an enhanced device.
KEYWORDS: real-time simulation, performance evaluation, virtualization, active disks, interfaces.