1999
DOI: 10.1007/s002240000120
|View full text |Cite
|
Sign up to set email alerts
|

Efficient Detection of Determinacy Races in Cilk Programs

Abstract: A parallel multithreaded program that is ostensibly deterministic may nevertheless behave nondeterministically due to bugs in the code. These bugs are called determinacy races, and they result when one thread updates a location in shared memory while another thread is concurrently accessing the location. We have implemented a provably efficient determinacy-race detector for Cilk, an algorithmic multithreaded programming language. If a Cilk program run on a given input data set has a determinacy race, our debug… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
43
0

Year Published

2001
2001
2019
2019

Publication Types

Select...
5
2

Relationship

0
7

Authors

Journals

citations
Cited by 52 publications
(43 citation statements)
references
References 25 publications
0
43
0
Order By: Relevance
“…Thus in this example, a cilk_sync statement is inserted at line 10 to ensure that the function does not return until the walk of the left and right children are done. This parallelization is incorrect, however, since it contains a determinacy race [11] (also referred a as general race [28]) on the list l, because the logically parallel subcomputations -the walks of the left and right subtrees -may potentially access the list in parallel.…”
Section: Cilk Linguisticsmentioning
confidence: 99%
See 1 more Smart Citation
“…Thus in this example, a cilk_sync statement is inserted at line 10 to ensure that the function does not return until the walk of the left and right children are done. This parallelization is incorrect, however, since it contains a determinacy race [11] (also referred a as general race [28]) on the list l, because the logically parallel subcomputations -the walks of the left and right subtrees -may potentially access the list in parallel.…”
Section: Cilk Linguisticsmentioning
confidence: 99%
“…Reducer hyperobjects (or reducers for short) [12] have been shown to be a useful linguistic mechanism to avoid determinacy races [11] (also referred as general races [28]) in dynamic multithreaded programs. Reducers allow different logical branches of a parallel computation to maintain coordinated local views of the same nonlocal variable.…”
Section: Introductionmentioning
confidence: 99%
“…1 This special case of entirely deterministic applications was also addressed by the Cilk Nondeterminator [7], whereas this paper addresses the problem in a more general setting.…”
Section: Conflict Freedom Threads Insinde Each Transaction Must Be Cmentioning
confidence: 99%
“…The Cilk project investigated verifying determinism of entire multithreaded applications, first addressing a more restricted fork-join concurrency structure [7] and later extending that approach to more general locking idioms [2]. While successful for deterministic Cilk applications, this approach does not support applications (like hedc, queue-jg, and queue-mm) that are non-deterministic but contain deterministic subcomputations.…”
Section: Related Workmentioning
confidence: 99%
“…Cilk-5.0 could use operating system threads as well as processes to implement the individual Cilk "workers" that schedule Cilk threads. The Cilk-5.2 release included a debugging tool called the Nondeterminator [12,9], which can help Cilk programmers to localize data-race bugs in their code. (The Nondeterminator is not included in the present Cilk-5.3 release.)…”
Section: Background and Goalsmentioning
confidence: 99%