Maestro: Quality-of-Service in Large Disk Arrays
Venue
Proceedings of the 8th ACM international conference on Autonomic computing (ICAC), ACM, New York, NY, USA (2011), pp. 245-254
Publication Year
2011
Authors
Arif Merchant, Mustafa Uysal, Pradeep Padala, Xiaoyun Zhu, Sharad Singhal, Kang Shin
BibTeX
Abstract
Provisioning storage in disk arrays is a difficult problem because many
applications with different workload characteristics and priorities share resources
provided by the array. Currently, storage in disk arrays is statically partitioned,
leading to difficult choices between over-provisioning to meet peak demands and
resource sharing to meet efficiency targets. In this paper, we present Maestro, a
feedback controller that can manage resources on large disk arrays to provide
performance differentiation among multiple applications. Maestro monitors the
performance of each application and dynamically allocates the array resources so
that diverse performance requirements can be met without static partitioning. It
supports multiple performance metrics (e.g., latency and throughput) and
application priorities so that important applications receive better performance in
case of resource contention. By ensuring that high-priority applications sharing
storage with other applications obtain the performance levels they require, Maestro
makes it possible to use storage resources efficiently. We evaluate Maestro using
both synthetic and real-world workloads on a large, commercial disk array. Our
experiments indicate that Maestro can reliably adjust the allocation of disk array
resources to achieve application performance targets.
