Abstract

The increasing cost and complexity of data management is driving data centers to consolidate resource and provide storage service for multiplex applications. Therefore, storage systems must be able to guarantee multi-dimensional Quality of Service (QoS) for various applications. However, satisfying performance targets for each workload is challenging, because that the I/O characteristics of workloads usually varies widely and capability of storage system changes significantly. In this paper, we design and implement a novel QoS scheduler, Courier, to maintain satisfactory performance for applications even in this highly-volatile scenario. Courier dynamically alternates between a feedback-based latency controller and reward budget-based scheduling to achieve per-application performance requirement. The feedback-based controller is employed to estimate request service times and adjust scheduling strategy dynamically. Based on the estimation, it can identify time-critical requests from throughput-sensitive requests and schedule applications with time-critical requests preferentially to avoid latency violations. In addition, Courier rewards well-behavior application with more budget to maintain high storage utilization while providing performance guarantees. We evaluate the effectiveness of our approach using synthetic and real workloads, and the results show that Courier has good ability to achieve per-application performance targets.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call