TotalView - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

TotalView

Description:

'Being able to change breakpoints during replay is a great feature. ... Utilizes a simple 'Event/Action' notation. Provides a single file with clean, formatted output ... – PowerPoint PPT presentation

Number of Views:204
Avg rating:3.0/5.0
Slides: 34
Provided by: techdig
Category:

less

Transcript and Presenter's Notes

Title: TotalView


1
TotalView
2
Introduction
TotalView Technologies products set the standard
for the interactive analysis and debugging of
serial and parallel codes.
  • TotalView Debugger
  • Comprehensive debugging solution that
    dramatically enhances and simplifies the process
    of debugging parallel, data-intensive,
    multi-process, multi-threaded or
    network-distributed applications
  • MemoryScape Memory Debugger
  • Easy-to-use, graphical, interactive memory
    debugger to help inspect and resolve difficult
    memory problems including complex multi-process
    and multi-threaded programs
  • ReplayEngine
  • Freedom to move forward or backwards through
    execution history, and work in reverse from from
    program crashes

3
TotalView Debugger
Value Proposition
  • TotalView enhances platforms to be more
    productive development environments
  • Accelerates the pace of research and the time to
    delivery for products and solutions
  • Efficiently locates bugs in data-intensive,
    multi-process, multi-threaded, large clusters,
    parallel processing environments
  • Reduces development time to enable quicker
    implementation for parallel and distributed
    applications.
  • Allows for more cost effective and efficient
    development and provides a rapid return on
    investment (ROI)

4
TotalView Debugger Highlights
  • Great for Threads
  • Race conditions can take large engineering effort
    to pin down and resolve
  • Control over threads allows recreation of race
    conditions
  • TVD Debugs OpenMP and Hybrid OpenMP/MPI
  • TVD helps development teams take the risk out of
    multithreaded development
  • Essential for Clusters
  • Work with many processes with as little as two
    windows
  • Operations can apply narrowly or broadly
  • Scalable up to thousands of processes

5
TotalView Debugger Highlights
  • Ease of Use for Beginners
  • Common operations on the GUI
  • just click to get more information about
  • Variables
  • Functions
  • Breakpoints
  • Processes
  • Highly Graphical
  • Visualize array data
  • A picture is worth 1000 words
  • Memory data displayed graphically (I.e, red
    blocks are leaks)
  • Call graph of program structure
  • Message queue graph

6
TotalView Debugger Highlights
  • Memory Debugging
  • Easy to apply -- no recompilation or
    instrumentation
  • Lightweight -- minimal impact on application
    runtime
  • Powerful -- points to leaks before they become
    floods!
  • Interactive graphical display
  • Makes the connection for the developer between
    memory and code
  • Cross Platform
  • Project and code lifespan is often longer than
    the lifespan of a hardware platform
  • TVD has very very similar functionality on a wide
    range of systems
  • Developers and scientists can leverage investment
    in learning TotalView across their careers
  • Support for all kinds of jobs workstations,
    servers, clusters and supercomputers

7
What Is TotalView?
8
Supported Compilers, Distros and Architectures
Product Overview TotalView Debugger
  • Platform Support
  • SGI IRIX
  • Linux x86, x86-64, ia64, Power
  • Mac Power and Intel
  • Solaris Sparc and AMD64
  • HPUX, IA64, AIX, Tru64, IRIX
  • Cray X1, XT3, IBM BGL, SiCortex
  • Languages / Compilers
  • C/C, Fortran, UPC, Assembly
  • Many Commercial Open Source Compilers
  • Parallel Environments
  • MPI (MPICH1 2, LAM, Open MPI, poe, SGI MPT,
    Quadrics, MVAPICH, HP MPI many others )
  • UPC (HP INTREPID)

9
Multi-Thread Debugger
Product Overview TotalView Debugger
  • Threads
  • Easily understand which thread you are looking at
  • Quickly switch thread context
  • Monitor the state of all threads
  • View data
  • Shared
  • Stack
  • Thread Private
  • Control Individual Threads
  • Synchronize
  • Run/Step
  • Hold

10
Asynchronous Process Thread Control
Product Overview TotalView Debugger
  • Focus on just one or a few processes or threads
  • Visibility of what is happening in whole job
  • Switch focus easily
  • Control at process or thread level
  • Asynchronous Control
  • Step, Go/Halt
  • Hold
  • Control with groups of threads or processes
  • Go/Halt
  • Step
  • Synchronize processes or threads
  • Breakpoints
  • Run-To

11
MPI Debugging
Product Overview TotalView Debugger
  • Automatic Process Acquisition
  • Efficient Cluster Architecture
  • Advanced Process Control
  • View Parallel Data
  • Parallel Expression Evaluation
  • Message Queue Display
  • Highly Scalable

12
Memory Debugger Features
  • Highly Graphical Interface
  • Heap Memory Visualization
  • Automatic Leak Detection
  • Dangling pointer Indication
  • Memory Corruption Tracking-Configurable Guard
    Blocks
  • Memory Comparisons between Processes
  • Also available standalone, as MemoryScape

13
  • New Product Introduction
  • ReplayEngine

14
TotalViewNew Product Introduction
  • ReplayEngine
  • Until now, debugging always meant running only
    forward to (hopefully) reach your problem
  • But unfortunately, just one step too far often
    means having to start over again from the
    beginning, and hoping the program behavior will
    be the same!
  • With ReplayEngine, you can simply unstep back
    through the program and seek out its cause -
    deterministically!
  • Replay gives you a second chance to see what
    happened earlier in your program - and without
    starting over.

