a flexible approach to efficient resource sharing in virtualized environments
Cloud-based storage and computing are growing in popularity due to economies of using a centralized infrastructure that can be leased at low cost. The increased use of virtual-machine-based server consolidation in such data centers introduces new challenges for resource management, capacity provisioning, and guaranteeing application performance. The bursty nature of workloads means that the peak capacity required to handle short-duration bursts may be an order of magnitude or more than the long-term average requirement. Providing capacity based on the peak rate can result in significant over-provisioning and low utilization, leading to higher infrastructure and energy costs. In this paper we present an efficient method for multiplexing multiple concurrent bursty workloads on a shared storage server. Such a situation is common in Virtual Machine (VM) environments where the hypervisor needs to dynamically allocate IO bandwidth among multiple VMs sharing a SAN array. We consider the problem of dynamically scheduling the IO among competing VMs to meet QoS requirements. Our solution employs two strategies together: systematically decomposing bursts to provide each workload with a graduated Quality of Service (QoS) and flexibly scheduling the decomposed portions of all the workloads.
vm qos storage performance virtualization performance isolation resource allocation