TDB.


70 views
Uploaded on:
Description
The SKIF undertaking of the Russia-Belarus Union State 2000-2004 ... of programming configuration and advancement utilizing registering frameworks of the SKIF family ...
Transcripts
Slide 1

TDB TD B: THE INTERACTIVE DISTRIBUTED DEBUGGING TOOL FOR PARALLEL MPI PROGRAMS

Slide 2

Authors: RCMS PSI RAS , Pereslavl-Zalessky , Russia A. Adamovich M. Kovalenko

Slide 3

History of the Development T-framework RCMS PSI RAS , since the mid 90 s The SKIF venture of the Russia-Belarus Union State 2000-2004 T-framework and its surroundings : T-framework ( modern adaptation ); the TGCC compiler ; the TDB intuitive troubleshooting framework ; and others.

Slide 4

Objectives of the Development Support of programming configuration and improvement utilizing figuring frameworks of the SKIF family the component of the incorporated toolbox ; coordinated towards T-framework support . Fetched adequacy lessened costs for acquiring and keeping up the SKIF figuring framework Information autonomy

Slide 5

Predecessors and Analogs P2D2 (Portable Debugger for Parallel and Distributed Programs , NASA, 1994, Doreen Cheng, Robert Hood) TotalView (Etnus) DDT (Distributed Debugging Tool, Streamline Computing)

Slide 6

Basic Architecture Principles The TDB engineering : circulated and multi-part open and versatile adaptable multi-client

Slide 7

The TDB Architecture: Distributed and Multi-segment 1) The essential daemon 2 ) The auxiliary daemon 3 ) The focal server 4 ) The customer segment 5 ) The investigating server

Slide 8

The TDB Architecture (2/2) Flexible uses free programming: Асе, libxml++ , libpcre , libgtk2. x, scintilla , elf troubleshoot tdb (in view of little person investigate) the likelihood of utilizing business items, framework debuggers, for instance

Slide 9

TBD Features Debug C and C++, Fortran programs Linux for 32-bit or 64-bit processors Debug parallel MPI programs. Bolstered MPI executions: LAM, MPICH, SCAMPI, MP-MPICH, DMPI. Propelled work dispatch strategies Monitoring of conditions of target hubs Multi-client support

Slide 10

TBD Features One-touch breakpoint setting/controlling Step into, over or out of capacities Watchpoints One-touch typical presentation Controls forms exclusively or all things considered Color-coded forms/hubs states Log records

Slide 11

TBD Features Groups Group forms utilizing adaptable definition dialect Two sorts of gatherings bolstered: static gatherings and element bunches Control assembled forms as solitary procedures (venture, next, stop...) with continuous visual input Special gathering charges: bunch breakpoint, bunch show

Slide 12

TBD Features Two procedure control modes: dynamic procedure control mode bunch control mode Two GTDB operational modes: dynamic procedure/dynamic gathering troubleshooting mode per process investigating mode

Slide 13

TBD Features Special backing for parallelizing frameworks: T-framework bolster: Special summons t-break, t-print…

Slide 14

GTDB (TDB GUI customer) windows and segments highlights Main window: Active Process window Source Code show with breakpoints Command catches Command part Active procedure/Active gathering choice segment

Slide 15

GTDB windows and segments highlights GUI segment for per process troubleshooting: With GUI highlights for simple procedures and MPI-hubs status read With capacity to pick and pick one of procedures Full included subcomponent for procedures troubleshooting like fundamental subcomponent for investigating dynamic procedure MPI-hubs/forms states window, additionally utilized for selecting procedures to review

Slide 16

GTDB windows and segments highlights Breakpoints control segment window Configuration/Properties segment window Various pop-up menus utilized for: chose expression information assessment and control, print, show, watchpoints, esteem set... execution control (breakpoints set, debilitate, delete...)

Slide 17

GTDB – TDB Client Component natural interface and ergonomic outline the presentation of data is helpful and advantageous

Slide 18

GTDB Node Selection Component User can choose the accurate arrangement of computational hubs that are accessible for troubleshooting MPI undertakings. The rundown of all hubs accessible for MPI errand investigating can be acquired through the solicitation to TDB daemons. The essential TDB daemon is running on front-end and Secondary TDB daemons are running on computational hubs of group. TDB daemons speak to screen forms. Optional daemons gather and the essential daemon aggregates helpful information about computational hubs status.

Slide 19

GTDB Properties Component Is utilized to arrange different TDB, GTDB, and MPI executions settings

Slide 20

GTDB Nodes Status Component Describes statuses of MPI-hubs forms. Green shading marks running procedures Yellow shading marks halted forms Red shading marks forms that have been ceased or ended by a sign Upper bar : normal MPI-hub status Green - all procedures of the hub are running Yellow – no less than one of the procedures is halted Red - no less than one procedure got a sign Common status bar is utilized as a part of reason to give the client the chance to peruse data about the circumstance with troubleshooting forms in a more straightforward and clear way. All status subcomponents are actualized as catch gadgets: if clicked, open suitable procedure (forms) for individual investigation in the PROCS GTDB mode.

Slide 21

GTDB Breakpoints Component The segment is utilized to work with different sorts of breakpoints bolstered in TDB: Source line breakpoints, capacity breakpoints and watchpoints; every one of them may have conditions. Too a unique kind of breakpoints is  executed in TDB, supposed "gathering breakpoints". The gathering breakpoint permits client to set various uniform breakpoints in a gathering of parallel procedures. The  client can set, erase, impair or empower bunch breakpoint in one order or snap.

Slide 22

The Main GTDB Window. Test Debug Session GTDB in the MAIN - > PROC mode. Process 2:0 is a dynamic (chose, investigating) process...

Slide 23

Example Debug Session of Debugging Simple MPI Program Example of element gatherings definition utilizing the "dgroup" order

Slide 24

Example Debug Session of Debugging Simple MPI Program We proceed with the execution of procedures from the experts dynamic gathering and afterward stop on beforehand set breakpoints on the up and up .

Slide 25

Example Debug Session of Debugging Simple MPI Program As we can see the "i" variable equivalents to zero on all procedures in the experts bunch (the "print" order on gathering bosses was utilized). To get out from the circle we set the "i" variable on all experts to 1.

Slide 26

We proceed with execution of bosses gathering forms, yet – after the circle – execution is ceased by the SIGSEGV signal.

Slide 27

Per Procs GTDB Debugging Mode In the Main mode the client can work with one chose (dynamic) process or gathering In the Procs mode he/she can look at any procedure independently. The segment was actualized as two "note pads" embedded one into the other. The main (external, set vertically) scratch pad is the MPI-hubs note pad. Its bookmarks contain data about suitable procedures and normal MPI-hub statuses, shaded as hubs status segment. The second (inward, set on a level plane) scratch pad is a note pad of procedures...

Slide 28

Contacts Max Kovalenko madmax@botik.ru Alexei Adamovich lexa@botik.ru Sergei Abramov abram@botik.ru

Recommended
View more...