HPD -- A High Performance Debugger Implementation - PowerPoint PPT Presentation

About This Presentation
Title:

HPD -- A High Performance Debugger Implementation

Description:

Views, opinions, and/or findings contained in this report ... programming (multiple processes co-operating via message-passing libraries, such as PVM or MPI) ... – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 14
Provided by: Lon42
Learn more at: https://icl.utk.edu
Category:

less

Transcript and Presenter's Notes

Title: HPD -- A High Performance Debugger Implementation


1
HPD -- A High Performance Debugger Implementation
  • A Parallel Tools Consortium project
  • http//www.ptools.org/

2
Work funded by the DoD High Performance
Computing Modernization Program, ARL, CEWES, and
NAVO Major Shared Resource Centers, through
Programming Environment and Training
(PET). Views, opinions, and/or findings
contained in this report are those of the
author(s) and should not be construed as an
official Department of Defense position, policy
or decision unless so designated by other
official documentation.
3
What is HPD?
  • HPD is an implementation following the standard
    proposed by The High Performance Debugger Forum.
  • A debugger for parallel and multi-threaded
    applications.
  • Is light weight, easy to use and presents
    multiprocess/multithread information in a format
    that is easy to understand.

4
What is the High Performance Debugger Forum?
  • The Forum was sponsored by The Ptools Consortium
  • The goals were to define a useful and appropriate
    set of standards relevant to debugging tools for
    HPC systems and to accommodate needs of both
    users and tool developers.
  • http//www.ptools.org/hpdf/

5
The High Performance Debugger Standard
  • The standard was written to address the following
    types of programs
  • high performance in nature (i.e., performance
    is an important consideration) and typically
    parallel
  • written in one or more high-level languages
  • intended to run on possibly many different
    computer systems
  • The standard assumes explicit parallelism as the
    basic programming model.
  • The standard is applicable to both shared-memory
    programming (multiple threads of execution in an
    address space) and distributed-memory programming
    (multiple processes co-operating via
    message-passing libraries, such as PVM or MPI)

6
The High Performance Debugger Standard
  • The standard distinguishes the functionality
    needed for threads-only, process-only and
    multilevel (multi-process and multi-thread)
    models of parallelism
  • The overall objective of the standard is to make
    it possible for debuggers of all three types to
    provide support that is consistent as possible,
    given the constraints imposed by the underlying
    model.
  • The major languages considered were Fortran (F77
    and F90), C, and C.

7
Who is doing what
  • Oregon State University developed the parser for
    the command line debugger
  • University of Tennessee is working on
    implementing the rest of the debugger and writing
    the DBX client
  • University of Tennessee and Robert Hood from NASA
    are working on making the p2d2 internal code
    modular so it can be used in this project as a
    basis for HPD.

8
Implementation Details
  • There are several layers to make the
    implementation modular
  • Front-end (e.g. command line, GUI )
  • Data Management Layer
  • Debugger Server Layer
  • Client Layer (e.g. GDB, DBX, etc)
  • The Data Management Layer contains all the group
    and process information.

9
Implementation Details (cont.)
  • The client layer parses output, sends the
    commands to the various debuggers.
  • Each process will have one debugger attached to
    it. The control of these debuggers will be
    through the front-end

10
p2d2/HPDs Client-server Architecture
remote server
a.out
user interface
distribution manager
debugger server
remote server
a.out
client
remote server
a.out
11
What will the beta release contain (est. Feb 99)?
  • A subset version of the command line debugger
    implementing the following
  • run, continue, break, print, where
  • Due to memory issues run will only work the first
    time you use it, then you must exit out and
    restart the debugger
  • GDB will be the only debugger supported initially.

12
Future Work
  • DBX as the per-process debugger
  • Add functionality to implement as much of the
    standard as possible
  • Memory clean-up routines
  • Make the code more modular

13
For More Information
  • http//icl.cs.utk.edu/projects/hpd/
  • http//www.ptools.org/
  • http//www.ptools.org/hpdf/
  • http//www.ptools.org/hpdf/draft/
Write a Comment
User Comments (0)
About PowerShow.com