silicon graphics, inc. presented by: open|speedshop™ an open source performance debugger overview...

25
Intel, Intel Inside (logos) and Itanium are trademarks of Intel Corporation in the United States, other countries, or both. Linux is a trademark of Linus Torvalds in the United States, other countries or both. Qt and the Qt logo are trademarks of Trolltech in Norway, the United States and other countries. Open|SpeedShop, SGI SpeedShop, IRIX, SGI and SGI Altix are trademarks of Silicon Graphics Inc. IBM is a registered trademarks of International Business Machines Corporation in the United States, other countries, or both. All other trademarks mentioned herein are the property of their respective owners Trademark Acknowledgements

Upload: emory-morrison

Post on 28-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering

– Intel, Intel Inside (logos) and Itanium are trademarks of Intel Corporation in the United States, other countries, or both.

– Linux is a trademark of Linus Torvalds in the United States, other countries or both.

– Qt and the Qt logo are trademarks of Trolltech in Norway, the United States and other countries.

– Open|SpeedShop, SGI SpeedShop, IRIX, SGI and SGI Altix are trademarks of Silicon Graphics Inc.

– IBM is a registered trademarks of International Business Machines Corporation in the United States, other countries, or both.

– All other trademarks mentioned herein are the property of their respective owners

Trademark Acknowledgements

Page 2: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering

Presentation Agenda

Open|SpeedShop Presentation Agenda:

– What Is Open|SpeedShop?– Project Overview– Design Goals– Design Overview– Screen Shots– Milestones– Credits

Page 3: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering

What Is Open|SpeedShop?

• What is Open|SpeedShop?– A performance analysis/debugging tool that uses a set of experiments to help answer

the question:

• Where is my program spending the most time and why?

• Who would need a performance analysis/debugging tool?– Any developer interested in the performance of their application.

Page 4: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering

Project Overview

• What is Open|SpeedShop?

– Open Source Performance Tool

• Uses a set of experiments to help answer the question:– Where is my program spending the most time and why?

• Based on SGI® SpeedShop™ software concepts for the IRIX® operating system

– Types of experiments

– Batch performance analysis

– Variety of GUI views for same experiment

• Cluster Friendly

• Multi-Platform Support

– Depends on availability of Dyninst

– SGI target is SGI® Altix® system based on the Intel® Itanium™ chip

• Implemented Using Open Source Components

• DOE/NNSA co-funded - as part of ASC PathForward

Page 5: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering

Design Goals

• Easy to Use– Targeting scientists and engineers that may not be versed in computer architecture– Multiple modes of operation

• GUI

• Command line (interactive and non-interactive)

• Scripting (as Python module)

• Batch

• Portable– Platform Independent When Possible

• Use of components that already support platforms of interest.

• Some recoding may be necessary if using unique features of an architecture.

• Scalable– Thousands of Processors

• ASC laboratory systems already use up to 8192 processors. Future systems even larger.

• SGI® Altix® system installed at a customer site has 10240 processors.

– Hundreds of Shared Libraries• Some SGI customers loads 300+ shared libraries.

Page 6: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering

Design Goals (Continued)

• Extensible Plugin Concept– Gathering New Types of Performance Data– New Views of Performance Data– Our base default experiments are plugins

• Supportable– Tested & Stable

• Testing done from the beginning. Not an afterthought!– Unit– Regression– Component integration– Big application

– Simple Installation• Troubleshooting tools assist in installation and configuration.

• Reusable– Use Open Source Tools When Possible

• Don't reinvent the wheel!

– Developed to allow others to create both open and proprietary tools..

Page 7: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering

Design Overview

• Foundation of Open Source Components

– Core Components (shown here)– Build System (Autoconf, Automake,

Libtool, Make & GCC)– Source Control (CVS)– Testing (Python)

• Layered Approach– Open Source OS-Dependent Layer– Non-Monolithic to Encourage Reuse– Higher Levels of Abstraction Going Up

• Extensible via Plugin Modules– Support New Data & Views– Vendor Differentiation

Page 8: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering

Design Overview: Framework

• Framework Provides– Process Control– Performance Data Collection Abstractions

• Collectors, Parameters, Metrics

– Symbol Table Caching– Data Management & Caching– Extensibility via Collector Plugins

• Simplified Instrumentation

– Asynchronous Operation– C++ API

Page 9: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering

Design Overview: UI Semantic Routines

• UI Semantic Routines Provide– Common Performance Tool Operations

• Create Process, Attach to Thread

• Start/Stop Thread

• Experiment Management/Selection

• Get/Set Parameters

• Start/Stop Data Collection

• Save/Restore Performance Data

– Framework State Management• Provide synchronous sanity to

asynchronous Framework

Page 10: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering

Design Overview: CLI

• CLI Provides– Parsing of Complex Commands– Logging of Commands– Replay of Logged Commands

Page 11: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering

Design Overview: GUI

• GUI Provides– Display Panel Management– Process Selection & Control– Experiment Selection & Control– Annotated Source Views– Sorted Lists (e.g. “Top 5 Functions”)– Data Comparisons

• Thread vs. Thread• Pre-Optimization vs. Post-Optimization

– Wizards to Guide Novice Users– Extensibility via Panel Plugins

Page 12: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering

Example

Example using Open|SpeedShop GUI

1) Bring up screen

2) Follow PC sampling wizard

3) Load in program to run experiment on

4) Results as a sorted list of function times

5) Source and data shown together

6) Run second experiment

7) Compare results

8) Combine collectors for custom experiment

Page 13: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering
Page 14: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering
Page 15: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering
Page 16: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering
Page 17: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering
Page 18: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering
Page 19: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering
Page 20: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering
Page 21: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering

Milestones

Open|SpeedShop Milestones and Proposed Schedule– Infrastructure deliveries in September and December, 2004

– PC sampling experiment delivered to DOE & partners on 3/14/05

– Additional Experiments in Pipeline – (proposed schedule)

• User Time 2nd Quarter 2005• Hardware Counter 3rd Quarter 2005• Floating Point Exception 4th Quarter 2005• Input/Output tracing 1st Quarter 2006• MPI call tracing 2nd Quarter 2006

– Proposed source availability for SC 2005

– Official open source sometime second half 2006

Page 22: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering

Credits

• Presentation

– Jim Galarowicz ([email protected])

– Al Stipek ([email protected])

– William Hachfeld ([email protected])

– Helen Stepanov ([email protected])

• Partners

– ASC lab: DOE – as part of ASC PathForward

Page 23: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering

Credits Cont.

• Technology (Cont.)

– Dyninst: jointly developed by the University of Wisconsin and

the University of Maryland - http://www.dyninst.org

– DPCL : IBM® Open Source Project - http://sourceforge.net/projects/dpcl

Page 24: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering

Credits Cont.

• Technology (Cont.)

– Boost.Python: Open Source Project -

http://www.boost.org/libs/python

– Python: Open Source Project - http://www.python.org

– PAPI: University of Tennessee - http://icl.cs.utk.edu/papi

– SQLite: Open Source Project - http://www.sqlite.org

– Qt ® : GUI toolkit - http://www.trolltech.com/products/qt

Page 25: Silicon Graphics, Inc. Presented by: Open|SpeedShop™ An Open Source Performance Debugger Overview Jack Carter MTS SGI Core Engineering

Questions

Questions:

Jack Carter

[email protected]