RCS: Hybrid Co-scheduling Optimization in Virtualized System

As a support technology for cloud computing, virtualization enables multiple guest operating systems run on a system, which will improve utilization of resource. However, due to the semantic gap in the virtualization system, the mainstream of the current scheduling policy doesn’t take the tasks’ spin lock and cache misses into account, which leads to the performance degradation in virtual machine. In this paper, we propose an optimization of the hybrid co-scheduling in KVM called Regional Co-Scheduling (RCS). Our solution includes two aspects: co-scheduling the vCPUs of the concurrent VM within CPU cores in the same CPU socket, and optimizing the load balancing by adding two strategies, which include that vCPUs belonging to the same VM should not be in the same queue and cross-region migration should be avoided. The experiment results show that RCS significantly reduces the execution time and context switches, compared with the default scheduler CFS and Co-Scheduling, and suffers less overhead as well, while when the number of VMs is large, it is with fair-share feature.

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

[2]  Wenzhi Chen,et al.  Efficient consolidation-aware VCPU scheduling on multicore virtualization platform , 2016, Future Gener. Comput. Syst..

[3]  David H. Bailey,et al.  The Nas Parallel Benchmarks , 1991, Int. J. High Perform. Comput. Appl..

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

[5]  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.

[6]  Minglu Li,et al.  The hybrid scheduling framework for virtual machine systems , 2009, VEE '09.

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

[8]  Hai Jin,et al.  Scheduling overcommitted VM: Behavior monitoring and dynamic switching-frequency scaling , 2013, Future Gener. Comput. Syst..

[9]  Cong Xu,et al.  Task-aware based co-scheduling for virtual machine system , 2010, SAC '10.

[10]  Wolfgang Mauerer,et al.  Professional Linux Kernel Architecture , 2008 .

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

[12]  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.

[13]  Yudi Wei,et al.  Self-Boosted Co-scheduling for SMP Virtual Machines , 2015, 2015 IEEE 23rd International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems.