In virtualized environments, oversubscribing virtual CPUs (vCPUs) on physical CPUs (pCPUs) is common to utilize CPU resources efficiently. Unfortunately, excessive vCPU spinning, which occurs when a vCPU is waiting in a spin loop for an event from a descheduled vCPU, causes serious performance degradation. Usually, the VM-agnostic hypervisor tries to prevent excessive vCPU spinning by rescheduling vCPUs when an excessive spin is detected by hardware support for virtualization. This paper investigates the effectiveness of KVM vCPU scheduler and shows it fails to avoid excessive vCPU spinning in many opportunities. Our in-depth analysis reveals simple modifications to KVM (41 LOC) improve the mitigation of excessive vCPU spinning. We have identified three problems: 1) scheduler mismatch, 2) lost opportunity, and 3) overboost. The first problem comes from the mismatch between the KVM vCPU scheduler and the Linux scheduler. The second and third problems come from an inefficient algorithm for choosing the next candidate vCPU to be scheduled. Our simple modifications gracefully resolves the problems and the performance improves by up to 80 %. Our results imply the VM-agnostic hypervisor can resolve excessive vCPU spinning more gracefully than previously believed.
Fri 16 AprDisplayed time zone: Pacific Time (US & Canada) change
07:00 - 08:30 | |||
07:00 30mTalk | Effective Exploitation of SIMD Resources in Cross-ISA Virtualization Research Papers Jin Wu , Jian Dong , Ruili Fang , Ziyi Zhao Nankai University, Xiaoli Gong Nankai University, Wenwen Wang University of Georgia, Decheng Zuo DOI | ||
07:30 30mTalk | Swift Shadow Paging (SSP): No Write-Protection but Following TLB Flushing Research Papers Sai Sha , Yi Zhang , Yingwei Luo , Xiaolin Wang Peking University, Zhenlin Wang Michigan Technological University DOI | ||
08:00 30mTalk | Mitigating Excessive vCPU Spinning in VM-Agnostic KVM Research Papers DOI |