Program Systems Institute RASTDB TDB: THE INTERACTIVE DISTRIBUTED DEBUGGING TOOL FOR PARALLEL MPI PROGRAMS.

Slides:



Advertisements
Similar presentations
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER TotalView on the T3E and IBM SP Systems NERSC User Services June 12, 2000.
Advertisements

COURSE: COMPUTER PLATFORMS
Professional Toolkit V2.0 C:\Presentations - SmartCafe_Prof_V2.0 - bsc page 1 Professional Toolkit 2.0.
Intel® performance analyze tools Nikita Panov Idrisov Renat.
® IBM Software Group © 2010 IBM Corporation What’s New in Profiling & Code Coverage RAD V8 April 21, 2011 Kathy Chan
Setting up of condor scheduler on computing cluster Raman Sehgal NPD-BARC.
Program Systems Institute RAS FLAME FunctionaL Active Monitoring Environment.
Chapter One The Essence of UNIX.
Understanding Operating Systems 1 Overview Introduction Operating System Components Machine Hardware Types of Operating Systems Brief History of Operating.
GridScape Ding Choon Hoong Grid Computing and Distributed Systems (GRIDS) Lab. The University of Melbourne Melbourne, Australia WW Grid.
F2032 Fundamental of OS Chapter 1 Introduction to Operating System Part 4.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Chapter 2: Exploring the Desktop The Complete Guide to Linux System Administration.
Objectives Machine language vs.. High-level language Procedure-oriented, object-oriented, and event- driven languages Background of Visual Basic VB Integrated.
Installing Windows XP Professional Using Attended Installation Slide 1 of 41Session 2 Ver. 1.0 CompTIA A+ Certification: A Comprehensive Approach for all.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Hands-On Microsoft Windows Server 2008 Chapter 11 Server and Network Monitoring.
Windows Server 2008 Chapter 11 Last Update
Objectives  Understand the purpose of the superuser account  Outline the key features of the Linux desktops  Navigate through the menus  Getting help.
© 2006 by IBM 1 How to use Eclipse to Build Rich Internet Applications With PHP and AJAX Phil Berkland IBM Software Group Emerging.
DIRAC API DIRAC Project. Overview  DIRAC API  Why APIs are important?  Why advanced users prefer APIs?  How it is done?  What is local mode what.
Digital Image Processing Lecture3: Introduction to MATLAB.
1 Integrated Development Environment Building Your First Project (A Step-By-Step Approach)
A First Program Using C#
Visual Basic Chapter 1 Mr. Wangler.
Tutorial 1: Getting Started with Adobe Dreamweaver CS4.
Welcome to the Power of 64-bit Computing …now available on your desktop! © 1998, 1999 Compaq Computer Corporation.
Department of Mechanical Engineering, LSUSession VII MATLAB Tutorials Session VIII Graphical User Interface using MATLAB Rajeev Madazhy
Bright Cluster Manager Advanced cluster management made easy Dr Matthijs van Leeuwen CEO Bright Computing Mark Corcoran Director of Sales Bright Computing.
111 EMC CONFIDENTIAL—INTERNAL USE ONLY NMC -- NW Administration NMC Team NetWorker 7.3 TOI July 28, 2005.
Support for Debugging Automatically Parallelized Programs Robert Hood Gabriele Jost CSC/MRJ Technology Solutions NASA.
Integrated Development Environment (IDE)
Debugging and Profiling GMAO Models with Allinea’s DDT/MAP Georgios Britzolakis April 30, 2015.
TotalView Debugging Tool Presentation Josip Jakić
Khoros Yongqun He Dept. of Computer Science, Virginia Tech.
Copyright © 2010 Wolters Kluwer Health | Lippincott Williams & Wilkins Introduction to Windows Chapter 2.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
Debugging. 2 © 2003, Espirity Inc. Module Road Map 1.Eclipse Debugging  Debug Perspective  Debug Session  Breakpoint  Debug Views  Breakpoint Types.
MACCE and Real-Time Schedulers Steve Roberts EEL 6897.
CHAPTER TWO INTRODUCTION TO VISUAL BASIC © Prepared By: Razif Razali 1.
* Property of STI Page 1 of 18 Software: Systems and Applications Basic Computer Concepts Software  Software: can be divided into:  systems software.
Debugging Visual Basic.NET Programs ► ► Use debugging tools ► ► Set breakpoints and correct mistakes. ► ► Use a Watch and Local window to examine variables.
A New Parallel Debugger for Franklin: DDT Katie Antypas User Services Group NERSC User Group Meeting September 17, 2007.
Microsoft Visual Basic 2005 BASICS Lesson 1 A First Look at Microsoft Visual Basic.
INFORMATION SYSTEM-SOFTWARE Topic: OPERATING SYSTEM CONCEPTS.
Debugging parallel programs. Breakpoint debugging Probably the most widely familiar method of debugging programs is breakpoint debugging. In this method,
Copyright © 2004 – 2013 Curt Hill Java Debugging In Eclipse.
Introduction Selenium IDE is a Firefox extension that allows you to record, edit, and debug tests for HTML Easy record and playback Intelligent field selection.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 What we'll cover here l Using the debugger: Starting the debugger Setting.
INFORMATION SYSTEM – SOFTWARE TOPIC: GRAPHICAL USER INTERFACE.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Object-Oriented Application Development Using VB.NET 1 Chapter 2 The Visual Studio.NET Development Environment.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
COMPUTER III. Fundamental Concepts of Programming Control Structures Sequence Selection Iteration Flowchart Construction Introduction to Visual Basic.
Lab 9 Department of Computer Science and Information Engineering National Taiwan University Lab9 - Debugging I 2014/11/4/ 28 1.
15 Copyright © 2004, Oracle. All rights reserved. Debugging Triggers.
Debugging Lab Antonio Gómez-Iglesias Texas Advanced Computing Center.
 2007 Pearson Education, Inc. All rights reserved Introduction to the Visual Basic Express 2005 IDE.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
