Timing-accurate Storage Emulation: Evaluating Hypothetical Storage Components in Real Computer Systems (CMU-PDL-04-108)
Date of Original Version
Abstract or Table of Contents
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.