Non-contiguous cache lines are separated by a row of tildes (“~ ~ ~ ~”).

How Instruction TLB Metrics Are Obtained

HP Caliper obtains instruction TLB metrics from the processor's performance monitoring unit (PMU).

Exact counts are obtained from the PMU's performance monitor configuration (PMC)/performance monitor data (PMD) register pairs. Sampled instruction TLB metrics are obtained from the PMU's instruction event address register (I-EAR).

HP Caliper takes samples every Nth instruction TLB miss, where N is defined in the itlb measurement configuration file in the HP Caliper home directory config subdirectory. At each sample point, HP Caliper records both the cache line that resulted in an instruction TLB miss and the level of the TLB hierarchy that satisfied the miss (L2 instruction TLB, HPW, or software). You can override the value in the measurement configuration file by using the -soption.

HP Caliper attributes samples for a given cache line to the function associated with the start address of the cache line. Because cache lines can cross function boundaries, data attributed to functions will not always be completely accurate. However, only cache-line data at the boundaries of the function are potentially misattributed.

Frequent sampling increases HP Caliper's perturbation of your application. In the extreme case of taking one sample for each TLB miss event, the kernel will trap on every event, making the resulting data of limited, if any, value.

pmu_trace Measurement Report Description

With the pmu_trace measurement, produced by the pmu_trace measurement configuration file, HP Caliper measures traces of sampled PMU data associated with the application for each kernel thread. This data includes cache misses, TLB misses, ALAT misses, branch mispredictions, instruction addresses, and CPU events.

These metrics are sampled using the processor's performance monitoring unit (PMU). The number of metrics HP Caliper can accumulate during a single run of your application is constrained by the underlying PMU. These constraints are described in the pmu_trace measurement configuration file.

The CPU events you can choose from are listed in the file itanium2_cpu_counters.txt, located in the HP Caliper home directory in the doc/text subdirectory.

The pmu_trace measurement always reports kernel-thread data whether the --threadoption is specified or not.

Example Command Line for Text Report

$ caliper pmu_trace -o reports/samplecpu.txt ./wordplay thequickbrownfox

Example Command Line for CSV Report

$ caliper pmu_trace --csv csvout ./wordplay thequickbrownfox

scgprof Measurement Report Description

With the scgprof measurement, produced by the scgprof measurement configuration file, HP Caliper measures and reports both flat and call graph profiles (much like standard gprof).

The call graph is produced by statistical sampling of the processor's performance monitoring unit (PMU) to determine function calls in an application. The call graph is not exact, because it does not show every function call, but it is statistically useful.

Example Command Line for Text Report

$ caliper scgprof -o reports/scgprof.txt ./wordplay thequickbrownfox

Example Command Line for CSV Report

$ caliper scgprof --csv csvout ./wordplay thequickbrownfox

pmu_trace Measurement Report Description 211