An Interposed I/O Scheduling Framework for Latency and Throughput Guarantees

Cloud storage system is becoming a trend in production environments for its economic benefits. With such architecture, storage resource is consolidated to provide multiplexing service for concurrent applications. Therefore, storage centers must be able to guarantee multi-dimensional Quality of Service for various applications. However, satisfying performance targets for each workload is challenging, because they compete for storage resource and have various performance targets in terms of throughput or latency. In this paper, we design and implement a novel scheduler, called Arbitrator, to maintain per-application performance no matter in terms of throughput or latency. In our scheduling framework, we introduce a factor to reflect how applications are sensitive to deadline missing. The scheduler employs a feedback mechanism to monitor latency guarantees and throughput allocation for each application, and compute how much applications deviate from their performance targets. Based on the estimation, Arbitrator makes the scheduling decision to achieve latency guarantee and proportional sharing of bandwidth. We implement Arbitrator in Linux kernel and evaluate its effectiveness, and the results show the scheduler has good ability to maintain satisfactory performance for applications.

[1]  Peter J. Varman,et al.  Graduated QoS by Decomposing Bursts: Don't Let the Tail Wag Your Server , 2009, 2009 29th IEEE International Conference on Distributed Computing Systems.

[2]  John C. S. Lui,et al.  Evaluation of tradeoffs in resource management techniques for multimedia storage servers , 1999, Proceedings IEEE International Conference on Multimedia Computing and Systems.

[3]  Wei Jin,et al.  Interposed proportional sharing for a storage service utility , 2004, SIGMETRICS '04/Performance '04.

[4]  Xiaoyun Zhu,et al.  Triage: Performance differentiation for storage systems using adaptive control , 2005, TOS.

[5]  Jian Xu,et al.  Performance virtualization for large-scale storage systems , 2003, 22nd International Symposium on Reliable Distributed Systems, 2003. Proceedings..

[6]  Peter J. Varman,et al.  pClock: an arrival curve based approach for QoS guarantees in shared storage systems , 2007, SIGMETRICS '07.

[7]  A. L. Narasimha Reddy,et al.  Disk scheduling in a multimedia I/O system , 1993, MULTIMEDIA '93.

[8]  Kang G. Shin,et al.  Maestro: quality-of-service in large disk arrays , 2011, ICAC '11.

[9]  Scott A. Brandt,et al.  Horizon: efficient deadline-driven disk I/O management for distributed storage systems , 2010, HPDC '10.

[10]  Scott Shenker,et al.  Analysis and simulation of a fair queueing algorithm , 1989, SIGCOMM 1989.

[11]  Harrick M. Vin,et al.  Start-time fair queueing: a scheduling algorithm for integrated services packet switching networks , 1996, SIGCOMM '96.

[12]  Arif Merchant,et al.  Proportional-Share Scheduling for Distributed Storage Systems , 2007, FAST.

[13]  Gregory R. Ganger,et al.  Argon: Performance Insulation for Shared Storage Servers , 2007, FAST.

[14]  Carlos Maltzahn,et al.  Efficient guaranteed disk request scheduling with fahrrad , 2008, Eurosys '08.

[15]  Peter J. Varman,et al.  mClock: Handling Throughput Variability for Hypervisor IO Scheduling , 2010, OSDI.

[16]  Irfan Ahmad,et al.  PARDA: Proportional Allocation of Resources for Distributed Storage Access , 2009, FAST.

[17]  Arif Merchant,et al.  Façade: Virtual Storage Devices with Performance Guarantees , 2003, FAST.

[19]  Anand Sivasubramaniam,et al.  Storage Performance Virtualization via Throughput and Latency Control , 2005, MASCOTS.