QClock: An interposed scheduling algorithm for performance virtualization in shared storage systems
I/O consolidation is a growing trend in production environments due to increasing complexity in tuning and managing storage systems. A consequence of this trend is the need to serve multiple applications simultaneously. It is imperative to ensure that these applications are insulated from each other by virtualization in order to meet any service level objective (SLO) which represent application requirements in terms of the average throughput, latency and maximum burst size. Most previous approaches basically providing only the throughput guarantees; approaches which provide latency guarantee penalized applications for using spare resources or may not always exploit the full bandwidth offered by the storage system. This article presents an interposed I/O scheduling algorithm QClock which can provide performance virtualization without any support from the storage itself. Using real I/O trace and a detailed storage simulator, we demonstrate two important features of QClock: (1) benefits over existing algorithms by avoiding punish the applications which used the spare capacity; (2) the ability to exploit more capacity offered by the storage system to meet the performance requirement better.
7th International Conference on Networked Computing