Efficient consolidation-aware VCPU scheduling on multicore virtualization platform

Multicore processors are widely used in today's computer systems. Multicore virtualization technology provides an elastic solution to more efficiently utilize the multicore system. However, the Lock Holder Preemption (LHP) problem in the virtualized multicore systems causes significant CPU cycles wastes, which hurt virtual machine (VM) performance and reduces response latency. The system consolidates more VMs, the LHP problem becomes worse. In this paper, we propose an efficient consolidation-aware vCPU (CVS) scheduling scheme on multicore virtualization platform. Based on vCPU over-commitment rate, the CVS scheduling scheme adaptively selects one algorithm among three vCPU scheduling algorithms: co-scheduling, yield-to-head, and yield-to-tail based on the vCPU over-commitment rate because the actions of vCPU scheduling are split into many single steps such as scheduling vCPUs simultaneously or inserting one vCPU into the run-queue from the head or tail. The CVS scheme can effectively improve VM performance in the low, middle, and high VM consolidation scenarios. Using real-life parallel benchmarks, our experimental results show that the proposed CVS scheme improves the overall system performance while the optimization overhead remains low. We propose an efficient consolidation-aware vCPU (CVS) scheduling scheme.The CVS scheduling scheme adaptively selects three vCPU scheduling algorithms.The CVS scheme can effectively improve virtual machine performance.The CVS scheme works in different consolidation scenarios.

[1]  K. T. Raghavendra,et al.  Paravirtualization for Scalable Kernel-Based Virtual Machine (KVM) , 2012, 2012 IEEE International Conference on Cloud Computing in Emerging Markets (CCEM).

[2]  Xiaoning Ding,et al.  A Hidden Cost of Virtualization When Scaling Multicore Applications , 2013, HotCloud.

[3]  Joshua LeVasseur,et al.  Towards Scalable Multiprocessor Virtual Machines , 2004, Virtual Machine Research and Technology Symposium.

[4]  Dror G. Feitelson,et al.  Paired Gang Scheduling , 2003, IEEE Trans. Parallel Distributed Syst..

[5]  Hwanju Kim,et al.  Demand-based coordinated scheduling for SMP VMs , 2013, ASPLOS '13.

[6]  Andrea C. Arpaci-Dusseau,et al.  Implicit coscheduling: coordinated scheduling with implicit information in distributed systems , 2001, TOCS.

[7]  David L. Black Scheduling support for concurrency and parallelism in the Mach operating system , 1990, Computer.

[8]  Haibo Chen,et al.  Schedule processes, not VCPUs , 2013, APSys.

[9]  Xin Li,et al.  Improving virtualization performance and scalability with advanced hardware accelerations , 2010, IEEE International Symposium on Workload Characterization (IISWC'10).

[10]  Scott Pakin,et al.  Dynamic Coscheduling on Workstation Clusters , 1998, JSSPP.

[11]  Michael Frumkin,et al.  The OpenMP Implementation of NAS Parallel Benchmarks and its Performance , 2013 .

[12]  Chao Liu,et al.  Lock-Visor: An Efficient Transitory Co-scheduling for MP Guest , 2012, 2012 41st International Conference on Parallel Processing.

[13]  Xubin He,et al.  Hybrid Co-scheduling Optimizations for Concurrent Applications in Virtualized Environments , 2011, 2011 IEEE Sixth International Conference on Networking, Architecture, and Storage.

[14]  Tatsuo Nakajima,et al.  Using Virtual CPU Migration to Solve the Lock Holder Preemption Problem in a Multicore Processor-Based Virtualization Layer for Embedded Systems , 2012, 2012 IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[15]  Michael L. Scott,et al.  High performance synchronization algorithms for multiprogrammed multiprocessors , 1995, PPOPP '95.

[16]  Jian Zhang,et al.  ANOLE: A Profiling-Driven Adaptive Lock Waiter Detection Scheme for Efficient MP-guest Scheduling , 2012, 2012 IEEE International Conference on Cluster Computing.

[17]  Xiaoning Ding,et al.  Gleaner: Mitigating the Blocked-Waiter Wakeup Problem for Virtualized Multicore Applications , 2014, USENIX Annual Technical Conference.

[18]  Yu Chen,et al.  CFS Optimizations to KVM Threads on Multi-Core Environment , 2009, 2009 15th International Conference on Parallel and Distributed Systems.

[19]  Victor Lee,et al.  Implications of I/O for Gang Scheduled Workloads , 1997, JSSPP.

[20]  Minglu Li,et al.  Dynamic adaptive scheduling for virtual machines , 2011, HPDC '11.

[21]  Hyong S. Kim,et al.  Is co-scheduling too expensive for SMP VMs? , 2011, EuroSys '11.

[22]  Koushik Chakraborty,et al.  Supporting Overcommitted Virtual Machines through Hardware Spin Detection , 2012, IEEE Transactions on Parallel and Distributed Systems.

[23]  John K. Ousterhout Scheduling Techniques for Concurrebt Systems. , 1982, ICDCS 1982.

[24]  Xiaobo Zhou,et al.  Towards fair and efficient SMP virtual machine scheduling , 2014, PPoPP '14.