HPC Profiling with the Sun Studio Performance Tools
Source: Sun Microsystems
It is all about complementing existing profilers with new visualizations that help specific optimization tasks. This paper provides two profiling blueprints that can be used to identify and remove performance bottlenecks. The two profiling blueprints include Structural Distribution Blueprint (SDP) that represents the distribution of the CPU effort along the program structure, and the Behavioral Distribution Blueprint (BDB), which depicts distribution along method invocations and identifies methods prone to one class of optimization - caching. These two blueprints are used in the paper to optimize Mondrian, an open source visualization engine. Time profiling blueprints are graphical representations meant to help programmers assess the time distribution and identify bottlenecks and give hints to remove problems that arrive with a given program execution. The blueprints are graphically rendered as polymetric views. A polymetric view is a lightweight software visualization enriched with software metrics. It has been successfully used to provide software maps and to help software comprehension and visualization. This paper presented two visualizations, helping developers to identify and remove performance bottlenecks that are intuitive and easy to use. The paper also underlines that bottleneck identification and removal are significantly easier when side effects and constant return values are localized and an extensive set of unit tests remains essential to assess whether a candidate optimization can be applied without changing the behavior of the system.