Windows Vista Configuration MCTS : Internet Explorer 7.0.
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
The Advantage Series ©2005 The McGraw-Hill Companies, Inc. All rights reserved Chapter 12 Introducing Visual Basic for Applications Microsoft Office Excel.
The Distributed Application Debugger (DAD)
Visualization tool of the T-application execution trace
GWE Core Grid Wizard Enterprise (
Using Visual Studio with C#
GRAPHICAL USER INTERFACE
Debugging Visual Basic Programs
Presentation transcript:

Program Systems Institute RASTDB TDB: THE INTERACTIVE DISTRIBUTED DEBUGGING TOOL FOR PARALLEL MPI PROGRAMS

Program Systems Institute RASAuthors: RCMS PSI RAS, Pereslavl-Zalessky, Russia A. Adamovich A. Adamovich M. Kovalenko M. Kovalenko

Program Systems Institute RAS History of the Development T-system T-system RCMS PSI RAS, since the early 90s RCMS PSI RAS, since the early 90s The SKIF project of the Russia-Belarus Union State The SKIF project of the Russia-Belarus Union State T-system and its environment: T-system and its environment: T-system (industrial version); T-system (industrial version); the TGCC compiler; the TGCC compiler; the TDB interactive debugging system; the TDB interactive debugging system; and others. and others.

Program Systems Institute RAS Objectives of the Development Support of software design and development using computing systems of the SKIF family Support of software design and development using computing systems of the SKIF family the element of the integrated toolkit; the element of the integrated toolkit; directed towards T-system support. directed towards T-system support. Cost-effectiveness Cost-effectiveness reduced expenses for purchasing and maintaining the SKIF computing system reduced expenses for purchasing and maintaining the SKIF computing system Information independence Information independence

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

Program Systems Institute RAS Basic Architecture Principles The TDB architecture : distributed and multi-component distributed and multi-component open and portable open and portable flexible flexible multi-user multi-user

Program Systems Institute RAS The TDB Architecture: Distributed and Multi-component 1) The primary daemon 2) The secondary daemon 3) The central server 4) The client component 5) The debugging server

Program Systems Institute RAS The TDB Architecture (2/2) Flexible  uses free software: АСЕ, libxml++, libpcre, libgtk2.x, scintilla, gnome-debug-tdb (based on gnome-debug) АСЕ, libxml++, libpcre, libgtk2.x, scintilla, gnome-debug-tdb (based on gnome-debug)  the possibility of using commercial products, system debuggers, for example

Program Systems Institute RAS TBD Features Debug C and C++, Fortran programs Debug C and C++, Fortran programs Linux for 32-bit or 64-bit processors Linux for 32-bit or 64-bit processors Debug parallel MPI programs. Debug parallel MPI programs. Supported MPI implementations: LAM, MPICH, SCAMPI, MP-MPICH, DMPI. Supported MPI implementations: LAM, MPICH, SCAMPI, MP-MPICH, DMPI. Advanced job launch methods Advanced job launch methods Monitoring of states of target nodes Monitoring of states of target nodes Multi-user support Multi-user support

Program Systems Institute RAS TBD Features One-touch breakpoint setting/manipulating One-touch breakpoint setting/manipulating Step into, over or out of functions Step into, over or out of functions Watchpoints Watchpoints One-touch symbolic display One-touch symbolic display Controls processes individually or collectively Controls processes individually or collectively Color-coded processes/nodes states Color-coded processes/nodes states Log files Log files

Program Systems Institute RAS TBD Features Groups Groups Group processes using flexible definition language Group processes using flexible definition language Two types of groups supported: Two types of groups supported: static groups and static groups and dynamic groups dynamic groups Control grouped processes as lone processes (step, next, stop...) with real-time visual feedback Control grouped processes as lone processes (step, next, stop...) with real-time visual feedback Special group commands: Special group commands: group breakpoint, group breakpoint, group display group display

