CCHybrid: CPU co‐scheduling in virtualization environment. (20th June 2017) - Yu, Linchen
Summary: Virtualization is very important to build the emerging cloud infrastructure, and a VM (virtual machine) with many kinds of workloads can run on physical machines in cloud environment. The VMM (virtual machine manager) scheduling algorithm asynchronously schedules each VCPU (virtual CPU) of a VM and ensures the CPU time usage of each VM. This proportional share method is widely used, because it simplifies the implementation of VMM CPU scheduling algorithm and can provide near‐perfect performance for most ordinary workloads. However, when a VM runs with parallel workloads, the above method causes performance degradation because of the negative impact of virtualized systems. Therefore, in this paper, we propose an optimized scheduling system, called CCHybrid, for parallel program in the Xen. It uses weight‐based proportion share strategy to ensure the fairness. In order to resolve the impact of virtualization on synchronization, it uses a novel co‐scheduling strategy, which dynamically adjusts the size of co‐scheduling to remit CPU fragmentation and maintains the original asynchronous scheduling policy for non‐parallel applications. In this way, CCHybrid provides CPU resource allocation services for Xen and can decrease the negative impact of virtualized systems, while ensuring the fairness of VMs and the performance of non‐parallel workload. Experimental results show that in the case of multiple VMs, CCHybrid improves the performance of parallel workload from 15% to 50%, and the impact on non‐parallel workload is less than 5%, in comparison with the credit scheduling algorithm of Xen.