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...

Full description

Saved in:
Bibliographic Details
Published in:Proceedings of the 1991 ACM/IEEE Conference on Supercomputing pp. 24 - 33
Main Author: Mellor-Crummey, John
Format: Conference Proceeding
Language:English
Published: New York, NY, USA ACM 01.08.1991
IEEE
Series:ACM Conferences
Subjects:
ISBN:9780897914598, 0897914597
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
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