172
POWER7 and Optimization and Tuning Guide
Empirical performance analysis using the IBM SDK for PowerLinux
After you apply the best high-level optimization techniques, a deeper level of analysis might
be required to gain more performance improvements. You can use the IBM SKD for
PowerLinux to help you gain these improvements.
The IBM SDK for PowerLinux is a set of tools that support:
Hot spot analysis
Analysis of ported code for missed platform-specific optimization
Whole program analysis for coding issues, for example, pipeline hazards, inlining
opportunities, early exits and hidden path length, devirtualization, and branch
prediction hints
Lock contention and IO delay analysis
The IBM SDK for PowerLinux can be found at:
http://www14.software.ibm.com/webapp/set2/sas/f/lopdiags/sdklop.html
The SDK provides an Eclipse C/C++ IDE with Linux tools integrations. The SDK provides
graphical presentation and source code view integration with Linux execution profiling
(
gprof
/
Oprofile
), malloc and memory usage (
valgrind
), pthread synchronization (
helgrind
),
SystemTap tapsets, and tapset development.
Hotspot analysis
You should profile the application and look for hotspots. When you run the application under
one or more representative workloads, use a hardware-based profiling tool such as
OProfile
.
OProfile
can be run directly as a command-line tool or under the IBM SDK for PowerLinux.
The
OProfile
tools can monitor the whole system (LPAR), including all the tasks and the
kernel. This action requires root authority, but is the best way to profile the kernel and
complex applications with multiple cooperating processes.
OProfile
is fully enabled to take
samples using the full set of the PMU events (run
ophelp
for a complete list of events).
OProfile
can produce text file reports organized by process, program and libraries, function
symbols, and annotated source file and line number or machine code disassembly.
The IBM SDK can profile applications that are associated with Eclipse projects. The SDK
automates the setup and running of the profile, but is restricted to a single application, its
libraries, and direct kernel calls. The SDK is easier to use, as it is hierarchically organized by
percentage with program, function symbol, and line number. Clicking the line number in the
profile pane
jumps
the source view pane to the matching source file and line number. This
action simplifies edit, compile, and profile tuning activities.
The whole system profile is a good place to start. You might find that your application is
consuming most of the CPU cycles, and deeper analysis of the application is the next logical
step. The IBM SDK for PowerLinux provides a number of helpful tools, including integrated
application profiling (
OProfile
and
valgrind
), Migration Assistant, and the Source
Code Advisor.
Summary of Contents for Power System POWER7 Series
Page 2: ......
Page 36: ...20 POWER7 and POWER7 Optimization and Tuning Guide...
Page 70: ...54 POWER7 and POWER7 Optimization and Tuning Guide...
Page 112: ...96 POWER7 and POWER7 Optimization and Tuning Guide...
Page 140: ...124 POWER7 and POWER7 Optimization and Tuning Guide...
Page 162: ...146 POWER7 and POWER7 Optimization and Tuning Guide...
Page 170: ...154 POWER7 and POWER7 Optimization and Tuning Guide...
Page 223: ......