Proceedings of the 27th ACM SIGPLAN Conference on Programming Language Design and Implementation 2006
DOI: 10.1145/1133981.1133985
|View full text |Cite
|
Sign up to set email alerts
|

Compiler and runtime support for efficient software transactional memory

Abstract: Programmers have traditionally used locks to synchronize concurrent access to shared data. Lock-based synchronization, however, has well-known pitfalls: using locks for fine-grain synchronization and composing code that already uses locks are both difficult and prone to deadlock. Transactional memory provides an alternate concurrency control mechanism that avoids these pitfalls and significantly eases concurrent programming. Transactional memory language constructs have recently been proposed as extensions to … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
208
0
1

Year Published

2007
2007
2022
2022

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 214 publications
(231 citation statements)
references
References 28 publications
1
208
0
1
Order By: Relevance
“…Software transactional memory (STM) [17][18][19] was proposed to ensure the correctness of speculative code. STM enables a group of read and write operations to execute atomically, embedded in transactions.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Software transactional memory (STM) [17][18][19] was proposed to ensure the correctness of speculative code. STM enables a group of read and write operations to execute atomically, embedded in transactions.…”
Section: Related Workmentioning
confidence: 99%
“…Despite increasing parallelism (speculatively), STM systems are notorious for the high overhead they introduce. The work of Adl-Tabatabai et al [17] develops compiler and runtime optimizations for transactional memory constructs, using JIT. Static optimizations are employed to expose safe operations, such that redundant STM operations can be removed, while the STM library interface is tailored to handle JIT-compiled and optimized code.…”
Section: Related Workmentioning
confidence: 99%
“…McRT-STM [86] is a software transactional memory system for C++ and Java implemented on top of the McRT [3] run-time system. It employs a direct update strategy in combination with early conflict detection for writes and late conflict detection for reads, and supports conflict detection at both cache line and object level.…”
Section: Mcrt-stmmentioning
confidence: 99%
“…Our propositional type system easily translates to existing constructs in the Java type system (e.g., require an expose ... establish clause through Java's static check for exception catching). The recent literature is rich with mechanisms applicable in our context for translating transactional extensions down to regular Java [1,30,31,34,40,46]. Therefore, this aspect of the implementation is well-understood, and we concentrate next on elements unique to TIC that are currently captured by our back-end library.…”
Section: Tic Prototypesmentioning
confidence: 99%