Performance analysis and troubleshooting of cloud applications are challenging. In particular, identifying the root causes of performance problems is quite difficult. This is because profiling tools based on processor performance counters do not yet work well for an entire virtualized environment, which is the underlying infrastructure in cloud computing. In this work, we explore an approach for unified performance profiling of an entire virtual environment by sampling only at the virtual machine monitor (VMM) level and applying common-time-based analysis across the entire virtual environment from a VMM to all guests on a host machine. Our approach involves three steps: centralized data sampling at VMM-level, generation of symbol map for running programs in guests, and unified analysis of the entire virtualized environment with common time by the host-time-axis. We also describe the design of unified profiling for an entire virtual machine (VM) environment, and we actually implement a unified VM profiler based on hardware performance counters. Finally, our results demonstrate accurate profiling. In addition, we achieved a lower overhead than in a previous study as a result of having no additional context switches by the virtual interrupt injection into the guest during measurement.
['Masao Yamamoto', 'Miyuki Ono', 'Kohta Nakashima', 'Akira Hirai']
Unified Performance Profiling of an Entire Virtualized Environment