Analysis of virtual computer systems: performance and security

Virtualizing physical resources of a computer system can improve resource sharing and utilization. Virtualization is the pooling and abstraction of resources in a way that masks the physical. nature and boundaries of the resources from the users. The goal of this project was to analyze primarily the performance aspects of virtualization and understand security implications. This project report presents an overview of virtualization and discusses the key technologies behind it. The report then analyzes the key features of the Intel® Virtualization Technology and AMD® SVM Technology for hardware virtualization, outlining the new instructions and hardware extensions introduced. A detailed performance analysis of various virtual environments and technologies are presented. Initially, comparison between physical and virtual environment is made at the architectural level by analyzing the perl, anagram and gee benchmarks using Simics execution environment. Then, the report presents the performance data for another benchmark (SPEC2006) for three different Virtual Machine Monitors (VMMs) and provides a detailed performance analysis of the VMMs. A detailed analysis of Xen is included based on the profiling done using Xenoprof to highlight the causes behind the performance bottlenecks. Finally, security aspects of virtualization are discussed and analyzed.