2006
DOI: 10.1145/1133255.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
46
0

Year Published

2006
2006
2013
2013

Publication Types

Select...
4
3
1

Relationship

2
6

Authors

Journals

citations
Cited by 53 publications
(47 citation statements)
references
References 34 publications
1
46
0
Order By: Relevance
“…Moreover, the only difference among the STM and hybrid versions of the code is linkage against a different TM barrier library. Manual optimizations of read and write barriers for accesses to shared data were performed following the guidelines in [1,18]. Currently, the TM annotations are implemented by C macros, which makes them easy to replace, remove, or port to different systems.…”
Section: Methodsmentioning
confidence: 99%
“…Moreover, the only difference among the STM and hybrid versions of the code is linkage against a different TM barrier library. Manual optimizations of read and write barriers for accesses to shared data were performed following the guidelines in [1,18]. Currently, the TM annotations are implemented by C macros, which makes them easy to replace, remove, or port to different systems.…”
Section: Methodsmentioning
confidence: 99%
“…It plots the time it takes to complete a fixed set of insert, delete, and update operations on a 16-way SMP (symmetric multiprocessing) machine. 4 As the numbers show, the performance of coarse-grained locking does not improve as the number of processors increases, so coarse-grained locking does not scale. The performance of fine-grained locking and transactional memory, however, improves as the number of processors increases.…”
Section: Unlocking Concurrencymentioning
confidence: 99%
“…For managed environments such as Java, object based conflict detection can be implemented easily [1]. For unmanaged environments such as C, this is more difficult since we need to map an arbitrary interior pointer to the object base.…”
Section: Object Versus Cache-line Conflict Detectionmentioning
confidence: 99%
“…With transactions, the programmer marks the regions or operations that should execute atomically; the compiler and runtime system take care of the implementation. There are several proposals related to linguistic constructs for supporting transactional memory [1][4] [9]. This paper concentrates on the underlying runtime primitives and the interface needed to support the various semantics for transactional memory.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation