Is co-scheduling too expensive for SMP VMs?

Orathai Sukwong, Hyong S. Kim
2011 Proceedings of the sixth conference on Computer systems - EuroSys '11  
Symmetric multiprocessing (SMP) virtual machines (VMs) allow users to take advantage of a multiprocessor infrastructure. Despite the advantage, SMP VMs can cause synchronization latency to increase significantly, depending on task scheduling. In this paper, we show that even if a SMP VM runs non-concurrent applications, the synchronization latency problem can still occur due to synchronization in the VM kernel. Our experiments show that both of the widely used open source hypervisors, Xen and
more » ... M, with the default schedulers are susceptible to the synchronization latency problem. To remediate this problem, previous works propose a co-scheduling solution where virtual CPUs (vCPUs) of a SMP VM are scheduled simultaneously. However, the co-scheduling approach can cause CPU fragmentation that reduces CPU utilization, priority inversion that degrades I/O performance, and execution delay, leading to deployment impediment. We propose a balance scheduling algorithm which simply balances vCPU siblings on different physical CPUs without forcing the vCPUs to be scheduled simultaneously. Balance scheduling can achieve similar or (up to 8%) better application performance than co-scheduling without the co-scheduling drawbacks, thereby benefiting various SMP VMs. The evaluation is thoroughly conducted against both concurrent and non-concurrent applications with CPU-bound, I/Obound, and network-bound workloads in KVM. For empirical comparison, we also implement the coscheduling algorithm on top of KVM's Completely Fair Scheduler (CFS). Compared to the synchronizationunaware CFS, balance scheduling can significantly improve application performance in a SMP VM (e.g. reduce the average TPC-W response time by up to 85%).
doi:10.1145/1966445.1966469 dblp:conf/eurosys/SukwongK11 fatcat:nokgwxhhcfeclelns7q57k7sxu