Dynamic CPU scheduling for load balancing in virtualized environments

Dynamic CPU scheduling for load balancing in virtualized environments

In the modern era of computing, the cloud computing platform became popular with its on-demandresource scalability feature. Virtualization is the key technology to achieve resource scalability in the cloud environment.Virtual machine monitors (VMMs) like Xen and KVM are the enabling tools for virtualizing the resources in the cloudenvironment. The major role of VMMs is to map virtual CPUs of virtual machines to physical CPUs, popularly knownas CPU scheduling. In this study, we analyzed the CPU scheduler of Xen VMM, called Credit CPU scheduler, withrespect to CPU utilization. In order to maximize the physical CPU utilization in Xen VMM, the existing Credit CPUscheduling scheme distributes the physical CPU time among all the virtual CPUs available in virtual machines based onthe current weight of the virtual machine. However, this scheduling approach wastes a considerable amount of CPU timein context switching due to random allocation of virtual CPUs to the real CPU cores. In addition to that, the CreditCPU scheduler in Xen is least concerned about load balancing at both virtual and physical CPUs level. Considering allthese above issues, in this paper, a dynamic CPU scheduling algorithm is presented that will distribute both single andmultithreaded load fairly among virtual and real CPUs, and also handle the issues related to context switching. Theproposed CPU scheduling approach is implemented in Xen VMM using the virsh interface. The experimental resultsindicate that the proposed CPU scheduling approach distributes the available real CPU time evenly among virtual CPUs,which leads to balanced load in the Xen environment.

___

  • Xing Y, Zhan Y. Virtualization and cloud computing. In: Zhang Y, editor. Future Wireless Networks and Information Systems. Lecture Notes in Electrical Engineering. Berlin, Germany: Springer, 2012. pp. 305-312.
  • Barham P, Dragovic B, Fraser K, Hand S, Harris T, Ho A, Neugebauer R, Pratt I, Warfield A. Xen and the art of virtualization. In: Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles; 19–22 October 2003; Bolton Landing, NY, USA. New York, NY, USA: ACM. pp. 164-177.
  • Kivity A, Kamay Y, Laor D, Lublin U, Liguori A. KVM: the linux virtual machine monitor. In: Proceedings of the Linux symposium; 27–30 June 2007; Ottawa, Ontario, Canada. pp. 225-230.
  • Duda KJ, Cheriton DR. Borrowed-virtual-time (BVT) scheduling: supporting latency-sensitive threads in a generalpurpose scheduler. In: Proceedings of the Seventeenth ACM Symposium on Operating Systems Principles; 12–15 December 1999; Charleston, SC, USA. New York, NY, USA: ACM. pp. 261-276.
  • Cherkasova L, Gupta D, Vahdat A. Comparison of the three CPU schedulers in Xen. SIGMETRICS Performance Evaluation Review 2007; 35: 42-51.
  • Lee M, Krishnakumar AS, Krishnan P, Singh N, Yajnik S. Supporting soft real-time tasks in the xen hypervisor. In: Proceedings of the 6th ACM SIGPLAN International Conference on Virtual Execution Environments; 17–19 March 2010; Pittsburgh, PA, USA. New York, NY, USA: ACM. pp. 97-108.
  • Govindan S, Nath AR, Das A, Urgaonkar B, Sivasubramaniam A. Xen and co.: communication-aware CPU scheduling for consolidated xen-based hosting platforms. In: Proceedings of the 3rd International Conference on Virtual Execution Environments; 13–15 June 2007; San Diego, CA, USA. New York, NY, USA: ACM. pp. 126-136.
  • Yoo S, Kwak K, Jo J, Yoo C. Toward under-millisecond I/O latency in xen-arm. In: Proceedings of the Second Asia-Pacific Workshop on Systems; 11–12 July 2011; Shanghai, China. New York, NY, USA: ACM. pp. 14:1-14:5.
  • Xi S, Wilson J, Lu C, Gill C. RT-Xen: Towards real-time hypervisor scheduling in xen. In: 2011 Proceedings of the Ninth ACM International Conference on Embedded Software; 9–14 October 2011; Taipei, Taiwan. New York, NY, USA: ACM. pp. 39-48.
  • Xi S, Xu M, Lu C, Phan LTX, Gill C, Sokolsky O, Lee I. Real-time multi-core virtual machine scheduling in Xen. In: 2014 International Conference on Embedded Software; 12-017 October 2014; New Delhi, India. New York, NY, USA: ACM. pp. 27:1-27:10.
  • Çavdar D, Chen LY, Alagoz F. Priority scheduling for heterogeneous workloads: tradeoff between evictions and response time. IEEE Syst J 2017; 11: 684-695.
  • Wang B, Cheng Y, Chen W, He Q, Xiang Y. Efficient consolidation-aware VCPU scheduling on multicore virtualization platform. Future Gener Comp Sy 2016; 56: 229-237.
  • Asyabi E, Sharifi M, Bestavros A. ppXen: a hypervisor CPU scheduler for mitigating performance variability in virtualized clouds. Future Gener Comp Sy 2018; 83: 75-84.
  • Wu J, Wang C, Li J. LA-credit: a load-awareness scheduling algorithm for xen virtualized platforms. In: Proceedings of IEEE International Conference on Big Data Security on Cloud; 9–10 April 2016; New York, NY, USA. New York, NY, USA: IEEE. pp. 234-239.
  • Miao T, Chen H. Flexcore: dynamic virtual machine scheduling using VCPU ballooning. Tsinghua Sci Technol 2015; 20; 7-16.
  • Xilong Q, Peng X. An energy-efficient virtual machine scheduler based on CPU share-reclaiming policy. International Journal of Grid and Utility Computing 2015; 6: 113-120.
  • Goto Y. Kernel-based virtual machine technology. Fujitsu Sci Tech J 2011; 47: 362-368.
  • Weng C, Wang Z, Li M, Lu X. The hybrid scheduling framework for virtual machine systems. In: Proceedings of the ACM International Conference on Virtual Execution Environments; 11–13 March 2009; Washington, DC, USA. New York, NY, USA: ACM. pp. 111-120.
  • Tseng Y, Chung Y. An enhanced CPU scheduler for xen hypervisor to improve performance in virtualized environment. Comm Com Inf Sc 2012; 7: 62-67.
  • Xu X, Shan P, Wan J, Jiang Y. Performance evaluation of the CPU scheduler in xen. In: 2008 International Symposium on Information Science and Engineering; 20–22 December 2008; Shanghai, China. New York, NY, USA: IEEE. pp. 68-72.