Optimierung der Schnittstelle zwischen Hypervisor und Betriebssystemkern bei virtuellen Maschinen

Language
de
Document Type
Doctoral Thesis
Issue Date
2009-01-08
Issue Year
2008
Authors
Höxer, Hans-Jörg
Editor
Abstract

In this thesis a method is developed, that optimizes the interface between the hypervisor of a virtual machine and the guest operating system run on the virtual machine. It is the goal of the optimization to reduce expensive hypervisor calls of the guest operating system by either combining or avoiding calls. The fundamental idea of the developed method is to find sequences of privileged instructions in the control flow of the guest operating system. As these instructions result in hypervisor calls they have impact on the overhead introduced by virtualization. Examination of the found sequences allows to deduce possible modification for both the guest operating system and the hypervisor to meet the goals. The virtual machine FAUmachine is modified to log sequences of privileged instructions in a guest operating system while running it on the virtual machine. The generated log files are examined for sequences by constructing the nondeterministic recognizing automaton of the log and deriving sequences from the states of the automaton. To evaluate derived sequences regarding length and frequency their so called significance is calculated which allows to identify those sequences that contribute clearly to the virtualization overhead. A number of tools is developed to perform all these steps in an automated fashion. Using this method the operating system OpenBSD is analyzed and based on the found sequences some modifications are implemented that reduce the virtualization overhead. The virtue of these optimizations is proofen by re-evaluating the modified system with the described method.

Abstract

In dieser Arbeit wird ein Verfahren entwickelt, das zur Optimierung der Schnittstelle zwischen dem Hypervisor einer virtuellen Maschine und dem darauf ausgeführten Gastbetriebssystem dient. Das Ziel der Optimierung ist, teure Aufrufe des Hypervisors durch das Betriebssystem zu reduzieren, indem Aufrufe zusammengefasst oder ganz vermieden werden. Die grundlegende Idee des entwickelten Verfahrens ist, Sequenzen privilegierter Instruktionen im Kontrollfluss des Gastbetriebssystems zu erkennen, da diese Instruktionen Aufrufe des Hypervisors zur Folge haben und somit den Virtualisierungsaufwand beeinflussen. Die Untersuchung erkannter Sequenzen läßt Rückschlüsse auf mögliche Modifikationen am Gastbetriebssystem und dem Hypervisor zur Umsetzung der genannten Ziele zu. Zur Erkennung von Sequenzen wird die virtuelle Maschine FAUmachine so modifiziert, dass privilegierte Instruktionen im Kontrollfluss eines Gastbetriebssystems, das auf FAUmachine ausgeführt wird, protokolliert werden. Ein so gewonnenes Protokoll wird nach Sequenzen durchsucht, indem der nichtdeterministische erkennende Automat zu dem Protokoll konstruiert wird, an dem sich dann existierende Sequezen ablesen lassen. Zur Bewertung gefundener Sequenzen bezüglich ihrer Länge und Häufigkeit wird deren Signifkanz berechnet, welche es ermöglicht, die Sequenzen zu identifizieren, die einen hohen Anteil am Virtualisierungsaufwand haben. Diese Schritte werden mit einer Reihe von Werkzeugen implementiert, die eine automatische Untersuchung eines Gastbetriebssystems ermöglichen. Das Betriebssystem OpenBSD wird mit dem entwickelten Verfahren analysiert und basierend auf den gefundenen Sequenzen prototypisch durch Modifikationen optimiert. Die Wirksamkeit der vorgenommenen Optimierungen wird durch erneutes Analysieren des optimierten Systems mit dem entwickelten Verfahren geprüft und nachgewiesen.

DOI
Document's Licence
Faculties & Collections
Zugehörige ORCIDs