Transactional memory: architectural support for lock-free data structures
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing
Generalized Isolation Level Definitions
ICDE '00 Proceedings of the 16th International Conference on Data Engineering
Software transactional memory for dynamic-sized data structures
Proceedings of the twenty-second annual symposium on Principles of distributed computing
Weak consistency: a generalized theory and optimistic implementations for distributed transactions
Weak consistency: a generalized theory and optimistic implementations for distributed transactions
Memory consistency models for high-performance distributed computing
Memory consistency models for high-performance distributed computing
Memory consistency models for high-performance distributed computing
Memory consistency models for high-performance distributed computing
Language support for lightweight transactions
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Transactional Memory Coherence and Consistency
Proceedings of the 31st annual international symposium on Computer architecture
Unbounded Transactional Memory
HPCA '05 Proceedings of the 11th International Symposium on High-Performance Computer Architecture
Virtualizing Transactional Memory
Proceedings of the 32nd annual international symposium on Computer Architecture
McRT-STM: a high performance software transactional memory system for a multi-core runtime
Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming
A flexible framework for implementing software transactional memory
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
What do high-level memory models mean for transactions?
Proceedings of the 2006 workshop on Memory system performance and correctness
Privatization techniques for software transactional memory
Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing
High-level small-step operational semantics for transactions
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Feedback-directed barrier optimization in a strongly isolated STM
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Ordering-Based Semantics for Software Transactional Memory
OPODIS '08 Proceedings of the 12th International Conference on Principles of Distributed Systems
Towards transactional memory semantics for C++
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures
Transactional memory should be an implementation technique, not a programming interface
HotPar'09 Proceedings of the First USENIX conference on Hot topics in parallelism
Transactions as the foundation of a memory consistency model
DISC'10 Proceedings of the 24th international conference on Distributed computing
Hi-index | 0.00 |
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.