Journals / Turkish Journal of Electrical Engineering and Computer Sciences / 2018 / Cilt: 26 - Sayı: 5

Dynamic CPU scheduling for load balancing in virtualized environments

Pages
2512–2524
DOI
—

Abstract

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.