Table of Contents

Overview Summary
Examples Descriptions
Publications Presentations
Software Download
License Feedback

Overview

PerfSuite is a collection of tools, utilities, and libraries for software performance analysis where the primary design goals are ease of use, comprehensibility, interoperability, and simplicity. This software can provide a good "entry point" for more detailed performance analysis and can help point the way towards selecting other tools and/or techniques using more specialized software if necessary (for example, tools/libraries from academic research groups or third-party commercial software).

However, you may find that PerfSuite by itself gives you the information you need to focus your performance optimization efforts in the right direction without extensive source code changes to your application or complicated builds of the performance tools or libraries themselves.

PerfSuite development is driven by people who do performance analysis on a daily basis with a wide variety of applications. Therefore the emphasis is on practicality, robustness, simplicity, and utility in real-world, everyday use on platforms ranging from single-processor workstations to terascale clusters and beyond.

Here's a brief background presentation about PerfSuite. You can also read an overview paper that describes its design and implementation.

PerfSuite is freely-available under a liberal open source license.

Summary

Many different factors contribute to overall application performance in today's high-performance computing environments. The following summary table maps PerfSuite software to specific components in the system:

Software Category Platform Compiler CPU
Cache
Memory
MPI
Network
I/O
Tool Library/
API
x86
x86-64
ia-64
OptView *              
PerfExplore *             
libperfsuite   *           
libpshwpc   *           
psinv *             
psrun *             
libpspmpi   *           
ProfView *             

Please note that the API documentation available through the links to each component in the above table and the descriptions below refer to the 0.5 release of PerfSuite. Documentation for the tools psrun, psprocess, psconfig, and psinv are generated from the UNIX manual pages for the 0.6.1 release. More comprehensive PerfSuite documentation is currently being developed to be included in the software distribution. It will also be available on this web site.

Examples and Status

Here are some examples that highlight the use of PerfSuite on a key application that has been deployed on the NCSA Linux clusters. You can also access a flyer distributed at the Supercomputing 2003 conference that gives an overview of the software's capabilities (first and second pages).

In 2003, PerfSuite was selected for use in measuring the performance of all parallel applications that use the NCSA IA-32 and IA-64 Linux clusters after a review of available performance analysis software. Within a few months after deployment, well over 4 million records of performance data from production scientific applications were gathered using PerfSuite, all without changing a single line of application source code, recompiling, or relinking. A presentation describing the initial motivations, implementation, and results of this work is available here. Following the success of the pilot performance data collection project, the effort was expanded in 2005 to include measurement of all applications (serial and parallel, shared and distributed memory) that use the NCSA SGI Altix system.

PerfSuite is teaming with developers of the widely-used tools PAPI, TAU, and KOJAK under the National Science Foundation's Software Development for Cyberinfrastructure (SDCI) program to provide an integrated toolset for application performance analysis and engineering for current and future generations of high-performance computing systems. The overall project is named POINT. The award abstract describes the overall goals of this project.

PerfSuite is also contributing to the Copper project: a collaborative effort with colleagues at the Univ. of Houston, the Univ. of Tennessee, and Virginia Tech funded through the National Science Foundation. The award abstract describes the overall goals of this work.

PerfSuite is now released as a stable package, version 0.6.1. Development/alpha version 0.6.2 with increased functionality is also available for use. You can obtain the latest versions through the download section below.

PerfSuite is currently in use at the following sites:

NCSA
Pentium III, Itanium, Xeon clusters, and SGI Altix
TeraGrid
Itanium 2 clusters at NCSA, SDSC, CalTech, and ANL
Ohio Supercomputer Center
Itanium 2 cluster (including SGI Altix)
NASA Ames Research Center
SGI Altix (Columbia)

If you are using PerfSuite at your site and would like to be included in this listing, please let us know.

Information specific to using PerfSuite on NCSA systems is available here.

A list of PerfSuite-related RSS feeds is available through SourceForge.

Descriptions

Current components include:

Command-Line Utilities


Graphical Tools


Web-Based Tools


Software Libraries / Scripting Package


Publications

The following PerfSuite-related articles are available online:

PerfSuite: An Accessible, Open Source Performance Analysis Environment for Linux. 6th International Conference on Linux Clusters: The HPC Revolution 2005. Chapel Hill, NC. April 2005.
PDF (390 KB)

Measuring and Improving Application Performance with PerfSuite. Linux Journal #135, July 2005.
HTML

Presentations

You can view the following presentations about PerfSuite:

PerfSuite
An overview of the capabilities in the initial release of PerfSuite.
Supercomputing 2003. Phoenix, AZ. Nov 2003.
Performance Monitoring/Analysis of Overall Job Mix on Large-Scale Pentium and Itanium Linux Clusters
A description of the motivation, implementation, and experiences in using PerfSuite for automatic performance data collection on large-scale Linux clusters.
SIAM Conference on Parallel Processing. San Francisco, CA. Feb 2004.
Introduction to PerfSuite
A tutorial on PerfSuite, covering installation and basic use. Includes examples of using the tools and API.
5th International Conference on Linux Clusters: The HPC Revolution 2004. Austin, TX, May 2004.
The Ohio Supercomputer Center Cluster Focus Group. Columbus, OH, May 2004.
PerfSuite: An Accessible, Open Source Performance Analysis Environment for Linux
An overview of PerfSuite architecture, capabilities and development status, updated for version 0.6.2.
6th International Conference on Linux Clusters: The HPC Revolution 2005. Chapel Hill, NC, April 2005.

Software Information

PerfSuite is written in C, C++, Java, Tcl/Tk, XSL, and JavaScript. Several of the components in PerfSuite are built upon software from other sources:

If you're building your own Linux cluster, you might find the following links to a few performance analysis tools useful.


Download

PerfSuite source distributions are now available at the software download page. The initial release was made available in December 2003.

License

PerfSuite is licensed under the University of Illinois/NCSA Open Source License. OSI Certified

Feedback

If you're a user of PerfSuite software, we're very interested in your feedback, comments, questions, suggestions, and bug reports. The primary resource for communication about PerfSuite are mailing lists that are maintained at SourceForge.


People

The following people have participated in PerfSuite design and development:

Dong Ahn Rick Kufrin
Anand Raghuraman Jun-Hyuk Seo




Google What's happening elsewhere?



Sponsored by: National Science Foundation
PerfSuite
Email: perfsuite (at) ncsa.uiuc.edu
National Center for Supercomputing Applications
University of Illinois at Urbana-Champaign
Last modified: May 16, 2008

Free Web Stats