Parallel Tools Platform Parallel Debugger - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Parallel Tools Platform Parallel Debugger

Description:

{ public void stepOver(BitList set, int count) throws PCDIException; ... Independent of endianness, word size, character size. Fully represents data type and value ... – PowerPoint PPT presentation

Number of Views:111
Avg rating:3.0/5.0
Slides: 14
Provided by: cise8
Category:

less

Transcript and Presenter's Notes

Title: Parallel Tools Platform Parallel Debugger


1
Parallel Tools PlatformParallel Debugger
  • Greg Watson
  • Project Leader

2
Design Considerations
  • Parallel applications range from 2 to 128K
    processes
  • Combined mult-process and threaded model is
    possible
  • Some debug operations are performed on
  • All or a subset of processes
  • Individual processes
  • Processes are typically dependent on each other
  • Mixed language (e.g. C and Fortran) typical

3
Programming Models
  • Message passing model
  • Distinct processes exchange data using messages
  • Explicit send/receive and collective operations
  • Shared memory model
  • Data structures are shared
  • Locking or atomic operations required
  • Currently targeting message passing, shared
    memory later

4
Debugging Methodology
  • Breakpoint across all processes to synchronize
  • In master/worker, breakpoint only workers
  • Step all processes until error
  • Stepping one process typically not possible due
    to dependencies
  • Examine snapshot of data across all (or subset)
    of processes
  • Compare data from one process to another

5
Architecture Overview
  • Eclipse UI front end
  • Reuse Debug and CDI where possible
  • High level parallel debug API
  • Process sets used for efficiency
  • Asynchronous command/event model
  • Extension point to allow alternate backends
  • Backend (SDM)
  • Startup
  • Command broadcast
  • Event aggregation
  • MI only used for low level debug actions

6
UI Architecture
Platform Debug UI
CDT Debug UI
PTP Debug UI
ICDI
IPCDI
IPDebugger
IPDebugEvent
Events
Commands
7
Debug API
  • public interface IPDebugger
  • public void stepOver(BitList set, int count)
  • throws PCDIException
  • ...
  • public interface IPDebugEvent
  • public BitList getSet()
  • ...

101011010111111101011111
000000000111111101011111
8
SDM Architecture
ParallelDebugger
Command Broadcast
0
4
8
2
1
6
3
5
9
7
9
SDM Architecture
ParallelDebugger
Event Aggregation
0
4
8
2
1
6
3
5
9
7
10
AIF
  • Architecture Independent Format for data
  • Independent of endianness, word size, character
    size
  • Fully represents data type and value
  • Can be used to represent complex data structures,
    such as linked lists
  • Supports all C, C and Fortran types
  • C and Java (partial) implementations
  • Library operations
  • Conversion to/from native format
  • Logical and arithmetic
  • Formatting and display

11
User Interface
  • Parallel Debug View
  • Global view of processes and process sets
  • Tooltips for fast variable access
  • Regiser/unregister process to display in Debug
    View
  • Parallel Breakpoint
  • Global - applies to all processes regardless of
    job or job size
  • Set-based - applies to a set of processes for a
    particular job
  • Color used to distinguish current set
  • Current line markers
  • Multiple markers allowed
  • Different markers for registered/unregistered
    processes
  • Text highlighting colors

12
User Interface (cont)
  • Variable View
  • Supports AIF data
  • Only fetches complex data types when variables
    are expanded
  • Array View
  • Prototype using custom widget
  • Allows 2-D view (slice) of multi-dimensional
    arrays
  • Likely to move to memory view

13
Demo
Write a Comment
User Comments (0)
About PowerShow.com