skip to main content
10.1145/1378533.1378549acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
research-article

Against lock-based semantics for transactional memory

Published: 14 June 2008 Publication History

Abstract

In this position paper, I argue that transactional memory should not be specified in terms of locks. In particular, the semantics of transactional memory in the face of nontransactional access, weak memory consistency guarantees and compiler transformations should not be determined by the behaviors exhibited by lock-based implementations. Specifying transactional behavior in terms of locks would repeat mistakes made in the database community and likely result in specifications as inscrutable to programmers as the memory consistency models that proliferated in the 1990s. It would undercut the promise of transactional memory to free us from the tyranny of lock-based programming and the fragile programs that result, a promise based on the potential for transactions to provide a measure of modularity for concurrent programs. We should strive to preserve that potential as we relax transactional guarantees to admit more efficient implementations.

References

[1]
A. Adya. Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions. PhD thesis, Massachusetts Institute of Technology, 1999.
[2]
A. Adya, B. Liskov, and P. E. O'Neil. Generalized isolation level definitions. In Proc. IEEE International Conference on Data Engineering (ICDE), pages 67--78, 2000.
[3]
S. Ananian, K. Asanovic, B. Kuszmaul, C. Leiserson, and S. Lie. Unbounded transactional memory. In Proc. 11th International Symposium on High-Performance Computer Architecture, pages 316--327, Feb. 2005.
[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, June 2005.
[5]
L. Crowl, Y. Lev, V. Luchangco, M. Moir, and D. Nussbaum. Integrating transactional memory into c. In Workshop on Transactional Computing (TRANSACT), 2007.
[6]
P. Damron, A. Fedorova, Y. Lev, V. Luchangco, M. Moir, and D. Nussbaum. Hybrid transactional memory. In Proc. 12th International Conference on Architectural Support for Programming Languages and Operating Systems, 2006.
[7]
J. Gray, R. A. Lorie, G. R. Putzolu, and I. L. Traiger. Granularity of locks and degrees of consistency and in a shared database. In Modeling in Database Management Systems. Elsevier North-Holland, 1976.
[8]
D. Grossman, J. Manson, and W. Pugh. What do high-level memory models mean for transactions? In Proc. 2006 Workshop on Memory System Performance and Correctness, pages 62--69, Oct. 2006.
[9]
L. Hammond, V. Wong, M. Chen, B. D. Carlstrom, J. D. Davis, B. Hertzberg, M. K. Prabhu, H. Wijaya, C. Kozyrakis, and K. Olukotun. Transactional memory coherence and consistency. In Proc. 31st Annual International Symposium on Computer Architecture, June 2004.
[10]
T. Harris. Personal communication, 2008.
[11]
T. Harris and K. Fraser. Language support for lightweight transactions. In Proc. 18th ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications, pages 388--402, 2003.
[12]
M. Herlihy, V. Luchangco, and M. Moir. A flexible framework for implementing software transactional memory. In Proc. 21th ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications, Oct. 2006.
[13]
M. Herlihy, V. Luchangco, M. Moir, and W. N. Scherer, III. Software transactional memory for dynamic-sized data structures. In Proc. 22nd Annual Symposium on Principles of Distributed Computing, pages 92--101, 2003.
[14]
M. Herlihy and J. E. B. Moss. Transactional memory: Architectural support for lock-free data structures. In Proc. 20th Annual International Symposium on Computer Architecture, pages 289--300, May 1993.
[15]
J. R. Larus and R. Rajwar. Transactional Memory. Morgan & Claypool, 2006.
[16]
Y. Lev, M. Moir, and D. Nussbaum. Ph™: Phased transactional memory. In Workshop on Transactional Computing (TRANSACT), 2007.
[17]
V. Luchangco. Memory Consistency Models for High Performance Distributed Computing. ScD thesis, Massachusetts Institute of Technology, 2001.
[18]
V. J. Marathe, M. F. Spear, C. Heriot, A. Acharya, D. Eisenstat, W. N. Scherer III, and M. L. Scott. Lowering the overhead of software transactional memory. In TRANSACT:First ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing, 2006.
[19]
V. Menon, S. Balensiefer, T. Shpeisman, A.-R. Adl-Tabatabai, R. L. Hudson, B. Saha, and A. Welc. Single global lock semantics in a weakly atomic S™. In Workshop on Transactional Computing (TRANSACT), 2008.
[20]
K. E. Moore, J. Bobba, M. J. Moravan, M. D. Hill, and D. A. Wood. Log™: Log--based transactional memory. In Proc. 12th Annual International Symposium on High Performance Computer Architecture, 2006.
[21]
K. F. Moore and D. Grossman. High-level small-step operational semantics for transactions. In Proc. 35th Annual ACM Symposium on Principles of Programming Languages, pages 51--62, 2008.
[22]
R. Rajwar, M. Herlihy, and K. Lai. Virtualizing transactional memory. In Proc. 32nd Annual International Symposium on Computer Architecture, pages 494--505, 2005.
[23]
B. Saha, A.-R. Adl-Tabatabai, R. Hudson, C. C. Minh, and B. Hertzberg. McRT-S™: A high performance software transactional memory system for a multi-core runtime. In Proc. 11th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), pages 187--197, 2006.
[24]
M. L. Scott. Sequential specification of transactional memory semantics. In TRANSACT:First ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing, 2006.
[25]
N. Shavit and D. Touitou. Software transactional memory. In Proc. 14th Annual ACM Symposium on Principles of Distributed Computing, pages 204--213, 1995.
[26]
M. F. Spear, V. J. Marathe, L. Dalessandro, and M. L. Scott. Privatization techniques for software transactional memory. In Proc. 26th Annual ACM Symposium on Principles of Distributed Computing (PODC), 2007.
[27]
F. Tabba, C. Wang, J. R. Goodman, and M. Moir. NZ™: Nonblocking, zero-indirection transactional memory. In Workshop on Transactional Computing (TRANSACT), 2007.
[28]
E. Vallejo, T. Harris, A. Cristal, O. Unsal, and M. Valero. Hybrid transactional memory to accelerate safe lock-based transactions. In Workshop on Transactional Computing (TRANSACT), 2008.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SPAA '08: Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
June 2008
380 pages
ISBN:9781595939739
DOI:10.1145/1378533
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 June 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. locks
  2. semantics
  3. transactional memory

