Affinity-aware Proportional Share Scheduling for Virtual Machine System

Huacai Chen,Hai Jin,Kan Hu
DOI: https://doi.org/10.1109/gcc.2010.27
2010-01-01
Abstract:VM (virtual machine) scheduling is a fundamental topic of virtualization, and fairness is its important design goal. Most VMMs (virtual machine monitor) provide PS (proportional share) schedulers. A PS scheduler assign a weight to every VM to declare the computational resource requirement, and VM is allocated CPU cycles proportional to weight. CPU-affinity is a property of VCPU (virtual CPU) to describe which PCPUs (physical CPU) it can run on. However, current definition of weight does not collaborate well with CPU-affinity. It behaves as if all PCPUs are available to all VMs. We expose the issue by using Xen's Credit scheduler, and show that CPU cycles can be fairly allocated to VMs in the default free-mapping case (no affinity restriction), but not so in restricted-mapping cases (when affinities are configured). This fairness issue makes it necessary to extend the meaning of weight, so as to reflect the resource requirements in all cases. In this paper we reconcile the meaning of a domain's weight with CPU-affinity, and improve Credit scheduler as an affinity-aware one. Experimental results show that our affinity-aware proportional share scheduler (named Credit-APS scheduler) brings a good fairness both in free-mapping and restricted-mapping cases.
What problem does this paper attempt to address?