A Toolchain For Profiling Virtual Machines

Performance tuning is a common topic in the research domain High Performance Computing. Currently, various tools have been developed to help programmers understand the runtime execution behavior of their applications. It is clear that such tools are also required for performance analysis on virtual machines, where applications, together with their execution environment, sit on top of a virtualization layer rather than running directly on the physical machines. This work developed a toolchain (also called workflow system in the following), specifically for performance analysis on virtual machines. Starting with a profiling tool, the workflow system first collects the runtime performance data on both physical and virtual machines. The performance data are filtered, combined, transformed, and then delivered to a visualization tool, where graphical views are produced to demonstrate the performance difference between native executions and the execution on virtual machines. We tested the toolchain with standard benchmark applications running either sequentially or in parallel with multiple threads.