Bhatia, Nikhil
2007-May-18 19:15 UTC
[Xen-devel] Performance Counter Virtualization in Xen
Hello Xenthusiasts, I have a few questions regarding the performance monitoring of applications and domains running on the latest version of Xen VMM via the performance monitoring counters available in x86 architectures. - I have used Xenoprof by patching Xen-3.0.2 Xenolinux and the Oprofile layer which enabled me to collect performance counter values per domain (for a passive domain) and per application (for an active domain). I was able to perform the profiling via command line interface using Opcontrol and then reporting the counters using Opreport. However, I was unable to find a way to profile an application (using an API like PAPI) because the perfctr port was not available for Xen. Is there a way through which applications can be monitored using performance counters? - Is there a Xen tool/utility which provides meaningful information about per-domain metrics for dynamic memory usage (e.g. reserved memory by Xen, total heap size in use, swap space reserved per domain etc.), I/O done to/from the disc and the bytes sent/received from the network over fixed intervals of time? Thanks, Best Regards, Nikhil _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Santos, Jose Renato G
2007-May-18 20:42 UTC
RE: [Xen-devel] Performance Counter Virtualization in Xen
You are right, currently the only available tool for using hardware performance counters in Xen is XenOprofile. To expose a more generic API to guests such as Perfmon, we would need to virtualize performance counters. One of the challenges of virtualizing performance counters is the high cost of saving and restoring perf. counters on domain context switches. It may be possible to do some optimizations such as lazy save/restore that could help. Also it is expected that the cost for accessing performance counters is going to be better in new processors that are coming out from Intel and AMD. afaik, no one is actively working on virtualizing HW performance counters in Xen. For other software metrics such as number of I/O operations you can try Xenmon which report values of Xen performance counters (i.e SW counters). Regards Renato ________________________________ From: xen-devel-bounces@lists.xensource.com [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Bhatia, Nikhil Sent: Friday, May 18, 2007 12:15 PM To: xen-users@lists.xensource.com Cc: xen-devel@lists.xensource.com Subject: [Xen-devel] Performance Counter Virtualization in Xen Hello Xenthusiasts, I have a few questions regarding the performance monitoring of applications and domains running on the latest version of Xen VMM via the performance monitoring counters available in x86 architectures. - I have used Xenoprof by patching Xen-3.0.2 Xenolinux and the Oprofile layer which enabled me to collect performance counter values per domain (for a passive domain) and per application (for an active domain). I was able to perform the profiling via command line interface using Opcontrol and then reporting the counters using Opreport. However, I was unable to find a way to profile an application (using an API like PAPI) because the perfctr port was not available for Xen. Is there a way through which applications can be monitored using performance counters? - Is there a Xen tool/utility which provides meaningful information about per-domain metrics for dynamic memory usage (e.g. reserved memory by Xen, total heap size in use, swap space reserved per domain etc.), I/O done to/from the disc and the bytes sent/received from the network over fixed intervals of time? Thanks, Best Regards, Nikhil _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Christian Ehrhardt
2007-May-21 06:36 UTC
Re: [Xen-devel] Performance Counter Virtualization in Xen
Well it''s not "x86 architectures", but the current profiling support in xen on powerpc allows the use of performance counters from the domains as used from non-virtualized environments. It is currently only tested with oprofile and has to be considered experimental because there are some known issues, but depending on your needs this might work for you. As far as I read on http://icl.cs.utk.edu/papi/custom/index.html?lid=62&slid=96 PAPI has PPC970 support. I do not know PAPI in detail, but it is possible that you can run it with less/no patching xen/linux on the current xenppc head. Santos, Jose Renato G wrote:> You are right, currently the only available tool for using hardware > performance counters in Xen is XenOprofile. To expose a more generic > API to guests such as Perfmon, we would need to virtualize performance > counters. One of the challenges of virtualizing performance counters > is the high cost of saving and restoring perf. counters on domain > context switches. It may be possible to do some optimizations such as > lazy save/restore that could help. Also it is expected that the cost > for accessing performance counters is going to be better in new > processors that are coming out from Intel and AMD. afaik, no one is > actively working on virtualizing HW performance counters in Xen. > > For other software metrics such as number of I/O operations you can > try Xenmon which report values of Xen performance counters (i.e SW > counters). > Regards > > Renato > > ------------------------------------------------------------------------ > *From:* xen-devel-bounces@lists.xensource.com > [mailto:xen-devel-bounces@lists.xensource.com] *On Behalf Of > *Bhatia, Nikhil > *Sent:* Friday, May 18, 2007 12:15 PM > *To:* xen-users@lists.xensource.com > *Cc:* xen-devel@lists.xensource.com > *Subject:* [Xen-devel] Performance Counter Virtualization in Xen > > Hello Xenthusiasts, > > > > I have a few questions regarding the performance monitoring of > applications and domains running on the latest version of Xen VMM > via the performance monitoring counters available in x86 > architectures. > > > > - I have used Xenoprof by patching Xen-3.0.2 Xenolinux > and the Oprofile layer which enabled me to collect performance > counter values per domain (for a passive domain) and per > application (for an active domain). I was able to perform the > profiling via command line interface using Opcontrol and then > reporting the counters using Opreport. However, I was unable to > find a way to profile an application (using an API like PAPI) > because the perfctr port was not available for Xen. Is there a way > through which applications can be monitored using performance > counters? > > > > - Is there a Xen tool/utility which provides meaningful > information about per-domain metrics for dynamic memory usage > (e.g. reserved memory by Xen, total heap size in use, swap space > reserved per domain etc.), I/O done to/from the disc and the bytes > sent/received from the network over fixed intervals of time? > > > > > > Thanks, > > Best Regards, > > Nikhil > > ------------------------------------------------------------------------ > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel >-- Grüsse / regards, Christian Ehrhardt IBM Linux Technology Center, Open Virtualization +49 7031/16-3385 Ehrhardt@linux.vmnet.ibm.com Ehrhardt@de.ibm.com IBM Deutschland Entwicklung GmbH Vorsitzender des Aufsichtsrats: Johann Weihen Geschäftsführung: Herbert Kircher Sitz der Gesellschaft: Böblingen Registergericht: Amtsgericht Stuttgart, HRB 243294 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Bhatia, Nikhil
2007-May-21 06:52 UTC
RE: [Xen-devel] Performance Counter Virtualization in Xen
Hi Christian, Does the power PC still use the PM API for getting performance counters? I think, PAPI uses PMAPI underneath to get the performance counter data on a power PC. So, if there is a patched PMAPI library available for the Xen port on power PC, then a user might be able to easily use PAPI for per-domain profiling. Currently, I don''t have an access to a Power PC machine with root privileges. However, if I get hold of such a machine, I would love to try this out and share my findings. Thanks, Nikhil -----Original Message----- From: Christian Ehrhardt [mailto:ehrhardt@linux.vnet.ibm.com] Sent: Monday, May 21, 2007 2:37 AM To: Santos, Jose Renato G Cc: Bhatia, Nikhil; xen-users@lists.xensource.com; xen-devel@lists.xensource.com; xen-ppc-devel@lists.xensource.com Subject: Re: [Xen-devel] Performance Counter Virtualization in Xen Well it''s not "x86 architectures", but the current profiling support in xen on powerpc allows the use of performance counters from the domains as used from non-virtualized environments. It is currently only tested with oprofile and has to be considered experimental because there are some known issues, but depending on your needs this might work for you. As far as I read on http://icl.cs.utk.edu/papi/custom/index.html?lid=62&slid=96 PAPI has PPC970 support. I do not know PAPI in detail, but it is possible that you can run it with less/no patching xen/linux on the current xenppc head. Santos, Jose Renato G wrote:> You are right, currently the only available tool for using hardware > performance counters in Xen is XenOprofile. To expose a more generic > API to guests such as Perfmon, we would need to virtualize performance > counters. One of the challenges of virtualizing performance counters > is the high cost of saving and restoring perf. counters on domain > context switches. It may be possible to do some optimizations such as > lazy save/restore that could help. Also it is expected that the cost > for accessing performance counters is going to be better in new > processors that are coming out from Intel and AMD. afaik, no one is > actively working on virtualizing HW performance counters in Xen. > > For other software metrics such as number of I/O operations you can > try Xenmon which report values of Xen performance counters (i.e SW > counters). > Regards > > Renato > > ------------------------------------------------------------------------ > *From:* xen-devel-bounces@lists.xensource.com > [mailto:xen-devel-bounces@lists.xensource.com] *On Behalf Of > *Bhatia, Nikhil > *Sent:* Friday, May 18, 2007 12:15 PM > *To:* xen-users@lists.xensource.com > *Cc:* xen-devel@lists.xensource.com > *Subject:* [Xen-devel] Performance Counter Virtualization in Xen > > Hello Xenthusiasts, > > > > I have a few questions regarding the performance monitoring of > applications and domains running on the latest version of Xen VMM > via the performance monitoring counters available in x86 > architectures. > > > > - I have used Xenoprof by patching Xen-3.0.2 Xenolinux > and the Oprofile layer which enabled me to collect performance > counter values per domain (for a passive domain) and per > application (for an active domain). I was able to perform the > profiling via command line interface using Opcontrol and then > reporting the counters using Opreport. However, I was unable to > find a way to profile an application (using an API like PAPI) > because the perfctr port was not available for Xen. Is there a way > through which applications can be monitored using performance > counters? > > > > - Is there a Xen tool/utility which provides meaningful > information about per-domain metrics for dynamic memory usage > (e.g. reserved memory by Xen, total heap size in use, swap space > reserved per domain etc.), I/O done to/from the disc and the bytes > sent/received from the network over fixed intervals of time? > > > > > > Thanks, > > Best Regards, > > Nikhil > > ------------------------------------------------------------------------ > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel >-- Grüsse / regards, Christian Ehrhardt IBM Linux Technology Center, Open Virtualization +49 7031/16-3385 Ehrhardt@linux.vmnet.ibm.com Ehrhardt@de.ibm.com IBM Deutschland Entwicklung GmbH Vorsitzender des Aufsichtsrats: Johann Weihen Geschäftsführung: Herbert Kircher Sitz der Gesellschaft: Böblingen Registergericht: Amtsgericht Stuttgart, HRB 243294 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Mark Williamson
2007-May-30 10:49 UTC
Re: [Xen-devel] Performance Counter Virtualization in Xen
> Hello Xenthusiasts,> - Is there a Xen tool/utility which provides meaningful > information about per-domain metrics for dynamic memory usage (e.g. > reserved memory by Xen, total heap size in use, swap space reserved per > domain etc.), I/O done to/from the disc and the bytes sent/received from > the network over fixed intervals of time?Network IO you should be able to monitor by looking at the stats associated with the vif to the domain in dom0 (at least for paravirt vifs). Block IO, I''m not so sure of the mechanism. Regarding swap space - all the swapping is done by the domain itself onto a virtual block device you''ve provided it. If you give it a separate virtual block device and configure it to use that for swap then monitoring that VBD would give you an idea of swap activity - but not current swap use. If you want to know domain-internal stats, such as swap use, the easiest approach is to get the domain to stick some entries in XenStore to tell you. The nearest to the tool you want would be "xm top" or "xenmon", however I think these still don''t monitor all the things you''re interested in. HTH, Mark -- Dave: Just a question. What use is a unicyle with no seat? And no pedals! Mark: To answer a question with a question: What use is a skateboard? Dave: Skateboards have wheels. Mark: My wheel has a wheel! _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel