ACM Transactions on Programming Languages and Systems (TOPLAS)
Concurrency control and recovery in database systems
Concurrency control and recovery in database systems
Transactional memory: architectural support for lock-free data structures
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
A critique of ANSI SQL isolation levels
SIGMOD '95 Proceedings of the 1995 ACM SIGMOD international conference on Management of data
The serializability of concurrent database updates
Journal of the ACM (JACM)
Weak consistency: a generalized theory and optimistic implementations for distributed transactions
Weak consistency: a generalized theory and optimistic implementations for distributed transactions
On the correctness of transactional memory
Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
Dynamic performance tuning of word-based software transactional memory
Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
Serializable isolation for snapshot databases
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
Permissiveness in Transactional Memories
DISC '08 Proceedings of the 22nd international symposium on Distributed Computing
Scalable Techniques for Transparent Privatization in Software Transactional Memory
ICPP '08 Proceedings of the 2008 37th International Conference on Parallel Processing
Committing conflicting transactions in an STM
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
On avoiding spare aborts in transactional memory
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures
NOrec: streamlining STM by abolishing ownership records
Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
On maintaining multiple versions in STM
Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Lock-free and scalable multi-version software transactional memory
Proceedings of the 16th ACM symposium on Principles and practice of parallel programming
Single-version STMs can be multi-version permissive
ICDCN'11 Proceedings of the 12th international conference on Distributed computing and networking
SMV: selective multi-versioning STM
DISC'11 Proceedings of the 25th international conference on Distributed computing
Read invisibility, virtual world consistency and probabilistic permissiveness are compatible
ICA3PP'11 Proceedings of the 11th international conference on Algorithms and architectures for parallel processing - Volume Part I
DISC'06 Proceedings of the 20th international conference on Distributed Computing
Theoretical Computer Science
Relaxed Concurrency Control in Software Transactional Memory
IEEE Transactions on Parallel and Distributed Systems
Hi-index | 0.00 |
The notion of permissiveness in Transactional Memory (TM) translates to only aborting a transaction when it cannot be accepted in any history that guarantees correctness criterion. This property is neglected by most TMs, which, in order to maximize implementation's efficiency, resort to aborting transactions under overly conservative conditions. In this paper we seek to identify a sweet spot between permissiveness and efficiency by introducing the Time-Warp Multi-version algorithm (TWM). TWM is based on the key idea of allowing an update transaction that has performed stale reads (i.e., missed the writes of concurrently committed transactions) to be serialized by committing it in the past, which we call a time-warp commit. At its core, TWM uses a novel, lightweight validation mechanism with little computational overheads. TWM also guarantees that read-only transactions can never be aborted. Further, TWM guarantees Virtual World Consistency, a safety property that is deemed as particularly relevant in the context of TM. We demonstrate the practicality of this approach through an extensive experimental study, where we compare TWM with four other TMs, and show an average performance improvement of 65% in high concurrency scenarios.