Timing-accurate storage emulation
John Linwood Griffin, Jiri Schindler, Steven W. Schlosser, John S. Bucy, Gregory R. Ganger
Abstract
Timing-accurate storage emulation fills an important gap in the set
of common performance evaluation techniques for proposed storage
designs: it 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 of that component. This
paper promotes timing-accurate storage emulation by describing its
unique features, demonstrating its feasibility, and illustrating
its value. A prototype, called the Memulator, is described and
shown to produce service times within 2% of those computed by its
component simulator for over 99% of requests. Two sets of
measurements enabled by the Memulator illustrate its power: (1)
application performance on a modern Linux system equipped with a
MEMS-based storage device (no such device exists at this time), and
(2) application performance on a modern Linux system equipped with
a disk whose firmware has been modified (we have no access to
firmware source code).