OpenSpeedShop An Open Source Performance Debugger Overview

1 / 25
About This Presentation
Title:

OpenSpeedShop An Open Source Performance Debugger Overview

Description:

Intel, Intel Inside (logos) and Itanium are trademarks of Intel Corporation in ... SQLite: Open Source Project - http://www.sqlite.org ... –

Number of Views:63
Avg rating:3.0/5.0
Slides: 26
Provided by: openspe
Category:

less

Transcript and Presenter's Notes

Title: OpenSpeedShop An Open Source Performance Debugger Overview


1
OpenSpeedShopAn Open Source Performance
Debugger Overview
  • Jack Carter
  • MTS SGI Core Engineering

2
Trademark Acknowledgements
  • 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.
  • OpenSpeedShop, 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

3
Presentation Agenda
  • OpenSpeedShop Presentation Agenda
  • What Is OpenSpeedShop?
  • Project Overview
  • Design Goals
  • Design Overview
  • Screen Shots
  • Milestones
  • Credits

4
What Is OpenSpeedShop?
  • What is OpenSpeedShop?
  • 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.

5
Project Overview
  • What is OpenSpeedShop?
  • 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

6
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.

7
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..

8
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

9
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

10
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

11
Design Overview CLI
  • CLI Provides
  • Parsing of Complex Commands
  • Logging of Commands
  • Replay of Logged Commands

12
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

13
Example
  • Example using OpenSpeedShop GUI
  • Bring up screen
  • Follow PC sampling wizard
  • Load in program to run experiment on
  • Results as a sorted list of function times
  • Source and data shown together
  • Run second experiment
  • Compare results
  • Combine collectors for custom experiment

14
(No Transcript)
15
(No Transcript)
16
(No Transcript)
17
(No Transcript)
18
(No Transcript)
19
(No Transcript)
20
(No Transcript)
21
(No Transcript)
22
Milestones
  • OpenSpeedShop 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

23
Credits
  • Presentation
  • Jim Galarowicz (jeg_at_sgi.com)
  • Al Stipek (stipek_at_sgi.com)
  • William Hachfeld (wdh_at_sgi.com)
  • Helen Stepanov (helens_at_sgi.com)
  • Partners
  • ASC lab DOE as part of ASC PathForward

24
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

25
Credits Cont.
  • Technology (Cont.)
  • Boost.Python Open Source Project -
    http//www.boost.org/libs/python
  • Python Open Source Project - http//www.python.or
    g
  • PAPI University of Tennessee -
    http//icl.cs.utk.edu/papi
  • SQLite Open Source Project - http//www.sqlite.or
    g
  • Qt GUI toolkit - http//www.trolltech.com/prod
    ucts/qt

26
Questions
  • Questions
  • Jack Carter
  • jcarter_at_sgi.com
Write a Comment
User Comments (0)
About PowerShow.com