Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machi 2014
DOI: 10.1145/2647508.2647525
|View full text |Cite
|
Sign up to set email alerts
|

Closed and open nested atomic actions for Java

Abstract: We describe the design and prototype implementation of a dialect of Java, XJ, that supports both closed and open nested transactions. As we have previously advocated, open nesting most naturally attaches to the class as the primary abstraction mechanism of Java. The resulting design allows natural expression of layered abstractions for concurrent data structures, while promoting improved concurrency for operations on those abstractions. Moreover, we describe our approach to constructing a prototype implementat… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
6
0

Year Published

2016
2016
2021
2021

Publication Types

Select...
4
1

Relationship

2
3

Authors

Journals

citations
Cited by 5 publications
(6 citation statements)
references
References 15 publications
(37 reference statements)
0
6
0
Order By: Relevance
“…Our implementation extends that of Chapman et al [1], comprising four main components: (1) a compiler front-end based on OpenJDK's javac, (2) a minimally modified version of OpenJDK to support hardware transactional memory using TSX, (3) a Java agent for load-time bytecode rewriting to inject transaction support, and (4) a run-time library to manage the dynamics of transactions and abstract locking. Figure 1 shows how these components fit together.…”
Section: Methodsmentioning
confidence: 99%
See 4 more Smart Citations
“…Our implementation extends that of Chapman et al [1], comprising four main components: (1) a compiler front-end based on OpenJDK's javac, (2) a minimally modified version of OpenJDK to support hardware transactional memory using TSX, (3) a Java agent for load-time bytecode rewriting to inject transaction support, and (4) a run-time library to manage the dynamics of transactions and abstract locking. Figure 1 shows how these components fit together.…”
Section: Methodsmentioning
confidence: 99%
“…However, the more abstract 1 transactions provided by open nesting-which offer increased concurrency because abstract concurrency control captures the essential semantic conflict while read/write level conflict detection over-estimates conflicts-must be built from something, and the individual operations must still appear to execute atomically. More precisely, they must be linearizable [13]: they must appear to occur at a single instant of time.…”
Section: Open Nestingmentioning
confidence: 99%
See 3 more Smart Citations