passert: A Tool for Debugging Parallel Programs
نویسندگان
چکیده
passert is a new debugging tool for parallel programs which allows programmers to express correctness criteria using a simple, expressive assertion language. We demonstrate how these parallel assertions allow the detection and diagnosis of real world concurrency bugs, detecting 14/17 bugs in an independently selected set of bugs from open source software. We describe a runtime checker which allows automatic checking of parallel assertions in C and C++ programs, with a geometric mean of 6.6× overhead on a set of PARSEC benchmarks. We improve performance by introducing a relaxed timing semantics for parallel assertions, which better reflects real memory models, and exposes more bugs with less overhead (geometric mean overhead 3.5×).
منابع مشابه
Tool Integration Issues for Parallel and Distributed Debugging
This paper describes our experience with the design and implementation of a distributed debugger for C/PVM programs within the scope of the SEPP and HPCTI Copernicus projects. These projects aimed at the development of an integrated parallel software engineering environment based on a high-level graphical parallel programming model (GRAPNEL) and a set of associated tools supporting graphical ed...
متن کاملVisualization, Execution Control and Replay of Massively Parallel Programs within Annai’s Debugging Tool
PDT is the Parallel Debugging Tool of the Annai programming environment developedwithin the Joint CSCS-ETH/NEC Collaboration in Parallel Processing. Similarly to the other components of the integrated environment, PDT provides support for application developers to debug data-parallel programs written in HPF, and message-passingprograms based on the MPI standard. This paper describes how the PDT...
متن کاملMILLIPEDE: A GRAPHICAL TOOL FOR DEBUGGING DISTRIBUTED SYSTEMS WITH A MULTILEVEL APPROACH by
Millipede: A Graphical Tool for Debugging Distributed Systems with a Multilevel Approach by Erik Helge Tribou Dr. Jan B. Pedersen, Examination Committee Chair Professor of Computer Science University of Nevada, Las Vegas Much research and development has been applied to the problem of debugging computer programs. Unfortunately, most of this effort has been applied to solving the problem for tra...
متن کاملUsing DDBG to Support Testing and High-level Debugging Interfaces
This paper describes our experience with the design and implementation of a distributed debugger for C/PVM programs within the scope of the SEPP and HPCTI Copernicus projects. These projects aimed at the development of an integrated parallel software engineering environment based on a high-level graphical parallel programming model (GRAPNEL) and a set of associated tools supporting graphical ed...
متن کاملAn experiment in tool integration: The DDBG parallel and distributed debugger
This paper discusses the development of a debugging tool for parallel programs showing how the requirements posed by high-level tools for parallel program development have influenced the design of the debugging system since its early stages of development. We concentrate our attention upon the interfacing of the debugger with other tools of a parallel software engineering environment, namely a ...
متن کامل