2DIO: A Cache-Accurate Storage Microbenchmark
This tool addresses the need for better cache evaluation in storage systems, offering a portable and parameterizable solution for researchers, though it is incremental as it builds on existing microbenchmarking concepts.
The paper tackles the problem of generating realistic I/O traces for cache evaluation by introducing 2DIO, a microbenchmark that produces tunable, cache-accurate traces with complex behaviors like performance cliffs and plateaus, enabling high-accuracy reproduction of real-world traces.
We introduce 2DIO, a microbenchmark creating cache-accurate, stressful I/O traces. While existing tools are limited to generating traces with well-behaved, concave hit ratio curves, 2DIO produces ones with tunable complex cache behaviors, particularly performance cliffs and plateaus. Our framework encodes a workload as a compact parameter triplet, capturing both short-term recency and long-term frequency. This parsimonious parameterization allows researchers to easily translate individual adjustments into predictable cache effects across various eviction policies, and enables the parameter space to be "swept" for exhaustive exploration of desired cache behavior, or to mimic real traces by calibrating parameters to match observed behaviors. The tuned parameters are portable, meaning if the scale of the system under evaluation changes, so too will the footprint and length of the trace, while the relative cache behaviors are preserved. Evaluations demonstrate 2DIO's ability to generate traces across a continuum of "what-if" cache behaviors and to reproduce real-world ones with high accuracy.