[Xen-devel] Perfctr-Xen framework for permonace analysis
I want to make an announcement about new perfomance monitoring framework.
Perfctr-Xen framework that enables per-thread performance analysis in Xen.
Current version is capable of properly virtualizing counters in both
paravirtualized and HVM modes. It is based on perfctr (which is a library and
kernel module for non-virtualized guests), ported to Xen, and extended to work
properly in virtualized environment. Both accumulative and interrupt modes
counting (profiling) are supported.
The advantage of Perfctr-Xen is that it does not require specific HVM
extensions which are needed for vpmu driver, can work in paravirtualized mode,
and it also quite universal: works with many common tools such as PAPI,
HPCToolkit, TAU PerfExplorer. It supports proper per-domain and per-thread
virtualization. It is light-weight, supports wide range of CPUs, does not
require save-and-restore for accumulative mode of counting (it uses counter
offsetting), avoids expensive hypercalls and counter re-programming in certain
circumstances (when threads are counting the same type of events). In addition,
some techniques are employed to account for the overhead caused by the
framework itself. This makes measurements quite accurate.
Perfctr-Xen consists of series of patches that need to be applied to Xen,
Linux, perfctr. There are available at:
The code is available under LGPL. It would be great to discuss if and how it
can be integrated into Xen.
The publication regarding Perfctr-Xen is at:
Xen-devel mailing list