On-the-fly detection of data races for programs with nested fork-join parallelism
Detecting data races in shared-memory parallel programs is an important debugging problem. This paper presents a new protocol for run-time detection of data races in executions of shared-memory programs with nested fork-join parallelism and no other inter-thread synchronization. This protocol has si...
Saved in:
| Published in: | Proceedings of the 1991 ACM/IEEE Conference on Supercomputing pp. 24 - 33 |
|---|---|
| Main Author: | |
| Format: | Conference Proceeding |
| Language: | English |
| Published: |
New York, NY, USA
ACM
01.08.1991
IEEE |
| Series: | ACM Conferences |
| Subjects: |
Computing methodologies
> Modeling and simulation
> Simulation types and techniques
> Massively parallel and high-performance simulations
Software and its engineering
> Software creation and management
> Software verification and validation
> Software defect analysis
> Software testing and debugging
Software and its engineering
> Software notations and tools
> General programming languages
> Language features
> Concurrent programming structures
|
| ISBN: | 9780897914598, 0897914597 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Summary: | Detecting data races in shared-memory parallel programs is an important debugging problem. This paper presents a new protocol for run-time detection of data races in executions of shared-memory programs with nested fork-join parallelism and no other inter-thread synchronization. This protocol has significantly smaller worst-case run-time overhead than previous techniques. The worst-case space required by our protocol when monitoring an execution of a program P is O(VN), where V is the number of shared variables in P, and N is the maximum dynamic nesting of parallel constructs in P's execution. The worst-case time required to perform any monitoring operation is O(N). We formally prove that our new protocol always reports a nonempty subset of the data races in a monitored program execution and describe how this property leads to an effective debugging strategy. |
|---|---|
| Bibliography: | SourceType-Conference Papers & Proceedings-1 ObjectType-Conference Paper-1 content type line 25 |
| ISBN: | 9780897914598 0897914597 |
| DOI: | 10.1145/125826.125861 |

