Proceedings of the 16th ACM Symposium on Principles and Practice of Parallel Programming 2011
DOI: 10.1145/1941553.1941563
|View full text |Cite
|
Sign up to set email alerts
|

OoOJava

Abstract: Developing parallel software using current tools can be challenging. Even experts find it difficult to reason about the use of locks and often accidentally introduce race conditions and deadlocks into parallel software. OoOJava is a compiler-assisted approach that leverages developer annotations along with static analysis to provide an easy-to-use deterministic parallel programming model. OoOJava extends Java with a task annotation that instructs the compiler to consider a code block for out-of-order execution… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
7
0

Year Published

2011
2011
2019
2019

Publication Types

Select...
4
3
2

Relationship

1
8

Authors

Journals

citations
Cited by 39 publications
(7 citation statements)
references
References 34 publications
0
7
0
Order By: Relevance
“…These studies focus on providing reconfigurable FPGA based environments with software tool chains to construct application specific MPSoC. CEDAR [10], MLCA [11], Multiscalar [12], Trace [13] OoOJava [22] An OoO compiler for Java runtime…”
Section: Related Studymentioning
confidence: 99%
See 1 more Smart Citation
“…These studies focus on providing reconfigurable FPGA based environments with software tool chains to construct application specific MPSoC. CEDAR [10], MLCA [11], Multiscalar [12], Trace [13] OoOJava [22] An OoO compiler for Java runtime…”
Section: Related Studymentioning
confidence: 99%
“…Hyperprocessor [39] manages global dependencies using a universal register file. OoOJava [22] is a compiler-assisted approach that leverages developer annotations along with static analysis to provide an easy-to-use deterministic parallel programming model. The method is based on task annotations that instruct the compiler to consider a code block for OoO execution.…”
Section: Related Studymentioning
confidence: 99%
“…The task abstraction moreover helps to provide determinism [Bocchino et al 2011;Jenista et al 2011;Cavé et al 2011;Bauer et al 2012], which describes that each execution of a parallel program provides the same or equivalent outcomes. Several programming patterns require dedicated language support to achieve determinism.…”
Section: Introductionmentioning
confidence: 99%
“…While attempts to extend Java with constructs to satisfy such assumptions have been proposed in the past [17,30,46,99], such extensions still leave the scheduling problem of legacy code open. As a result, to support legacy code, JVM implementers need to implement load balancing techniques for threads as well.…”
Section: Thread Schedulingmentioning
confidence: 99%