d-clock: distributed QoS in heterogeneous resource environments

We examine the problem of providing fair bandwidth allocation in distributed storage systems similar to the research prototypes HP FAB and IBM Intelligent Bricks. The problem poses significant new challenges beyond those encountered in network and storage QoS scheduling. Specifically, resources are heterogeneous i.e. an IO request can only be serviced by a particular server, and service is both requested and provided in a distributed manner with no centralized controller. We provide a distributed algorithm, d-Clock, that runs locally on each of the servers and provides global fairness guarantees without causing resource-specific starvation, with minimal synchronization overhead.