C-DAC Logo











C-DAC Home
General Enquiry Form
 Home > HPCC > SSDG > Products > DIViA
DIViA - Portable Parallel Debugging Environment

DIViA (Debugger with Integrated Visualizer and Analyzer) is an advanced portable and flexible parallel debugging environment. It consists of a coherent set of tools that help programmers in both correctness and performance debugging. Its constituent tools can also be used as independent individual tools.

Besides conventional logical debugging extended to parallel debugging, DIViA correctness debugger also facilitates visual and message debugging. DIViA performance debugger detects the communication bottlenecks and quantifies the performance in terms of both computation and communication to help the user in fine tuning the parallel application.

DIViA is a complete debugging environment for enterprises that need to develop parallel applications using the message-passing paradigm. Its software architecture provides a uniform interface to message passing programs written using various standard communication interfaces and makes it independent of the underlying processor architecture. It works with MPI and debugs parallel applications developed using C or Fortran.

DESCRIPTION
DIViA debugging environment consists of:

Correctness Debuggers

  • Multiprocess Debugger
  • Message Debugger
  • Parallel Visual Debugger
  • Execution Monitor

Performance Debuggers

  • Automatic Communication Bottleneck Detector
  • Profile Visualizer

KEY FEATURES

  • Portability - Provides Communication layer neutrality and processor architecture independence
  • Collective Control - Allows control of the execution of tasks as related groups
  • Message Debugging - Allows inspecting, modifying and blocking messages
  • Execution Visualization - Provides multiple views of the execution of the parallel application
  • Performance Analysis - Allows quantification of performance in terms of computation, communication and synchronization overheads
  • Communication Bottleneck Detection - Supports analysis and detection of communication bottlenecks

CORRECTNESS DEBUGGING

Correctness debugging of any program involves detection and fixation of causes (bugs), which result in incorrect behavior of the program. In addition to the sequential program related issues the message passing (MP) parallel programs get affected by the synchronization between different constituent tasks and correctness of communication - in terms of both message data & order and contention for shared resources if any.

Often the causes for an incorrect MP program behavior are interrelated in complex fashion, and detecting the root cause needs filtering out all the secondary causes. DIViA correctness debugger introduces Message Debugging and Visual Debugging. It also facilitates a mechanism of Grouping Tasks using which multiple tasks can be viewed as a single entity and a sequential debugger command can be issued to all the constituent tasks of the group. These aspects of DIViA correctness debugger makes it well suited for MP programs.

Multiprocess Debugger

  • Ability to debug constituent tasks of a parallel and distributed application from a single control point
  • Supports the dynamic generation of task groups
  • Parallel analog to frequently use sequential debugger commands
  • Communication and execution oriented process status display
  • Selective debugger control of dynamically created tasks
  • Symbolic, interactive source code debugger for individual task
  • Flexible usage through pushbuttons and commands

Message Debugger

  • Inspection of messages and their contents from sender's and receiver's perspectives
  • Modification of selected message contents
  • Halting user specified tasks when an event like receipt of a message occurs
  • Freezing and thawing of user specified messages
  • Multitude of usage through variety of user interface objects

Execution Monitor

  • Execution flow monitor of sequential as well as parallel applications
  • Visual and textual monitoring

Parallel Visual Debugger

  • Visual portray of various communication events in an abstract manner
  • Three different visual display windows: Communication Animation, Space Time Diagram and Communication Matrix
  • Focus on order of interprocess communication through Communication Animation
  • Quick glance of communication volume to help user locate communication hotspots
  • Communication status display of the constituent tasks
  • Displays speed control with communication events history
  • Provision for pause, single step and rewind of application
  • On-line/off-line modes of operation
  • Textual monitoring of message specifications
  • Flexible usage through various user interface objects

PERFORMANCE DEBUGGING

Performance tuning of the message passing parallel applications is a challenging task. DIViA helps users to tune their application by identifying both computation and communication bottlenecks.

The Profile Visualizer can easily detect the computational bottleneck region by systematic hierarchical analysis of the heap of profile data generated by parallel programs.

The other major cause of performance degradation is the message communication cost. Detecting the source of a communication bottleneck conventionally requires browsing through all the communication events in a parallel program, with the help of event traces and visualization tools. Since this is not practical in most real parallel programs, DIViA provides automatic detection of communication bottlenecks. It adopts a two-pass trace collection and filtering technique to zero in on the bottleneck regions. It also provides ways of visualizing the bottleneck regions graphically and provides means to relate the causes of performance degradation to their sources.

Profile Visualizer

  • Hierarchical data representation
  • Different performance analysis views using Task Graph, Gantt chart and Source Code View
  • User selectable filters to mask irrelevant data

Automatic Communication bottleneck Detector

  • Automatically detects Communication Bottleneck
  • Provision to hierarchically pinpoint the actual region of bottleneck
  • Minimum perturbation to the user application because traces are generated only for the selected task and selected regions
  • Task Graph to know the details of each task's communication
  • Space Time Diagram to see the communication events in the bottleneck region
  • Source Code View corresponding to the event in the bottleneck region
  • Minimum analysis time because of the bucket generation concepts
  • No huge tracefiles even for large user applications
  • Static instrumentation method to collect event traces
  • Independent trace collection and analysis

AVAILABILITY

Supported Hardware Workstation Clusters
Supported Operating System AIX, Solaris and Linux
User Interfaces GUI
Supported Languages Fortran and C
Prerequisite Softwares Java, X/Motif, MPI

Download DIViA Brochure

Legal Notices | Privacy Policy | © 2010 C-DAC. All rights reserved.
SSDG
Products
- KSHIPRA
- C-MPI
- C-PFS
- F90IDE
  - Download
- PCF90
- DIViA
- PARMON
- RMS
- PARCOM
- Metric Advisor
Services
R & D