Performance evaluation is a very important step in identifying bottlenecks in systems. Virtualized environments such as Xen provide only a limited performance monitoring support in the HVM mode (vpmu driver for the HVM mode relies on CPU specific hardware virtualization features), and there is only support for XenOProfile in the paravirtualized mode. XenOProfile is a framework that does a system wide monitoring, and it can be limiting for many users. Likewise, HVM driver may not satisfy users because it only works on a limited subset of CPUs. Not to mention that HVM mode is less common than the paravirtualized mode.

Perfctr-Xen is a universal framework allowing virtualization of hardware counters, so that performance analysis toolkits can operate properly in Xen. It is very efficient and can work in both HVM and paravirtualized modes. A wide range of toolkits such as PAPI, HPCToolkit and TAU PerfExplorer are supported. Also, any toolkit that works on top of perfctr or PAPI is likely to work. In general, perfctr-xen framework can be viewed as on figure below.

Perfctr-Xen framework

To enable perfctr-xen, you need to do patching of the mainstream Xen, perfctr, and Linux components. Read the detailed installation instructions here.

This material is based upon work supported by the National Science
Foundation under Grant No. 0720673.

Any opinions, findings, and conclusions or recommendations expressed in
this material are those of the author(s) and do not necessarily reflect the
views of the National Science Foundation.