ACM Home Page
Please provide us with feedback. Feedback
Towards transactional memory semantics for C++
Full text PdfPdf (433 KB)
Source
ACM Symposium on Parallel Algorithms and Architectures archive
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures table of contents
Calgary, AB, Canada
SESSION: Transactional memory I table of contents
Pages 49-58  
Year of Publication: 2009
ISBN:978-1-60558-606-9
Authors
Tatiana Shpeisman  Intel Corporation, Santa Clara, CA, USA
Ali-Reza Adl-Tabatabai  Intel Corporation, Santa Clara, CA, USA
Robert Geva  Intel Corporation, Santa Clara, CA, USA
Yang Ni  Intel Corporation, Santa Clara, CA, USA
Adam Welc  Intel Corporation, Santa Clara, CA, USA
Sponsors
SIGOPS: ACM Special Interest Group on Operating Systems
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 23,   Downloads (12 Months): 60,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1583991.1584012
What is a DOI?

ABSTRACT

Transactional memory (TM) eliminates many problems associated with lock-based synchronization. Over recent years, much progress has been made in software and hardware implementation techniques for TM. However, before transactional memory can be integrated into mainstream programming languages, we must precisely define its meaning in the context of these languages. In particular, TM semantics should address the advanced features present in the existing software TM implementations, such as interactions between transactions and locks, explicit user-level abort and support for legacy code.

In this paper, we address these topics from both theoretical and practical points of view. We give precise formulations of several popular TM semantics for the domain of sequentially consistent executions and show that some of these semantics are equivalent for C++ programs that do not contain other forms of synchronization. We show that lock-based semantics, such as Single Global Lock Atomicity (SLA) or Disjoint Lock Atomicity (DLA), do not actually guarantee atomicity for race-free programs and propose a new semantics, Race-Free Atomicity (RFA) that gives such a guarantee. We compare these semantics from the programmer and implementation points of view and explain why supporting non-atomic transactions is useful. Finally, we propose a new set of language constructs that let programmers explicitly specify whether transactions should be atomic and describe how these constructs interact with user-level abort and legacy code.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
3
 
4
C. Blundell, E. C. Lewis, and M. M. K. Martin. Deconstructing transactions: The subtleties of atomicity. In Fourth Annual Workshop on Duplicating, Deconstructing, and Debunking, 2005.
 
5
H. Boehm. Transactional memory should be an implementation technique, not a programming interface. In to HotPar 2009, to appear.
6
7
 
8
C++ Standards Committee, Pete Becker, ed. Working draft, standard for programming language C++. C++ standards committee paper WG21/N2857=PL22.16/09-0047, March 2009. http://www.open-std.org/JTC1/ SC22/WG21/docs/papers/2009/n2857.pdf.
 
9
L. Crowl, Y. Lev, V. Luchangco, M. Moir, and D. Nussbaum. Integrating transactional memory into c++. In The Second ACM SIGPLAN Workshop on Transactional Computing, 2007.
 
10
L. Dalessandro and M. L. Scott. Strong isolation is a weak idea. In The Fourth ACM SIGPLAN Workshop on Transactional Computing, 2009.
11
 
12
D. Dice, O. Shalev, and N. Shavit. Transactional Locking II. In DISC 2006.
13
 
14
C. Flanagan, S. N. Freund, and J. Yi. Velodrome: A sound and complete dynamic atomicity checker for multithreaded programs.
15
16
17
18
19
 
20
J. Larus and R. Rajwar. Transactional Memory. Morgan & Claypool Publishers, 2006.
21
22
23
 
24
V. J. Marathe, W. N. Scherer, III, and M. L. Scott. Adaptive software transactional memory. In International Symposium on Distributed Computing 2005.
25
26
27
28
29
30
31
 
32
33
 
34
H. Volos, N. Goyal, and M. Swift. Pathological interactions of locks with transactional memory. In The Third ACM SIGPLAN Workshop on Transactional Computing, 2008.

Collaborative Colleagues:
Tatiana Shpeisman: colleagues
Ali-Reza Adl-Tabatabai: colleagues
Robert Geva: colleagues
Yang Ni: colleagues
Adam Welc: colleagues