STC: Improving the Performance of Virtual Machines Based on Task Classification

2020 
Virtualization technology provides crucial support for cloud computing, and the virtual CPU (vCPU) scheduling in a virtualization system is one of the key factors to determine the system’s performance. However, due to the semantic gap in the virtualization system, the mainstream current scheduling policy does not take the tasks’ characteristics and spin lock into account, which leads to performance degradation in a virtual machine. This paper proposes a vCPU scheduling system STC (Virtual CPU Scheduling Based on Task Classification) in KVM to bridge the semantic gap. In STC, every virtual machine is configured with two types of vCPUs, among which the one with a shorter scheduling period is called the short vCPU (svCPU) and the ones with the default period are called the long vCPU (lvCPU). STC utilizes the Naive Bayes classifier to classify the tasks, and the I/O-bound tasks are allocated to the svCPU, while the CPU-bound tasks are processed by lvCPUs. Correspondingly, in a host, two types of physical CPUs, the sCPU and lCPUs, are set to process the thread svCPU and lvCPUs. Moreover, lvCPUs adopt dispersive scheduling to alleviate Lock-Holder Preemption (LHP). STC improves the I/O response speed and saves the resources. Compared with the default algorithm, STC has achieved an 18% time delay decrease, a 17%–25% bandwidth improvement, and a 21% overhead decrease and ensured the fairness of the whole system.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    16
    References
    0
    Citations
    NaN
    KQI
    []