beautypg.com

1 introduction, Hpcpi, Hpcpi components – HP XC System 3.x Software User Manual

Page 17: Chapter 1: “introduction

background image

1 Introduction

The HP Continuous Profiling Infrastructure (HPCPI) and Xtools are performance analysis tools
for Linux systems running on HP Integrity Servers. HPCPI enables you to analyze the performance
and execution of programs and to identify ways to improve runtime performance. You can also
use HPCPI to analyze CPU events for a system.

The Xtools are performance visualization tools that enable you to monitor the performance and
resource utilization of a group of systems or nodes in an HP XC cluster, and to monitor the
performance of individual systems.

HPCPI

HPCPI provides low-overhead continuous profiling of images (executables, shared libraries, the
kernel, and loadable modules). HPCPI is a statistical sampling profiler that provides data based
on periodic sampling of hardware performance counters from the Performance Monitoring Unit
(PMU) of the microprocessor. The sample intervals are event based; at every nth occurrence of
an event (such as a CPU cycle), HPCPI records the location of the instruction pointer.

HPCPI enables you to do the following tasks:

Analyze applications without recompiling them.

You do not need to use any special link options or libraries when compiling programs that
you want to analyze.

Display performance data at multiple levels of granularity.
HPCPI utilities can display performance data for the following:
— A system. HPCPI partitions the data by image (binary file).
— An image. HPCPI partitions the data by procedure.
— A procedure in an image. HPCPI partitions the data by line of source code and assembly

instruction.

Viewing performance data partitioned per image for an application or system enables you
to identify which images are having the most effect on performance.

Viewing performance data partitioned per procedure or per line of instruction enables you
to identify areas of the application that are executed frequently, or areas where execution
is delayed because data or resources are not available.

Use labels to isolate performance data for processes, process groups, users, or CPUs.

You can associate labels with performance data according to characteristics such as process
ID (PID), parent PID, process group ID, user ID, and CPU number. A label can also isolate
performance data for code executed in a shared image (such as a library) that was called
from a specific process. You can also assign labels to specific sections of code (you must
insert instructions and recompile programs to do this;

“Creating Labels in Programs”

(page 67)

includes C and Fortran code examples).

Reanalyze and reformat HPCPI reports without retaking performance measurements. HPCPI
automatically saves performance data in databases, which enables you to run the HPCPI
analysis tools multiple times with the same data.

HPCPI Components

The HPCPI profiling system consists of the following components:

A kernel driver that retrieves data from the PMU.

The hpcpid daemon that retrieves data from the driver and writes it to the disk.

The hpcpictl utility that controls the daemon.

The following utilities that display and analyze HPCPI data:

HPCPI

17