pcp
[Top] [All Lists]

Re: [pcp] New perfevent PMDA

To: William Cohen <wcohen@xxxxxxxxxx>, "pcp@xxxxxxxxxxx" <pcp@xxxxxxxxxxx>
Subject: Re: [pcp] New perfevent PMDA
From: "White, Joseph" <jpwhite4@xxxxxxxxxxx>
Date: Tue, 1 Jul 2014 15:24:25 +0000
Accept-language: en-US
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <53B1D222.8010601@xxxxxxxxxx>
References: <CFD1D0CD.C138%jpwhite4@xxxxxxxxxxx> <53B1D222.8010601@xxxxxxxxxx>
Thread-index: AQHPkWQ7+Of6murkTkSMtOpXHkooOZuKb4wAgADuvwA=
Thread-topic: [pcp] New perfevent PMDA
User-agent: Microsoft-MacOutlook/14.4.2.140509
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


On 6/30/14, 5:09 PM, "William Cohen" <wcohen@xxxxxxxxxx> wrote:

>On 06/26/2014 01:29 PM, White, Joseph wrote:
>> Hi,
>> 
>> Attached is a perfevent PMDA for general review/comments/suggestions.
>>This linux-specific pmda exposes the hardware performance counters
>>available on recent x86 systems. This pmda has been running on our
>>cluster the last 10 months without problems (I've been meaning to submit
>>this for inclusion for a while!).
>> 
>> Notes:
>> 
>> The PMDA uses the libpfm4 library to access the hardware performance
>>counters so any counters that are supported in libpfm4 should be
>>available. Also included is the ability to read the Intel RAPL counters
>>via direct MSR access.
>> 
>> The PMDA supports automatically loading different counters for each
>>hardware architecture. A single configuration file is used to specify
>>the desired counters for each chipset family. The configuration file
>>allows different counters to be programmed on different CPUs and
>>supports round-robin assignment of uncore counters needed for some AMD
>>chips. The default configuration is known to work on Intel Sandybridge
>>EP, Intel Westmere DP, Intel Nehalem EX and Intel Core2 chipsets.
>> 
>> The PMDA accesses the system-wide hardware counters and runs as root.
>>This means that the hardware counters are unavailable to use by normal
>>unprivileged user applications when they are in use by the PMDA. The
>>PMDA provides a mechanism to temporarily disable the system-wide
>>counters in order to allow normal users to be able to use the counters
>>if they wish.
>> 
>> Build requirements:
>> - libpfm4
>> - flex
>> 
>> Cheers,
>> 
>> Joe
>> 
>
>
>Hi Joe,
>
>I am just starting to take a look at the perfevent pmda.
>
>You mentioned that perfevent pmda has been used for the past 10
>months. Is perfevent pmda being used to collect data for XDMoD
>(https://xdmod.ccr.buffalo.edu/)?
>
>People may want to run this on other architectures such as arm,
>aarch64, or power or at least build pcp on those architectures with
>same sources. Has there been attempt to compile the code on non-x86
>architectures
>so this won't break builds on Fedora or distributions with non-x86
>architectures?
>How portable is the perf event selection to non-x86 architectures?
>
>This might be an error on my part, but do the libraries for math and
>pthreads (-lm and -lphtread) need to be stated in the GNUmakefile or
>are those passed by $(PCP_PMDALIB)?
>
>
>-Will
>

<Prev in Thread] Current Thread [Next in Thread>