Logo image
Processor virtualization and optimization for KVM-ARM
Thesis

Processor virtualization and optimization for KVM-ARM

Song, Shiang-Wei
Masters, 國立清華大學, 資訊工程學系
2010

Abstract

系統虛擬化 特權指令 例外事件 暫存器檔案 Armenia para-virtualization System virtualization privileged instruction exception vector, register files Armenia para-virtualization
With the advance of technology, virtualization has a chance to be applied in embedded devices. It can make embedded device to run in more secure environment, and let multiple operating systems simultaneously run in one machine for more application. Therefore, embedded virtualization will be developed in the future. KVM (kernel virtual machine) is one of open-source system virtualization tools. It has supported x86, PowerPC and so on, but not supported arm architecture yet. Consequently, this paper introduces a new system virtualization based on KVM for ARM V6 architecture, and emphasizes the content about processor virtualization. KVM-ARM lightly modified guest kernel’s source code by para-virtualization to fully monitor and emulate all the privileged instruction in guest, moreover, held up every exception, dispatching these exceptions into KVM exception handler or host’s exception handler after analysis. In addition, this paper designed an optimization to reduce a large number of instruction emulations. It transformed guest’s privileged instructions into non-privileged instructions in view of register files in advance. Therefore, guest system will not be trapped when running in virtual environment. Finally, this paper used Mibench and Lmbech to evaluate guest’s performance when guest runs in virtual machine KVM-ARM emulated. In terms of experiments, KVM-ARM-Opt’s performance improvement is about 10%-30% in user space, and about 10% in Kernel basic operations.

Metrics

1 Record Views

Details

Logo image