2011
DOI: 10.1145/1925844.1926447
|View full text |Cite
|
Sign up to set email alerts
|

Safe nondeterminism in a deterministic-by-default parallel language

Abstract: A number of deterministic parallel programming models with strong safety guarantees are emerging, but similar support for nondeterministic algorithms, such as branch and bound search, remains an open question. We present a language together with a type and effect system that supports nondeterministic computations with a deterministic-by-default guarantee: nondeterminism must be explicitly requested via special parallel constructs (marked nd), and any deterministic construct that does not execute any nd constru… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
22
0

Year Published

2011
2011
2017
2017

Publication Types

Select...
4
3
1

Relationship

0
8

Authors

Journals

citations
Cited by 43 publications
(25 citation statements)
references
References 57 publications
(67 reference statements)
0
22
0
Order By: Relevance
“…Dynamic non-interference of memory operations can only be determined after evaluation of an expression is completed, and only at great expense, as illustrated by work on transactional memory [13]. At the other extreme are systems like Jade [17] and DPJ [5] that check non-interference statically, but must disallow aliasing to do so. In contrast, Legion can verify non-interference of privileges at runtime, which is much simpler and more efficient than checking non-interference of dynamic memory traces.…”
Section: Parallel Executionmentioning
confidence: 99%
“…Dynamic non-interference of memory operations can only be determined after evaluation of an expression is completed, and only at great expense, as illustrated by work on transactional memory [13]. At the other extreme are systems like Jade [17] and DPJ [5] that check non-interference statically, but must disallow aliasing to do so. In contrast, Legion can verify non-interference of privileges at runtime, which is much simpler and more efficient than checking non-interference of dynamic memory traces.…”
Section: Parallel Executionmentioning
confidence: 99%
“…However, those constructs (or the constructs offered by DPJ [6]) are not applicable to the nondeterministic, irregular parallel programs supported by Otello.…”
Section: Related Workmentioning
confidence: 99%
“…Deterministic Parallel Java [2] uses a static type and effect system to enforce memory isolation among tasks, and uses regions to reason about memory effects and infer task memory footprints. However, parallelism is restricted inside cobegin statements that implicitly wait for all sub-tasks before returning to the parent task, similarly to Cilk.…”
Section: Related Workmentioning
confidence: 99%
“…1 To overcome this, manufacturers relax the coherent shared memory requirements, moving towards NUMA and non-cache coherent systems. 2 In the past, non-shared memory computers were mostly used in scientific and high-performance applications. To fully take advantage of cluster supercomputers, HPC programmers use explicit message-passing between parallel processes running on separate processors.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation