Performance Monitor Counter Virtualization on ARM Architecture with Hardware Virtualization Extension

碩士 === 國立交通大學 === 資訊科學與工程研究所 === 103 === Virtualization is comprehensively applied in a variety of different domains, including emerging cloud environments that provide full virtualized operation system as a service. The demand for performance analysis and system diagnosis in virtualization enviro...

Full description

Bibliographic Details
Main Authors: Hou, Yi-Hung, 侯宜宏
Other Authors: Hsu, Wei-Chung
Format: Others
Language:en_US
Published: 2014
Online Access:http://ndltd.ncl.edu.tw/handle/02767354489149972909
Description
Summary:碩士 === 國立交通大學 === 資訊科學與工程研究所 === 103 === Virtualization is comprehensively applied in a variety of different domains, including emerging cloud environments that provide full virtualized operation system as a service. The demand for performance analysis and system diagnosis in virtualization environment is increasing. Profiling tools based on hardware performance counters are necessary for performance debugging of complex software system. All modern processors are equipped with hardware performance counters, but virtual machine monitors (VMMs) do not expose them to the guest virtual machines. Therefore, profiling tools commonly used in native environments are not available in virtualized environments, and performance analysis of software running in a virtualized environment is contrastively difficult. With virtualization hardware extension since ARM Cortex A15, system virtualization on ARM architecture supports full virtualization and earns great performance improvement. However, the hardware performance counters are still untouchable to the guest virtual machines on ARM architecture. This thesis describes the design and implementation of hardware performance counters virtualization that is used to access in the guest virtual machines on ARM architecture with hardware virtualization extension. We present experimental results based on microbenchmarks that show the accuracy and usability of the obtained measurements when compared to native execution.