2019-05-22 - 18:52

Is it possible to run a Kernel-based Virtual Machine (kvm) without affecting the real-time capabilities of the host system?

Title

Is it possible to run a Kernel-based Virtual Machine (kvm) without affecting the real-time capabilities of the host system?

Authors

Carsten Emde, Michael Kremer, Jörg Müller

Author Information

Open Source Automation Development Lab (OSADL), Homag, Germany

Abstract

Virtualization has, among others, the potential to increase the longevity of a system design, to reduce the number of separate hardware devices, to increase the mean-time between failures, and to facilitate testing and debugging; thus, it is also of special interest for embedded real-time systems. The virtual machine, however, closely interacts with the operating system and, in the case of hardware-supported virtualization such as Intel's vmx or AMD's svm, also with internal execution paths of the processor. The question, therefore, arises, to what extent virtualization may have an impact on the real-time capabilities of the host system.

The measurements were made on standard Intel motherboards (Core 2 Duo/Quad, 2.0 to 2.4 GHz) running Linux 2.6.21 and above equipped with the Realtime-Preempt patches. Virtualization was obtained using the Kernel-based virtual machine (kvm) running unpatched Fedora 7 and Windows XP as guest systems. The scheduling latency was determined using consecutively triggered runs of timed threads using Thomas Gleixner's cyclictest application.                   

Condition

Scheduling latency (us)

No kvm, no X11

25 to  35

No kvm, with X11

110 to 300

kvm, no X11

25 to  35

kvm, with X11

110 to 300

The results show that kvm can be used without major impact on the real-time capabilities of the host system. The primary cause of delayed latency appears to be the X Window System. Additional work is needed to locate the latency sources in the X Window System (server, graphics driver) and to investigate possible strategies of removal.

Keywords

Realtime-Preempt Patches, Kernel-based Virtual Machine, X11