Qualifiers

  • Research-article

Conference

SPAA08

Acceptance Rates

Overall Acceptance Rate 447 of 1,461 submissions, 31%

Upcoming Conference

SPAA '25
37th ACM Symposium on Parallelism in Algorithms and Architectures
July 28 - August 1, 2025
Portland , OR , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 19 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2010)Transactions as the foundation of a memory consistency modelProceedings of the 24th international conference on Distributed computing10.5555/1888781.1888788(20-34)Online publication date: 13-Sep-2010
  • (2010)Transactional Memory, 2nd editionSynthesis Lectures on Computer Architecture10.2200/S00272ED1V01Y201006CAC0115:1(1-263)Online publication date: 22-Dec-2010
  • (2010)Transactions as the Foundation of a Memory Consistency ModelDistributed Computing10.1007/978-3-642-15763-9_4(20-34)Online publication date: 2010
  • (2009)Feedback-directed barrier optimization in a strongly isolated STMACM SIGPLAN Notices10.1145/1594834.148090944:1(213-225)Online publication date: 21-Jan-2009
  • (2009)Towards transactional memory semantics for C++Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures10.1145/1583991.1584012(49-58)Online publication date: 11-Aug-2009
  • (2009)Feedback-directed barrier optimization in a strongly isolated STMProceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages10.1145/1480881.1480909(213-225)Online publication date: 21-Jan-2009
  • (2008)Ordering-Based Semantics for Software Transactional MemoryProceedings of the 12th International Conference on Principles of Distributed Systems10.1007/978-3-540-92221-6_19(275-294)Online publication date: 15-Dec-2008

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media