In this paper, we will present our research work on improving the real-time qualities the Linux hypervisor KVM can provide to its guests. We will specifically focus on a new paravirtualized scheduling interface. It allows guests to influence the scheduling parameters of their virtual CPUs (VCPU) on the host. This, in turn, enables the Linux host to account for real-time load inside guest systems by prioritizing VCPUs properly so that batch load both in other guests as well as on the host itself does not unacceptably interfere.
We will introduce the design of our paravirtual scheduling interface as well as selected implementation aspects. Based on experimental results and theoretical analysis, we will discuss which real-time guarantees KVM is able to provide, what PREEMPT-RT can additionally contribute to this, and sketch potential future improvements.
Download paper as pdf file