15
TotalViewNew Product Introduction
  • ReplayEngine
  • Captures full execution history
  • Record all external input
  • Record other sources of non-determinism
  • Replay execution
  • Replay the execution along exactly the same
    trajectory
  • Can reset to any point along the path already
    taken
  • Everything is managed by the tool
  • The user just chooses where to go
  • Back into or over functions, one line, or to the
    beginning
  • There is some overhead
  • Lots of clever tricks are used to reduce overhead
  • Provides Determinism within a debugging session

16
TotalViewNew Product Introduction
  • Navigation with ReplayEngine
  • - an Intuitive User Interface -

Step forward over functions
Step backward over functions
Step forward into functions
Step backward into functions
Advance forward out of current Function, after
the call
Advance backward out of current Function, to
before the call
Advance forward to selected line
Advance backward to selected line
Advance forward to live session
17
TotalViewNew Product Introduction
  • ReplayEngine

New Toolbar
No Replay? (or not running)
No Active Buttons!
18
TotalViewNew Product Introduction
  • ReplayEngine
  • Consider the following very difficult program
    scenario
  • A crash occurs that destroys the stack backtrace,
    giving no information leading up to the problem
  • ReplayEngine can be used to work backwards from
    the crash, and even to observe the stack recreate
    itself, providing the critical information on
    where and how the problem began.
  • The ReplayEngine provides the ability to review
    any part of the program execution to see all
    variables and function calls, from the beginning
    of the run to the current time

19
(No Transcript)
20
(No Transcript)
21
(No Transcript)
22
(No Transcript)
23
(No Transcript)
24
ReplayEngine Scenarios
  • Especially useful in scenarios that include
  • Any crash that destroys the stack backtrace
  • Race conditions with multi-threaded programs
  • Server applications responding to network input
  • Hard-to-reproduce GUI errors
  • Crashes with invalid pointers
  • Crashes involving write-after-free errors
  • Examining complex functions and subroutines
  • Writing past the end of an array
  • Errors that depend sensitively on input
  • We see these kinds of scenarios in
  • Commercial applications
  • Technical computing
  • Education
  • Scientific programming
  • Network programming

25
Why Reverse Debugging?
  • Thats the direction you need to go
  • Backwards, from the effect to the cause
  • Drastically reduces the effort
  • No need to restart and run over again from the
    beginning
  • Lets you focus
  • Ensures reproducibility
  • No chance that youll miss something and not be
    able to get it back
  • Race conditions
  • Crashes
  • Input-dependent behavior

26
ReplayEngine Customer Feedback
  • The best thing about ReplayEngine is being able
    to step backward. The implementation is done in a
    such a manner that it's intuitive to use.
  • Recently we used the ReplayEngine to solve 2
    bugs to identify a wrong input and to find an
    error into an algorithm. We had a good feeling
    about the experience because the engine is
    simple to use and although it's a bit slow it
    allows us to go back without trying to guess
    the right breakpoint and restart the
    application.
  • ReplayEngine is quite seamlessly integrated
    with the TotalView Debugger.
  • Being able to change breakpoints during replay
    is a great feature.
  • This will improve my productivity because I
    don't have to repeatedly restart the program to
    get to the execution point to examine the
    execution state.
  • I would tell my colleagues that this is a great
    tool
  • ReplayEngine...allows me to work backwards from
    the program crash toward the defect.  This is
    much nicer than having to repeatedly set
    breakpoints and restart my program from the
    beginning. - Dan Hiepler, Senior Developer,
    Intelligent Light, Inc.

27
TotalViewNew Product Introduction
ReplayEngine
  • Currently available on Linux-86 and Linux-86-64
    machines.
  • Current MPI Support
  • HP MPI
  • OpenMPI
  • MVAPICH2
  • Intel MPI
  • MPICH 2
  • LAM

28
Whats Newin TotalView 8.6
29
TotalView 8.6
  • Non-Interactive Debugging
  • tvscript provides non-interactive batch-mode
    debugging with TotalView
  • Useful for long jobs or jobs larger than
    interactive queue
  • More powerful and flexible than Print-style
    debugging
  • Can be used to automate test/verify environments
  • Leverages full power of TotalView in a batch mode
  • Utilizes a simple Event/Action notation
  • Provides a single file with clean, formatted
    output

Think of tvscript as Printf on steroids!
29
30
TotalView 8.6
  • Remote Display Client
  • The Remote Display Client offers users the
    ability to easily set up and operate a TotalView
    debug session that is running on another system.
  • TotalView Remote Display has two components
  • a Client, which runs on the remote system
  • a Server, which runs on any system supported by
    TotalView, invisibly manages the connections
    between the host and client
  • The Remote Display Client is available for
  • Linux x86
  • Linux x86-64
  • Windows XP
  • Windows Vista

Remote TotalView Debugging thats Easy, Secure
and Fast
31
TotalView 8.6
32
TotalView 8.6
  • Remote Display Security
  • Remote Display uses SSH
  • Remote Display Server allows only RFB (Remote
    Frame Buffer) connections to and from the host
  • No incoming access to the Server is allowed
  • The Server can only connect back to the Viewer
    via SSH
  • Only one Viewer connection is allowed to the
    Server
  • As Remote Display connects to systems, the user
    is prompted for password information as required
  • Also required
  • ssh must be available on all nonWindows systems
    being accessed.
  • X Windows must be available on the remote system.

33
TotalView Technologies
  • Contato
  • Alfredo Leon
  • alfredo.leon_at_tecpartner.com.br
  • Ariani Félix
  • ariani.felix_at_tecpartner.com.br
  • Telefones (11)5183-6579
  • (11)5183-4066
Write a Comment
User Comments (0)
About PowerShow.com