On 07/01/2014 11:24 AM, White, Joseph wrote:
> Will,
>
> We have two projects: XDMoD, which is the audit service for XSEDE and Open
> XDMoD, which is the LGPL licensed open-source version available at
> http://xdmod.sourceforge.net/. In a couple of weeks we will release a new
> version of XDMoD that has support for ingest/aggregation/display of
> performance metrics such as FLOPS, CPU usage, Application name, memory
> usage, memory bandwidth, etc. The XDMoD architecture supports data ingest
> from multiple different sources but all of the publicly available data is
> actually generated by the tacc_stats software
> (https://github.com/rtevans/tacc_stats), rather than PCP.
>
> The Open XDMoD releases lag slightly behind the XDMoD releases, but they
> are both based on the same code. It is likely that we will have support
> for PCP in a future open source release, but it is not available
> out-of-the box at the moment. If you are interested in following the
> progress there is a low traffic mailing list that we use to publish
> notifications about the planned releases:
> http://listserv.buffalo.edu/cgi-bin/wa?SUBED1=ccr-xdmod-list&A=1
>
>
> The pfm library supports multiple different architectures (arm s390 ppc
> ..) and the perfevent PMDA should be able to run anywhere libpfm runs. I
> don't think that there is any x86 specific code in the pmda, however I
> only have access to x86 hardware so I can't easily confirm this. The only
> change necessary should be to update the configuration file with sensible
> default values for the different PMUs.
>
>
> The pmda does depend on pthreads and mt and the library dependencies
> should be specified in the makefile. The compiled binary works for me on
> Centos 6.5 and Ubuntu 12.04 LTS, probably because the libpcp has
> dependencies on libpthreads and libm so the linker links them anyway. Note
> I've only ever run the perfevent pmda in daemon mode, since it needs root
> privileges.
>
>
> Joe
Hi Joe,
Thanks for explaining the relationship between PCP and XDMoD.
I was able to build the perfevent pmda on an arm machine. In general it looks
like
GNUmake should have "-lm -lpthread" added. Something like:
LLDLIBS = $(PCP_PMDALIB) -lpfm -lrt -lm -lpthread
How does one install the perfevent pmda/tests and run the tests? I
did try to run it but the results looked pretty questionable,
particularly when it gave a "result: PASS" on the arm machine. Then
again that might be due to the fakefs lying what kind of machine this
is. Given that the performance monitoring hardware is very processor
implementation specific is there some way to make the unit testing
more aware of what kind of machine it is really on?
To add support for new processors one would make entries in perfevent.conf?
The pmda.c mentions duty cycle and that it is possible to have
multiplexing. Is there any way to group related events together,
particularly ones that are used to derive ratio? For example have
memory references and cache misses in the same group and have floating
point operations in a separate group.
Should the following be removed in perfmanager.c:
/* REMOVE */
#include <string.h>
/* REMOVE */
Shouldn't PERF_ALLOC_LOCKFILE in perfmanager.h be tied to the location
that pcp is installed $(PMDADIR}//perflock rather than
assuming /var/lib/pcp/pmdas/perfevent/perflock is the correct place?
-Will
|