Open|SpeedShop - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Open|SpeedShop

Description:

Intel, Intel Inside (logos) and Itanium are trademarks of Intel Corporation in ... Linux /Intel IA-32, Linux /Intel IA64, Tru64 /Alpha. Additional Platform ... – PowerPoint PPT presentation

Number of Views:19
Avg rating:3.0/5.0
Slides: 20
Provided by: williamh63
Category:

less

Transcript and Presenter's Notes

Title: Open|SpeedShop


1
OpenSpeedShopA Dyninst Based Performance Tool
Overview Status
  • Jim Galarowicz
  • Manager - SGI Tools group
  • Bill Hachfeld
  • Steve Collins

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.
  • AIX and PowerPC are trademarks or registered
    trademarks of International Business Machines
    Corporation in the United States, other
    countries, or both.
  • Tru64 is a trademark of  Hewlett-Packard
    Corporation.
  • AMD, the AMD Arrow logo,AMDOpteron, and
    combinations thereof, are trademaks of Advanced
    Micro Devices, Inc.
  • All other trademarks mentioned herein are the
    property of their respective owners

3
Presentation Agenda
  • OpenSpeedShop Presentation Agenda
  • Project Overview
  • Design Goals
  • Design Overview

4
Project Overview
  • What is OpenSpeedShop?
  • Open Source Performance Tool Comprised of
  • Based on SGI Speedshop software concepts for
    the IRIX operating system
  • Developed for Multi-Platform Support
  • Implemented Using Open Source Components
  • DOE/NNSA co-funded via ASC (Advanced Simulation
    and Computing Program) PathForward
  • Partnering with Universities of Wisconsin
    Maryland
  • Schedule
  • Project Began July, 2004
  • Quarterly Milestone Releases
  • First Development Phase Ends mid-2006

5
Design Goals
  • Easy to Use
  • Dont have to be a Computer Scientist or Computer
    Engineer
  • What on earth is call stack sampling? Why would
    I use it?
  • GUI, Command Line, Batch Scheduled -- Your
    Choice!
  • Portable
  • Platform Independent
  • Use components that already support the platforms
    of interest
  • Some recoding may be necessary if using unique
    features of a particular platform
  • Scalable
  • Thousands of Processors
  • ASC laboratory systems already use 8192
    processors. Future systems even larger.
  • SGI Altix system installed at a customer site
    has 10240 processors.
  • Hundreds of Shared Libraries
  • Some SGI customers load 300 shared libraries.

6
Design Goals (Continued)
  • Extensible
  • Gathering New Types of Performance Data
  • New Views of Performance Data
  • Supportable
  • Tested Stable
  • Testing done from the beginning. Not an
    afterthought!
  • Test suites delivered with tool
  • Simple Installation
  • Troubleshooting tools assist in installation and
    configuration.
  • Reuse
  • Use Open Source Tools When Possible
  • Dont reinvent the wheel!
  • Keeping in Mind Licensing Requirements

7
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

8
Design Overview Dyninst
  • Universities of Wisconsin Maryland
  • http//www.dyninst.org/
  • Provides
  • Process Control
  • Instrumentation of Unmodified Binaries
  • Symbol Table Information
  • Status
  • Supports Most Platforms of Interest
  • AIX /PowerPC,
  • IRIX /MIPS,
  • Linux /Intel IA-32,
  • Linux /Intel IA64,
  • Tru64/Alpha
  • Additional Platform Support Planned
  • Additional Compiler Support Planned

9
Design Overview DPCL
  • Open Source Project
  • http//sourceforge.net/projects/dpcl
  • Provides
  • Dyninsts Capabilities Across a Cluster
  • Transport of Performance Data
  • Status
  • Supports Some Platforms of Interest
  • AIX/Power, Linux/IA32, Linux/IA64
  • Needs Better Per-Line Symbol Information
  • Needs Better Shared Library Support
  • Needs Scalability Enhancements
  • Needs Integration of Hybrid changes
  • Needs Integration of SGI changes/fixes

10
Design Overview SQLite
  • Open Source Project
  • http//www.sqlite.org
  • Provides
  • In-Process Relational Database Engine
  • Single-File Databases
  • Up to 2Tb
  • Queries Specified Using SQL
  • No Complex Configuration
  • Status
  • Supports Major Platforms of Interest
  • AIX/Power, IRIX/MIPS, Linux/IA32, Linux/IA64,
    Linux/AMD Opteron, Tru64/Alpha
  • Needs Little to No Enhancement

11
Design Overview PAPI
  • University of Tennessee
  • http//icl.cs.utk.edu/papi
  • Provides
  • Access to CPU Performance Counters
  • Cross-Platform API
  • Status
  • Supports Major Platforms of Interest
  • AIX/Power, IRIX/MIPS, Linux/IA32, Linux/IA64,
    Linux/AMD Opteron, Tru64/Alpha
  • May Need Better Per-Thread Support

12
Design Overview Python Boost.Python
  • Open Source Projects
  • http//www.python.org
  • http//www.boost.org/libs/python
  • Provides
  • Object-Oriented Scripting Language
  • Extensibility via C/C
  • Simple Generation of Wrappers (Boost.Python)
  • Script-Driven Testing Environment
  • Status
  • Supports Major Platforms of Interest
  • AIX/Power, IRIX/MIPS, Linux/IA32, Linux/IA64,
    Linux/AMD Opteron, Tru64/Alpha
  • Needs Little to No Enhancement

13
Design Overview Qt
  • Trolltech AS
  • http//www.trolltech.com/products/qt
  • Provides
  • Object-Oriented GUI Toolkit
  • GUI Builder
  • HTML Help System
  • Internationalization Support
  • Cross-Platform API
  • Status
  • Supports Major Platforms of Interest
  • AIX/Power, IRIX/MIPS, Linux/IA32, Linux/IA64,
    Linux/AMD Opteron, Tru64/Alpha
  • Needs Little to No Enhancement

Qt is trademark of Trolltech in Norway, the
United States and other countries.
14
Design Overview 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
  • Status
  • Design Completed
  • Mostly Implemented

15
Design Overview UI Semantic Routines
  • Provides
  • 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
  • Status
  • Most of Command Set Designed
  • Partially Implemented

16
Design Overview CLI
  • Provides
  • Parsing of Complex Commands
  • Logging of Commands
  • Replay of Logged Commands
  • Extensibility via Command Plugins
  • Status
  • Command Set Partially Defined
  • Needs Usability Study
  • Partially Implemented

17
Design Overview 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 User
  • Extensibility via Panel Plugins
  • Status
  • Initial Usability Study completed
  • Wizards Workflow Prototyped
  • Needs Additional Usability Study
  • Partially Implemented

18
Milestones
  • Open/SpeedShop Milestones
  • Infrastructure deliveries in September and
    December, 2004
  • PC sampling experiment delivered to DOE
    partners on 3/14/05
  • Additional Experiments to delivered one per
    quarter 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
  • Support for additional platforms

19
Questions
  • Questions
  • Jim Galarowicz
  • jeg_at_sgi.com
  • Steve Collins
  • slc_at_sgi.com
Write a Comment
User Comments (0)
About PowerShow.com