Ajay Gulati, pClock - An Arrival Curve Based Approach For QoS Guarantees

Storage consolidation is becoming an attractive paradigm for data organization because of the economies of sharing and the ease of centralized management. However, sharing of resources is viable only if applications can be isolated from each other. This work targets the problem of providing performance guarantees to each application irrespective of the workloads of the others. Guarantees are represented in terms of the average throughput, maximum burst size and latency. Most earlier schemes only do weighted bandwidth allocation; schemes that provide control of latency either cannot handle bursts or penalize applications for their own prior behavior, such as using spare capacity.

Our algorithm pClock is based on arrival curves that intuitively capture the bandwidth and burst requirements of applications. We show analytically that an application following its arrival curve never misses its deadline. We have implemented pClock both in disksim and as a module in the linux kernel 2.6. Our evaluation shows three important features of pClock: (1) benefits over existing algorithms, (2) efficient performance isolation and burst handling, and (3) the ability to allocate spare capacity to either speed up some applications or to a background utility, such as backup.