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
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
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
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
Example Command Line for Text Report
$ caliper pmu_trace
Example Command Line for CSV Report
$ caliper pmu_trace
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
Example Command Line for CSV Report
$ caliper scgprof
pmu_trace Measurement Report Description 211