Proceedings of the 23rd ACM SIGPLAN Conference on Object-Oriented Programming Systems Languages and Applications 2008
DOI: 10.1145/1449764.1449780
|View full text |Cite
|
Sign up to set email alerts
|

Design and implementation of transactional constructs for C/C++

Abstract: This paper presents a software transactional memory system that introduces first-class C++ language constructs for transactional programming. We describe new C++ language extensions, a production-quality optimizing C++ compiler that translates and optimizes these extensions, and a highperformance STM runtime library. The transactional language constructs support C++ language features including classes, inheritance, virtual functions, exception handling, and templates. The compiler automatically instruments the… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
28
0

Year Published

2008
2008
2016
2016

Publication Types

Select...
5
2
2

Relationship

0
9

Authors

Journals

citations
Cited by 85 publications
(34 citation statements)
references
References 47 publications
0
28
0
Order By: Relevance
“…Additionally, the issue of contention management [47][48][49] is closely related to adaptive mode switching. A contention manager decides on a policy for favoring transactions in the case of contention, possibly radically switching the performance characteristics of the system.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Additionally, the issue of contention management [47][48][49] is closely related to adaptive mode switching. A contention manager decides on a policy for favoring transactions in the case of contention, possibly radically switching the performance characteristics of the system.…”
Section: Related Workmentioning
confidence: 99%
“…A contention manager decides on a policy for favoring transactions in the case of contention, possibly radically switching the performance characteristics of the system. A close relative of adaptive locks in this space is the work of Ni et al [48], which describes a real-world implementation of transactional constructs for C and C++. Their approach includes multiple mechanisms that are related to switching implementation policy, including transactions that can perform irrevocable operations, transactions that put all other transactions on hold, and switching a transaction between optimistic and pessimistic concurrency control.…”
Section: Related Workmentioning
confidence: 99%
“…STAMP does not provide lock based implementations of the applications, although the behavior of variants using a single global lock, in place of transactions, has sometimes been studied [1]. SPLASH-2 [35] is a suite of highly parallel applications which have subsequently been adapted to use TM for synchronization [25]. In general, the SPLASH-2 applications involve short, infrequent, critical sections.…”
Section: Related Workmentioning
confidence: 99%
“…Software transactional memory is a relatively mature field and some embodiments have been deployed in productionquality compilers [18]. While they provide a framework for gaining experience working with transactions, the loss in performance is too big to attract a reasonable user community [3].…”
Section: Introductionmentioning
confidence: 99%