Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
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
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Unbounded Transactional Memory
HPCA '05 Proceedings of the 11th International Symposium on High-Performance Computer Architecture
Composable memory transactions
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
Virtualizing Transactional Memory
Proceedings of the 32nd annual international symposium on Computer Architecture
McRT-Malloc: a scalable transactional memory allocator
Proceedings of the 5th international symposium on Memory management
Optimizing memory transactions
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Compiler and runtime support for efficient software transactional memory
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
What do high-level memory models mean for transactions?
Proceedings of the 2006 workshop on Memory system performance and correctness
Enforcing isolation and ordering in STM
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Code Generation and Optimization for Transactional Memory Constructs in an Unmanaged Language
Proceedings of the International Symposium on Code Generation and Optimization
Privatization techniques for software transactional memory
Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing
How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs
IEEE Transactions on Computers
High-level small-step operational semantics for transactions
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Semantics of transactional memory and automatic mutual exclusion
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
DISC'06 Proceedings of the 20th international conference on Distributed Computing
Dynamic optimization for efficient strong atomicity
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Design and implementation of transactional constructs for C/C++
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Feedback-directed barrier optimization in a strongly isolated STM
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The semantics of progress in lock-based transactional memory
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
Atomic quake: using transactional memory in an interactive multiplayer game server
Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming
A comprehensive strategy for contention management in software transactional memory
Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming
Transactional memory with strong atomicity using off-the-shelf memory protection hardware
Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming
NePalTM: design and implementation of nested parallelism for transactional memory systems
Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming
Implementation and Use of Transactional Memory with Dynamic Separation
CC '09 Proceedings of the 18th International Conference on Compiler Construction: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Reducing Memory Ordering Overheads in Software Transactional Memory
Proceedings of the 7th annual IEEE/ACM International Symposium on Code Generation and Optimization
Transactional Memory: Glimmer of a Theory
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
Towards transactional memory semantics for C++
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures
Perspectives on Transactional Memory
CONCUR 2009 Proceedings of the 20th International Conference on Concurrency Theory
NePaLTM: Design and Implementation of Nested Parallelism for Transactional Memory Systems
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Reducing Rollbacks of Transactional Memory Using Ordered Shared Locks
Euro-Par '09 Proceedings of the 15th International Euro-Par Conference on Parallel Processing
NOrec: streamlining STM by abolishing ownership records
Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
Lightweight, robust adaptivity for software transactional memory
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
Adaptive locks: Combining transactions and locks for efficient concurrency
Journal of Parallel and Distributed Computing
Extensible transactional memory testbed
Journal of Parallel and Distributed Computing
Exceptions and transactions in C++
HotPar'09 Proceedings of the First USENIX conference on Hot topics in parallelism
Euro-Par'10 Proceedings of the 16th international Euro-Par conference on Parallel processing: Part II
Transactions as the foundation of a memory consistency model
DISC'10 Proceedings of the 24th international conference on Distributed computing
DISC'10 Proceedings of the 24th international conference on Distributed computing
A scalable lock-free universal construction with best effort transactional hardware
DISC'10 Proceedings of the 24th international conference on Distributed computing
Semantics of transactional memory and automatic mutual exclusion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hybrid NOrec: a case study in the effectiveness of best effort hardware transactional memory
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
Compiler-assisted selection of a software transactional memory system
ARCS'11 Proceedings of the 24th international conference on Architecture of computing systems
Optimizing hybrid transactional memory: the importance of nonspeculative operations
Proceedings of the twenty-third annual ACM symposium on Parallelism in algorithms and architectures
A transactional memory with automatic performance tuning
ACM Transactions on Architecture and Code Optimization (TACO) - HIPEAC Papers
Delegation and nesting in best-effort hardware transactional memory
Proceedings of the twenty-fourth annual ACM symposium on Parallelism in algorithms and architectures
On the liveness of transactional memory
PODC '12 Proceedings of the 2012 ACM symposium on Principles of distributed computing
Weak atomicity for the x86 memory consistency model
Journal of Parallel and Distributed Computing
Sandboxing transactional memory
Proceedings of the 21st international conference on Parallel architectures and compilation techniques
A composable mixed mode concurrency control semantics for transactional programs
ICFEM'12 Proceedings of the 14th international conference on Formal Engineering Methods: formal methods and software engineering
Isolation for nested task parallelism
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Transactionalizing legacy code: an experience report using GCC and Memcached
Proceedings of the 19th international conference on Architectural support for programming languages and operating systems
Boosting timestamp-based transactional memory by exploiting hardware cycle counters
ACM Transactions on Architecture and Code Optimization (TACO)
Hi-index | 0.00 |
As memory transactions have been proposed as a language-level replacement for locks, there is growing need for well-defined semantics. In contrast to database transactions, transaction memory (TM) semantics are complicated by the fact that programs may access the same memory locations both inside and outside transactions. Strongly atomic semantics, where non transactional accesses are treated as implicit single-operation transactions, remain difficult to provide without specialized hardware support or significant performance overhead. As an alternative, many in the community have informally proposed that a single global lock semantics [18,10], where transaction semantics are mapped to those of regions protected by a single global lock, provide an intuitive and efficiently implementable model for programmers. In this paper, we explore the implementation and performance implications of single global lock semantics in a weakly atomic STM from the perspective of Java, and we discuss why even recent STM implementations fall short of these semantics. We describe a new weakly atomic Java STM implementation that provides single global lock semantics while permitting concurrent execution, but we show that this comes at a significant performance cost. We also propose and implement various alternative semantics that loosen single lock requirements while still providing strong guarantees. We compare our new implementations to previous ones, including a strongly atomic STM.[24]