Automated Debugging for Parallel Programs
Title: Automated Debugging for Parallel Programs
Main Research Question: How can we simplify the process of debugging parallel programs produced by automated parallelization tools?
Methodology: The researchers developed a system that uses relative debugging techniques to compare serial and parallel executions. If the original serial code is correct, errors due to parallelization will be isolated by the comparison. The system minimizes user effort by using information provided by the parallelization tool and dynamic instrumentation.
Results: The debugging system successfully compared executions in a fine-grained fashion, reducing the overhead of executing instrumentation. This allowed for the detection of differences between the serial and parallel executions, isolating any errors that may have occurred during parallelization.
Implications: This research has significant implications for the field of scientific programming. It provides a practical solution to the complex problem of debugging parallel programs, reducing the time and effort required by programmers. This can lead to more efficient use of high-performance computers, enabling advancements in various scientific fields. Furthermore, the techniques developed can be applied to other areas of software development where debugging complex, distributed systems is a challenge.
Link to Article: https://arxiv.org/abs/0012006v1 Authors: arXiv ID: 0012006v1