Program Systems Institute RAS TBD Features Two process control modes: Two process control modes: active process control mode active process control mode group control mode group control mode Two GTDB operational modes: Two GTDB operational modes: active process / active group debugging mode active process / active group debugging mode per process debugging mode per process debugging mode

Program Systems Institute RAS TBD Features Special support for parallelizing systems: Special support for parallelizing systems: T-system support: T-system support: Special commands t-break, t-print… Special commands t-break, t-print…

Program Systems Institute RAS GTDB (TDB GUI client) windows and components features Main window: Main window: Active Process window Active Process window Source Code display with breakpoints Source Code display with breakpoints Command buttons Command buttons Command component Command component Active process / Active group selection component Active process / Active group selection component

Program Systems Institute RAS GTDB windows and components features GUI component for per process debugging: GUI component for per process debugging: With GUI features for easy processes and MPI-nodes status read With GUI features for easy processes and MPI-nodes status read With ability to pick and choose one of processes With ability to pick and choose one of processes Full featured subcomponent for processes debugging similar to main subcomponent for debugging active process Full featured subcomponent for processes debugging similar to main subcomponent for debugging active process MPI-nodes/processes states window, also used for selecting processes to inspect MPI-nodes/processes states window, also used for selecting processes to inspect

Program Systems Institute RAS GTDB windows and components features Breakpoints manipulation component window Breakpoints manipulation component window Configuration / Properties component window Configuration / Properties component window Various pop-up menus used for: Various pop-up menus used for: selected expression data inspection and manipulation, print, display, watchpoints, value set... selected expression data inspection and manipulation, print, display, watchpoints, value set... execution control (breakpoints set, disable, delete...) execution control (breakpoints set, disable, delete...)

Program Systems Institute RAS GTDB – TDB Client Component  intuitive interface and ergonomic design  the presentation of information is handy and convenient

Program Systems Institute RAS GTDB Node Selection Component User can select the exact set of computational nodes that are available for debugging MPI tasks. The list of all nodes available for MPI task debugging can be obtained through the request to TDB daemons. The primary TDB daemon is running on front-end and Secondary TDB daemons are running on computational nodes of cluster. TDB daemons represent monitor processes. Secondary daemons collect and the primary daemon accumulates useful info about computational nodes status.

Program Systems Institute RAS GTDB Properties Component Is used to configure various TDB, GTDB, and MPI implementations settings

Program Systems Institute RAS GTDB Nodes Status Component Describes statuses of MPI-nodes processes. Green color marks running processes Yellow color marks stopped processes Red color marks processes that have been stopped or terminated by a signal Upper bar : common MPI-node status Green - all processes of the node are running Yellow – at least one of the processes is stopped Red - at least one process caught a signal Common status bar is used in purpose to give the user the opportunity to read information about the situation with debugging processes in a more simple and clear way. All status subcomponents are implemented as button widgets: if clicked, open appropriate process (processes) for individual exploration in the PROCS GTDB mode.

Program Systems Institute RAS GTDB Breakpoints Component The component is used to work with various types of breakpoints supported in TDB: Source line breakpoints, Source line breakpoints, function breakpoints and function breakpoints and watchpoints; watchpoints; all of them may have conditions. As well a special type of breakpoints is implemented in TDB, so called “group breakpoints”. The group breakpoint allows user to set a number of uniform breakpoints in a group of parallel processes. The user can set, delete, disable or enable group breakpoint in one command or click.

Program Systems Institute RAS The Main GTDB Window. Sample Debug Session GTDB in the MAIN -> PROC mode. Process 2:0 is an active (selected, exploring) process...

Program Systems Institute RAS Example Debug Session of Debugging Simple MPI Program Example of dynamic groups definition using the "dgroup" command

Program Systems Institute RAS Example Debug Session of Debugging Simple MPI Program We continue the execution of processes from the masters dynamic group and then stop on previously set breakpoints in the loop.

Program Systems Institute RAS Example Debug Session of Debugging Simple MPI Program As we can see the ‘i’ variable equals to zero on all processes in the masters group (the "print" command on group masters was used). To get out from the loop we set the ‘i’ variable on all masters to 1.

Program Systems Institute RAS We continue execution of masters group processes, but – after the loop – execution is stopped by the SIGSEGV signal.

Program Systems Institute RAS Per Procs GTDB Debugging Mode In the Main mode the user can work with one selected (active) process or group In the Procs mode he/she can examine any process individually. The component was implemented as two “notebooks” inserted one into the other. The first (outer, placed vertically) notebook is the MPI-nodes notebook. Its bookmarks contain info about appropriate processes and common MPI-node statuses, colored as nodes status component. The second (inner, placed horizontally) notebook is a notebook of processes...

Program Systems Institute RASContacts Max Kovalenko Max Kovalenko Alexei Adamovich Alexei Adamovich Sergei Abramov Sergei Abramov