Results 1 - 10
of
20
Interactive Debugging and Performance Analysis of Massively Parallel Applications
- Parallel Computing
, 1996
"... In the field of high performance computing, massively parallel processing systems (MPPs) get more and more important. A rising number of complex applications is parallelized for execution on these machines. Still a significant portion of the time needed for parallelization is spent for the process o ..."
Abstract
-
Cited by 16 (10 self)
- Add to MetaCart
In the field of high performance computing, massively parallel processing systems (MPPs) get more and more important. A rising number of complex applications is parallelized for execution on these machines. Still a significant portion of the time needed for parallelization is spent for the process of debugging and performance tuning. A main reason for this fact is the absence of adequate tools supporting this phase of program development. In this article, we present a novel tool environment, consisting of a parallel debugger (DETOP), a performance analyzer (PATOP), and a common monitoring system for PowerPC-based parallel computers. The environment specifically addresses the topics of scalability, usability for dynamic, multithreaded programming models, minimal intrusion, debugging and tuning methodology and comfortable user interfaces. We derive requirements for tools monitoring the runtime behavior of parallel programs, present the concepts used to meet these requirements in our tool...
DETOP - An Interactive Debugger for PowerPC Based Multicomputers
- Parallel Programming and Applications
, 1995
"... Debugging still is one of the most time consuming phases in programming high performance parallel computers. Parallel debuggers can greatly support users in this process and thus reduce time needed for program development. However, most debuggers either don't provide easy-to-use interfaces and there ..."
Abstract
-
Cited by 13 (11 self)
- Add to MetaCart
Debugging still is one of the most time consuming phases in programming high performance parallel computers. Parallel debuggers can greatly support users in this process and thus reduce time needed for program development. However, most debuggers either don't provide easy-to-use interfaces and therefore are rejected by lots of potential users, or are usable only for a subclass of applications supported by the machine's programming model. In this article we define design goals for parallel debuggers and present the user interface and implementation of our parallel debugger DETOP. DETOP provides a graphical interface that is simple to use even for unexperienced users and supports not only static data parallel codes, but also dynamic programs and applications based on functional decomposition. DETOP is also an excellent example of cooperation and transfer of technology between universities and industry. 1. Introduction Developments in the field of supercomputing during the last couple of...
Pdb: Pervasive debugging with xen
- In Proceedings of the 5th IEEE/ACM International Workshop on Grid Computing (Grid
, 2004
"... Building distributed grid applications is notoriously difficult: the complex interactions between concurrently running processes, middleware, operating systems, underlying devices, and interconnecting networks can lead to unpredictable and difficult to analyze errors. Yet debugging support for such ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
Building distributed grid applications is notoriously difficult: the complex interactions between concurrently running processes, middleware, operating systems, underlying devices, and interconnecting networks can lead to unpredictable and difficult to analyze errors. Yet debugging support for such systems is woefully inadequate; typically a central user interface coordinates a set of conventional debuggers. This structure leads to synchronization problems and is limited to debugging user-mode applications. In this paper we present the design and implementation of PDB, a pervasive debugger which executes in a virtualization layer underneath the entire distributed system. By running each node of a distributed application in a separate virtual environment atop the debugger, PDB can exercise full control over the entire execution environment. 1.
The Mantis Parallel Debugger
- In Proceedings of the SIGMETRICS Symposium on Parallel and Distributed Tools
, 1996
"... Parallel tools often fail to integrate effectively with other parallel systems, exacerbating the inherent difficulty of programming a massively parallel machine. Successful parallel debugging requires the rethinking of traditional debugging goals in the context of parallelism. The following four obj ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
Parallel tools often fail to integrate effectively with other parallel systems, exacerbating the inherent difficulty of programming a massively parallel machine. Successful parallel debugging requires the rethinking of traditional debugging goals in the context of parallelism. The following four objectives: rapid focus, scalability, economy of presentation, and portability, represent the more difficult aspects of parallel debugging. In light of these specific goals, this paper presents Mantis, a graphical debugger for parallel programs. Mantis targets the broad class of parallel programs known as bulk synchronous SPMD programs and provides support for Split-C, a parallel extension of C. Although designed for parallel debugging, the Mantis interface also supports sequential debugging, allowing a single environment for both sequential and parallel debugging. Mantis currently runs on the Thinking Machines Corp. CM-5 and on networks of workstations and is built using a Tcl/Tk graphical us...
Designing a Parallel Debugger for Portability
- In Proceedings of the Eighth International Parallel Processing Symposium
, 1994
"... The growing variety of parallel computers has made it difficult to design portable tools for parallel programs. This paper shows how an interactive visualization tool can be designed to work with a variety of parallel machines. The design includes a strategy for adapting to differences in the interf ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
The growing variety of parallel computers has made it difficult to design portable tools for parallel programs. This paper shows how an interactive visualization tool can be designed to work with a variety of parallel machines. The design includes a strategy for adapting to differences in the interfaces and capabilities of the low-level debuggers supplied by hardware vendors. Our tool uses these debuggers to perform basic tasks like setting breakpoints and examining variables. By dividing each interaction between the visualization tool and the "base debugger" into a sequence of customizable steps, we can write code that adapts cleanly and efficiently to differences in the debuggers. This design has been implemented in the Panorama parallel debugger, which runs on several message-passing multicomputers. 1 Introduction As new parallel architectures proliferate, portability has become an important feature of parallel programming tools. Portable tools, including debuggers, are useful for...
An Implementation of Race Detection and Deterministic Replay with MPI
, 1995
"... The Parallel Debugging Tool (PDT) of the Annai programming environment is developed within the Joint CSCS-ETH/NEC Collaboration in Parallel Processing. Similarly to the other components of the integrated environment, PDT aims to provide support for application developers to debug portable large-sca ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
The Parallel Debugging Tool (PDT) of the Annai programming environment is developed within the Joint CSCS-ETH/NEC Collaboration in Parallel Processing. Similarly to the other components of the integrated environment, PDT aims to provide support for application developers to debug portable large-scale data-parallel programs based on HPF, and message-passing programs based on the MPI standard. For the support of manually parallelized MPI programs as well as for the support of advanced code-generation techniques of the data-parallel compiler, PDT supports race detection and MPI event tracing for deterministic replay. This paper describes the tracing and replay mechanisms included in PDT as well as their efficiency by presenting execution time overheads for several benchmark programs running on NEC Cenju-2/3 distributed-memory parallel processors.
The Architecture of a Parallel Relative Debugger
, 2000
"... Relative debugging is a technique that addresses the problem of debugging programs developed using evolutionary software techniques. Recent developments allow relative debugging to be used on programs that have been ported from serial to parallel architectures. Such programs may change significantly ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
Relative debugging is a technique that addresses the problem of debugging programs developed using evolutionary software techniques. Recent developments allow relative debugging to be used on programs that have been ported from serial to parallel architectures. Such programs may change significantly in the porting process, and this raises many issues for the debugging process, such as how the array data and code transformations that occur in these situations can be modelled. Relative debugging can also be effectively used in situations where the parallel programs themselves have undergone evolutionary change. This paper presents the architecture of a parallel relative debugger, and reveals a number of novel and powerful techniques that have been developed for dealing with the issues of relative debugging in a parallel environment.
Trace-Driven Debugging of Message Passing Programs
, 1998
"... In this paper we report on features added to a parallel debugger to simplify the debugging of message passing programs. These features include replay, setting consistent breakpoints based on interprocess event causality, a parallel undo operation, and communication supervision. These features all us ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
In this paper we report on features added to a parallel debugger to simplify the debugging of message passing programs. These features include replay, setting consistent breakpoints based on interprocess event causality, a parallel undo operation, and communication supervision. These features all use trace information collected during the execution of the program being debugged. We used a number of different instrumentation techniques to collect traces. We also implemented trace displays using two different trace visualization systems. The implementation was tested on an SGI Power Challenge cluster and a network of SGI workstations. 1 Introduction Debugging of parallel programs can be significantly facilitated by providing the user with both a big picture of what has happened during program execution and a way of steering the debugging session based on this picture. This steering could include a replay mechanism that supports a breakpoint across all processes that is consistent w...
The Challenges in Automated Testing of Multithreaded Programs
- In Proceedings of the 14th International Conference on Testing Computer Software
, 1997
"... To take full advantage of parallel architectures, programmers need to be presented with a good set of software tools for developing, debugging, testing, and maintaining their parallel programs. This paper focuses on the challenges that need to be addressed to provide automatic generation of test cas ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
To take full advantage of parallel architectures, programmers need to be presented with a good set of software tools for developing, debugging, testing, and maintaining their parallel programs. This paper focuses on the challenges that need to be addressed to provide automatic generation of test cases for multithreaded programs, particularly focusing on a program-based, structural testing approach. The major challenges include dealing with nondeterministic execution for reproducible testing, extending the test data adequacy criteria for timing-related testing, extension of the existing structural testing methodologies for multithreaded programs, and the inclusion of timing-related testing. We demonstrate some of the more intricate issues through a more thorough look at providing all-du-path coverage in multithreaded programs. 1 Introduction Using software tools to automatically generate test cases, generally referred to as software testing, has been studied extensively for sequential ...
An Extensible, Retargetable Debugger for Parallel Programs
, 1994
"... : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ix 1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 1. Background : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 2. Problems in developing parallel debuggers : : : : : : : : ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ix 1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 1. Background : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 2. Problems in developing parallel debuggers : : : : : : : : : : : : : : : : 3 1. Quantity of state information : : : : : : : : : : : : : : : : : : : : : 3 2. Nondeterminism : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 3. Architectural variation : : : : : : : : : : : : : : : : : : : : : : : : : 5 3. Related work : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 1. Program replay : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 2. Visualization : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 3. Extensibility : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11 4. Portability : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13 4. Goals of this research : : : : : : : : : : : : : ...

