Zygaria: Storage Performance as a Managed Resource

  • Authors:
  • Theodore M. Wong;Richard A. Golding;Caixue Lin;Ralph A. Becker-Szendy

  • Affiliations:
  • IBM Almaden Research Center;IBM Almaden Research Center;Unversity of California at Santa Cruz;IBM Almaden Research Center

  • Venue:
  • RTAS '06 Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Large-scale storage systems often hold data for multiple applications and users. A problem in such systems is isolating applications and users from each other to prevent their workloads from interacting in unexpected ways. Another is ensuring that each application receives an appropriate level of performance. As part of the solution to these problems, we have designed a hierarchical I/O scheduling algorithm to manage performance resources on an underlying storage device. Our algorithm uses a simple allocation abstraction: an application or user has a corresponding pool of throughput, and manages throughput within its pool by opening sessions. The algorithm ensures that each pool and session receives at least a reserve rate of throughput and caps usage at a limit rate, using hierarchical token buckets and EDF I/O scheduling. Once it has fulfilled the reserves of all active sessions and pools, it shares unused throughput fairly among active sessions and pools such that they tend to receive the same amount. It thus combines deadline scheduling with proportional-style resource sharing in a novel way. We assume that the device performs its own low-level head scheduling, rather than modeling the device in detail. Our implementation shows the correctness of our algorithm, imposes little overhead on the system, and achieves throughput nearly equal to that of an unmanaged device.