2011
DOI: 10.1145/2038037.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
2

Citation Types

0
4
0

Year Published

2013
2013
2022
2022

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 7 publications
(4 citation statements)
references
References 28 publications
0
4
0
Order By: Relevance
“…Task parallelism [Fatahalian et al 2006;Blumofe et al 1995;Bellens et al 2006;Tzenakis et al 2012;Jenista et al 2011;Planas et al 2009;Duran et al 2011] is an alternative parallel paradigm where the load is organized into tasks that can be asynchronously executed. Additionally, some task-based programming models allow the programmer to specify data or control dependencies between the different tasks, which allows synchronization points relaxation by explicitly specifying the data involved in the operation [Jenista et al 2011;Tzenakis et al 2012;Duran et al 2011].…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…Task parallelism [Fatahalian et al 2006;Blumofe et al 1995;Bellens et al 2006;Tzenakis et al 2012;Jenista et al 2011;Planas et al 2009;Duran et al 2011] is an alternative parallel paradigm where the load is organized into tasks that can be asynchronously executed. Additionally, some task-based programming models allow the programmer to specify data or control dependencies between the different tasks, which allows synchronization points relaxation by explicitly specifying the data involved in the operation [Jenista et al 2011;Tzenakis et al 2012;Duran et al 2011].…”
Section: Introductionmentioning
confidence: 99%
“…The task-based execution model requires tracking the dependencies among tasks, which can be explicitly specified by the programmer [Jenista et al 2011;Zuckerman et al 2011] or dynamically handled by an underlying runtime system Tzenakis et al 2012;Duran et al 2011]. When dependencies are detected among tasks, a deterministic execution order is applied by the runtime system to enforce correctness.…”
Section: Introductionmentioning
confidence: 99%
“…Task parallelism [6,10,19,50,61,84,115,146] is an alternative parallel paradigm where the load is organized into tasks that can be asynchronously executed. Also, some task-based programming models allow the programmer to specify data or control dependencies between the different tasks, which allows synchronization points relaxation by explicitly specifying the data involved in the operation [6,50,84,146].…”
Section: Realistic Task-based Workloadsmentioning
confidence: 99%
“…The task-based execution model requires to track the dependencies among tasks, which can be explicitly specified by the programmer [84,154] or dynamically handled by an underlying runtime system [50,51,146]. When dependencies are detected among tasks, a deterministic execution order is applied by the runtime system to enforce correctness.…”
Section: Realistic Task-based Workloadsmentioning
confidence: 99%