Proceedings of the 28th ACM Symposium on Parallelism in Algorithms and Architectures 2016
DOI: 10.1145/2935764.2935801
|View full text |Cite
|
Sign up to set email alerts
|

Provably Good and Practically Efficient Parallel Race Detection for Fork-Join Programs

Abstract: If a parallel program has determinacy race(s), different schedules can result in memory accesses that observe different values -various race-detection tools have been designed to find such bugs. A key component of race detectors is an algorithm for series-parallel (SP) maintenance, which identifies whether two accesses are logically parallel.This paper describes an asymptotically optimal algorithm, called WSP-Order, for performing SP maintenance in programs with fork-join (or nested) parallelism. Given a forkj… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
29
0

Year Published

2018
2018
2024
2024

Publication Types

Select...
4
3
1

Relationship

2
6

Authors

Journals

citations
Cited by 37 publications
(29 citation statements)
references
References 37 publications
0
29
0
Order By: Relevance
“…Tools such as Cilkview [17] and Cilkprof [36] analyze the execution of a Cilk program and report on the program's parallel scalability, which reflects how much speedup the program might achieve using different numbers of parallel processors. Several other tools analyze parallel memory accesses in a task-parallel program that might exhibit nondeterministic behavior between runs of the program [5,13,15,32,33,41]. Like Cilkmem, the analyses performed by these tools do not depend on how the program was scheduled for a particular run, and instead provide insight into the behavior or performance of all parallel executions of the program.…”
Section: Related Theoretical Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Tools such as Cilkview [17] and Cilkprof [36] analyze the execution of a Cilk program and report on the program's parallel scalability, which reflects how much speedup the program might achieve using different numbers of parallel processors. Several other tools analyze parallel memory accesses in a task-parallel program that might exhibit nondeterministic behavior between runs of the program [5,13,15,32,33,41]. Like Cilkmem, the analyses performed by these tools do not depend on how the program was scheduled for a particular run, and instead provide insight into the behavior or performance of all parallel executions of the program.…”
Section: Related Theoretical Workmentioning
confidence: 99%
“…Many dynamic-analysis tools (e.g., [15,17,36,41,44]) have been developed that exploit structural properties of fork-join programs to analyze a program efficiently. Specifically, these tools often leverage the fact that the execution of a fork-join program can be modeled as a series-parallel computation DAG (directed acyclic graph) [7,15], where the edges model executed instructions, and the vertices model parallel-control dependencies.…”
Section: Introductionmentioning
confidence: 99%
“…Prior works show that one can race detect computations that are SP dags efficiently by exploiting the nice structural properties. In particular, the reachability data structure can be maintained and queried with no asymptotic overhead for both serial [6,21] and parallel executions [56]. Moreover, the access history needs to store only a constant number of accessors per memory location to correctly race detect for such computations [19,20,38].…”
Section: Introductionmentioning
confidence: 99%
“…Over the years, researchers have proposed several algorithms [6,20,21,36,41,42,48] for performing race detection "on the fly" as the program executes. These race detectors perform a single execution of the program, augmented with a race-detection algorithm, and they generally provide a fairly strong correctness guarantee -for the given input, the race detector reports a race if and only if the program contains a race on that input.…”
Section: Introductionmentioning
confidence: 99%
“…Restricting the race detector to SP dags greatly simplifies the reachability data structure, giving rise to extremely efficient race detectors with only a constant-factor overhead for both sequential [6,21] and parallel executions [48] of the program being tested.…”
Section: Introductionmentioning
confidence: 99%