Buttress: A Toolkit for Flexible and High Fidelity I/O Benchmarking

  • Authors:
  • Eric Anderson;Mahesh Kallahalla;Mustafa Uysal;Ram Swaminathan

  • Affiliations:
  • Hewlett-Packard Laboratories;Hewlett-Packard Laboratories;Hewlett-Packard Laboratories;Hewlett-Packard Laboratories

  • Venue:
  • FAST '04 Proceedings of the 3rd USENIX Conference on File and Storage Technologies
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

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).