Sun Java Solaris Communities My SDN Account Join SDN
 

Sun Studio Topics

Performance Matters
Download record-setting compilers and tools for free.

Analyzing Application Performance with the Sun Studio Performance Analyzer


Developing high performance applications requires a combination of compiler features, libraries of optimized functions, and tools for performance analysis. The Sun Studio Performance Analyzer can help you assess the performance of your code, identify potential performance problems, and locate the part of the code where the problems occur. The Performance Analyzer can be used from the command line or from a graphical user interface.

The Performance Analyzer consists of two tools, the collector and the analyzer. The Collector collects performance data by profiling and tracing function calls. The data can include call stacks, microstate accounting information, thread-synchronization delay data, hardware-counter overflow data, OpenMP threads and MPI function call data, memory allocation data and summary information for the operating system and the process. The Collector can collect all kinds of data for C, C++ and Fortran programs as well as profiling applications written in Java. 

The Performance Analyzer itself displays the data recorded by the Collector. It processes the data from the Collector and displays various metrics of performance at the level of the program, the functions, the source lines, and the instructions. These metrics are classed into five groups: timing metrics, hardware counter metrics, synchronization delay metrics, memory allocation metrics, and MPI tracing metrics. The Analyzer also displays the raw data in a graphical format as a function of time.

 
 
Screencasts and Videos
Developing OpenMP 3.0 Applications
Bin Fan demonstrates building, debugging and profiling an OpenMP 3.0 application, which utilizes OpenMP 3.0 tasking.

Performance Analyzer: MPI Application Profiling
In this screencast, Yukon Maruyama demonstrates profiling of distributed MPI applications.

Marty Itzkowitz and Yukon Maruyama -- What's New in the Sun Performance Analyzer
Presented at the Sun HPC Consortium meeting in Austin, Texas, November 2008.

»  See more screencasts on the Demos page.
 

Tutorials

MPI Application Profiling Tutorial
Shows how to use Analyzer to detect performance issues in distributed-memory MPI parallel programs.
(June 2009)

 
Performance Analyzer Documentation
Quick Start Guide to using the Performance Tools. (Updated March 2007)

Reference Manual: Performance Analyzer
Complete reference for using the Collector and Analyzer and how to interpret the results.
(October 2009)

Reference Manual: Thread Analyzer User Guide
Details on compiling and running multi-threaded programs with the Thread Analyzer to detect deadlocks and data races. (June 2007)

Readme: Performance Analyzer
Sun Studio 12 Update 1 release information. (June 2009)

Readme: Thread Analyzer
Tool for detecting and analyzing deadlocks and data races in multi-threaded programs. (June 2009)

Command-Line Man Pages:
Sun Studio 12 Update 1. (June 2009)  
  • analyzer - GUI for analyzing a program performance experiment
  • collect - command used for performance data collection
  • collector - subcommands of dbx used for performance data collection
  • er_archive - construct function and module lists for a per formance experiment
  • er_cp - copy a performance experiment
  • er_export - dump raw data from a performance experiment
  • er_kernel - generate an experiment from the Solaris kernel using DTrace
  • er_mv - move a performance experiment
  • er_print - print an ASCII report from one or more perfor mance experiments
  • er_rm - remove performance experiments.
  • er_src - print source or dissasembly with interleaved compiler commentary
  • tha - launch the Sun Studio Thread Analyzer
 

Discussion Forum: Sun Studio Tools Forum
Ask questions about and discuss program performance analysis with the community and experts.

Technical Articles
HPC Profiling with the Sun Studio Performance Tools
Sun Microsystems' Marty Itzkowitz and Yukon Maruyama describe how to use the Sun Studio Performance Tools to understand the performance issues in single-threaded, multi-threaded, OpenMP, and MPI applications, and the techniques used to profile them. This paper was originally presented at the Third Parallel Tools Workshop held in Dresden, Germany in September.
(October 2009)

Profiling MPI Applications
This article details the profiling of Message Passing Interface (MPI) applications with the Sun Studio Performance Tools. Get an overview of MPI performance data and learn how to compile and launch your application for performance profiling. (February 2009)

Memory Profiling With MPI Analyzer
This note explores memory profiling as discussed in an email thread and shows an example of how to distinguish between heavy-user program memory allocation versus memory allocations within the MPI implementation due to resource congestion.

Introducing the Sun Studio Performance Tools
The Sun Studio performance tools are designed to help answer questions about application performance. This article discusses the kinds of performance questions that users typically ask and describes the model for using the tools, and for building the target executable, along with the data collection process, the data that can be collected. The article also describes the Analyzer and its displays, and shows a number of examples of what it can do and concludes with a testing strategy for the tools, and some planned extensions to their functionality.

Profiling Java Applications With Sun Studio Performance Tools
How to use the performance analyzer to profile Java applications.  (August 25, 2006)

Profiling WebSphere Application Servers with Sun Studio Performance Tools
This article describes how to profile an IBM WebSphere Application Server (WAS) runtime environment with the Sun Studio Performance Analysis Tools, Collector and Analyzer. (January 30, 2007)

Profiling WebLogic Servers With Sun Studio Performance Tools
WebLogic servers are Java applications that can also be profiled using the Sun Studio Performance Analyzer. This article shows how.  (August 25, 2006)

The Sun Studio Performance Tools
The Sun Studio Performance Tools are designed to help answer questions about application performance. This article discusses the kinds of performance questions that users typically ask. It describes the model for using the tools, and for building the target executable, as well as the data collection process, and the data that can be collected. The Analyzer and its displays are also described, along with a number of examples of what it can do.  (November 10, 2005)

Using UltraSPARC-IIICu Performance Counters to Improve Application Performance

Introduces you to the UltraSPARC-IIICu performance counters, and demonstrates how you might use the Sun Studio Performance Tools to identify where in your application these events are happening and how you can use this information to improve the performance of your application. (July 23, 2003)

»  See all
 
 
Further Reading
This Sun Blueprints Online article provides a brief introduction to optimization on the Solaris Operating Environment.

Techniques for Optimizing Applications: High Performance Computing by Rajat P. Garg and Ilya Sharapov
This Sun Blueprints Series book is a practical guide to performance optimization of computationally intensive programs on Sun UltraSPARC platforms. It is primarily intended for developers of technical or high performance computing (HPC) applications for the Solaris operating environment.

Solaris Application Programming by Darryl Gove
Solaris Application Programming is a comprehensive guide to optimizing the performance of applications running in your Solaris environment. From the fundamentals of system performance to using analysis and optimization tools to their fullest, this wide-ranging resource shows developers and software architects how to get the most from Solaris systems and applications.

The Developer's Edge edited by Darryl Gove
The Developer's Edge focuses on articles on native programming language issues, performance and improving performance, specific features of the x86 and SPARC processors, and tools that are available in the Solaris OS.
 
 
Sun Studio
Sun Studio Resources
 
 
 
»  Send Comments

Let us know what you like and don't like about the Compilers and Tools hub. Send us feedback. But for support questions, see the support page.