USENIX Conference Policies
Buttress: A Toolkit for Flexible and High Fidelity I/O Benchmarking
In benchmarking I/O systems, it is important to generate, accurately, the I/O access pattern that one is intending to generate. However, timing accuracy ( issuing I/Os at the desired time) at high I/O rates is difficult to achieve on stock operating systems. We currently lack tools to easily and accurately generate complex I/O workloads on modern storage systems. As a result, we may be introducing substantial errors in observed system metrics when we benchmark I/O systems using inaccurate tools for replaying traces or for producing synthetic workloads with known inter-arrival times.
In this paper, we demonstrate the need for timing accuracy for I/O benchmarking in the context of replaying I/O traces. We also quantitatively characterize the impact of error in issuing I/Os on measured system parameters. For instance, we show that the error in perceived I/O response times can be as much as +350% or -15% by using naive benchmarking tools that have timing inaccuracies. To address this problem, we present Buttress, a portable and flexible toolkit that can generate I/O workloads with microsecond accuracy at the I/O throughputs of high-end enterprise storage arrays. In particular, Buttress can issue I/O requests within 100µs of the desired issue time even at rates of 10000 I/Os per second (IOPS).
author = {Eric Anderson and Mahesh Kallahalla and Mustafa Uysal and Ram Swaminathan},
title = {Buttress: A Toolkit for Flexible and High Fidelity {I/O} Benchmarking},
booktitle = {3rd USENIX Conference on File and Storage Technologies (FAST 04)},
year = {2004},
address = {San Francisco, CA},
url = {https://www.usenix.org/conference/fast-04/buttress-toolkit-flexible-and-high-fidelity-io-benchmarking},
publisher = {USENIX Association},
month = mar
}