Abstract
IaaS cloud providers typically leverage virtualization technology (VT) to multiplex underlying physical resources among virtual machines (VMs), thereby enhancing the utilization of physical resources. However, the contention on shared physical resources brought about by VT is one of the main causes of the performance variability that acts as a barrier to the adoption of virtualized clouds. Many existing approaches have attempted to mitigate performance variability by enforcing isolation and fairness between running VMs for different shared physical resources. In the context of processor resources, current products such as Xen provide isolation and fairness using resource management controls. Still, a VM’s delivered performance varies widely based on the number of co-located VMs and their workload types. To tackle this challenge, we present ppXen, a novel hypervisor CPU scheduler that mitigates performance variability by attempting to minimize resource interference amongst co-located VMs. ppXen achieves this firstly by enabling differentiated service levels in which running VMs can be classified in terms of their processor time (PT) and IO quality (IOQ) demands. It then schedules virtual CPUs (vCPUs) with complementary resource demands on the same physical CPUs (pCPUs) to mitigate the interference among vCPUs sharing the same pCPU, resulting in a lower performance variability for both IO and CPU-intensive workloads. Our evaluation of ppXen prototype demonstrates that it substantially mitigates performance variability. For example, ppXen reduces the standard deviation of network packet round-trip times (by up to 84%), the UDP jitter (by up to 74.2%), and the standard deviation of Apache Olio services (by up to 69%).
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have