+ All Categories
Home > Documents > 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable...

2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable...

Date post: 25-Aug-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
27
Scalable Parallel Debugging with Dieter Kranzlmüller, Christof Klausecker [email protected] Access the Power of Computing Infrastructures 3rd Parallel Tools Workshop
Transcript
Page 1: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Scalable Parallel Debugging with

Dieter Kranzlmüller, Christof [email protected]

Access the Power of Computing Infrastructures

3rd Parallel Tools Workshop

Page 2: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 2

Facts about g-Eclipse

•integrated workbench framework to access the power of existing computing infrastructures

•European Commission (EC) funded project(from 07/2006 until 12/2008)

http://www.geclipse.eu/

•built on top of the Eclipse framework•released under Eclipse Public License (EPL)•continues as an Eclipse Technology Project

http://www.eclipse.org/geclipse/

•version 1.0 available for download

Page 3: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 3

•provides tools for grid, cloud and high performance computing

•Users•job submission, data management, …

•Operators•job and site management, …

•Developers•remote compiling and debugging, …

Functional Overview of g-Eclipse

Page 4: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse

Debugging Parallel Programs

•parallel debugging differs from sequential debugging

- increased complexity

- amount of debugging - data

- additional anomalous - effects

•hard to find errors by relying only on textual debugging information

•program analysis tools

•do today’s tools scale with the increasing number of processors?

4

Page 5: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 5

Trace Viewer

•tool to visualize and analyze communication of parallel message passing programs

•parallel debugging and development activities centered around Trace Viewer

•integrated into g-Eclipse•can be used asstandalone application

•platform independent

Page 6: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 6

Extensions to Trace Viewer

•functionality can be easily extended•well defined extension points for

- Visualizations visualize traces

- Data Providers provide the visualizations with data

- Markers mark events of interest

- Actions perform actions on events

Page 7: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 7

Visualizations

logical clocks

physical clocks

statistics

Page 8: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 8

Data Providers

•prepare information collected using tracing tools during program run

•Trace Viewer includes support for

- Nondeterministic - Program Evaluator Trace - Format (NOPE)

- Open Trace Format - (OTF)

Page 9: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse

Event Graph

•serves program understanding and error detection•graphs get complex, even for few processes

9

Page 10: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse

Scalability

•abstraction techniques are necessary•based on Actions and Markers extension points

-reorder, group or hide processes-mark interesting events

10

Page 11: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 11

Debugging using the Event Graph

1. apply abstraction mechanisms provided by Trace Viewer and identify events of interest

Page 12: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 12

Mark Events of Interest

•potential errors sources-accepted and expected message size mismatch-racing messages

•highlight events by MPI event or data type

Page 13: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse

•by manually selecting the processes•automatically by criteria

Reorder, Group or Hide Processes

13

Page 14: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse

Connecting Graph and Source Code

•events on same source line can be marked•goto source action can be used to jump to source line•# of MPI function calls is shown in source editor

14

Page 15: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse

Cause Effect Marker

•selected event•events leading to the selected event

15

•independent events•events depending on the current event

Page 16: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse

•search for patterns defined using a description language-serves program understanding

-helps to detect errors and inefficient communication

16

Communication Patterns

Page 17: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 17

Debugging using the Event Graph

1. apply abstraction mechanisms provided by Trace Viewer and identify events of interest

2. set breakpoints on events in the event graph using Trace Viewer

Page 18: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse

Breakpointing

•line breakpoints are highlighted in the graph•local as well as global breakpoints can be set on events in the graph

18

Page 19: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 19

Debugging using the Event Graph

1. apply abstraction mechanisms provided by Trace Viewer and identify events of interest

2. set breakpoints on events in the event graph using Trace Viewer

3. launch applications remotely with debuggers attached to the individual processes using Application Launcher

Page 20: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 20

Application Launcher

•specific launcher to launch applications remotely

•support for debugging multiple processes per launch

•offers interactive consolefor the remote running application

•no need for native local debugger

Page 21: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21

Debugging using the Event Graph

1. apply abstraction mechanisms provided by Trace Viewer and identify events of interest

2. set breakpoints on events in the event graph using Trace Viewer

3. launch applications remotely with debuggers attached to the individual processes using Application Launcher

4. use Eclipse’s standard debugging features to debug remotely running parallel applications

Page 22: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 22

The Components Combined

Page 23: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 23

Debugging using the Event Graph

1. apply abstraction mechanisms provided by Trace Viewer and identify events of interest

2. set breakpoints on events in the event graph using Trace Viewer

3. launch applications remotely with debuggers attached to the individual processes using Application Launcher

4. use Eclipse’s standard debugging features to debug remotely running parallel applications

5. rebuild the program on a remote host using the Remote Builder

Page 24: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 24

Remote Builder

•offers possibility to compile and link C/C++ Makefile applications remotely

•uses remote compiler’s output to mark errors in the source code

•no need for cross compiling or special libraries on the local side

•switch easily between different remote hosts

Page 25: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 25

Summary

•number of processors will increase even more in the future

•debugging and analysis software tools need to be-flexible-extensible-scalable

•abstraction and automation techniques supporting the developer are a basic necessity

Page 26: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 26

Page 27: 2009-09-15-Dresden-Parallel Tools Workshop-Scalable ...kranzlm/... · Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 21 Debugging using the Event Graph 1. apply abstraction

Dieter Kranzlmüller Scalable Parallel Debugging with g-Eclipse 27

Dieter Kranzlmü[email protected]

thank you for your attention


Recommended