Symbiotic Scheduling for Virtual Machines on SMT Processors

Kefeng Deng,Kaijun Ren,Junqiang Song
DOI: https://doi.org/10.1109/CGC.2012.54
2012-01-01
Abstract:Virtualization enables server consolidation which maximizes resource utilization by running multiple virtual machines simultaneously on the computer platform. One of the challenges faced by server consolidation is resource contention among the virtual machines. This problem will be further deteriorated on modern simultaneous multithreading (SMT) processors. Traditional symbiotic scheduling algorithms seek to co-schedule threads that have complementary resource requirements to reduce resource contention and boost system performance. However, this technique cannot be directly applied in virtualized environments since the applications are encapsulated in virtual machines. This paper proposed a symbiotic scheduling approach to improve the performance of concurrent workloads running in virtual machines on SMT processors. Our approach samples the resource demands of threads in virtual machines, passes the sampling data and thread to VCPU mapping information to the privileged domain in order for computing VCPU symbiosis. A VCPU scheduling algorithm is devised which dynamically pins the VCPUs according to their symbiosis. For load balance, a portion of less affinitive VCPUs are unpinned to provide the flexibility for VCPU migration. We have implemented a prototype on Xen and Experimental results show that the proposed approach can improve the performance of concurrent workloads by up to 24% in comparison with bare Credit scheduler.
What problem does this paper attempt to address?