Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
A critique of ANSI SQL isolation levels
SIGMOD '95 Proceedings of the 1995 ACM SIGMOD international conference on Management of data
Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing
Obstruction-Free Synchronization: Double-Ended Queues as an Example
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
Software transactional memory for dynamic-sized data structures
Proceedings of the twenty-second annual symposium on Principles of 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
Advanced contention management for dynamic software transactional memory
Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing
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
Snapshots and software transactional memory
Science of Computer Programming - Special issue: Concurrency and synchronization in Java programs
Optimizing memory transactions
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
DISC'06 Proceedings of the 20th international conference on Distributed Computing
Polymorphic contention management
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Adaptive software transactional memory
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Concurrent programming without locks
ACM Transactions on Computer Systems (TOCS)
Time-based transactional memory with scalable time bases
Proceedings of the nineteenth annual ACM symposium on Parallel algorithms and architectures
Code Generation and Optimization for Transactional Memory Constructs in an Unmanaged Language
Proceedings of the International Symposium on Code Generation and Optimization
STMBench7: a benchmark for software transactional memory
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
From causal to z-linearizable transactional memory
Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing
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
Transactions are back---but are they the same?
ACM SIGACT News
Automatic data partitioning in software transactional memories
Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
RingSTM: scalable transactions with a single atomic instruction
Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
Commit phase in timestamp-based stm
Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
Lee-TM: A Non-trivial Benchmark Suite for Transactional Memory
ICA3PP '08 Proceedings of the 8th international conference on Algorithms and Architectures for Parallel Processing
Permissiveness in Transactional Memories
DISC '08 Proceedings of the 22nd international symposium on Distributed Computing
A Lock-Based STM Protocol That Satisfies Opacity and Progressiveness
OPODIS '08 Proceedings of the 12th International Conference on Principles of Distributed Systems
Stretching transactional memory
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
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
Inherent limitations on disjoint-access parallel implementations of transactional memory
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures
TMBean: Optimistic Concurrency in Application Servers Using Transactional Memory
OTM '09 Proceedings of the Confederated International Conferences, CoopIS, DOA, IS, and ODBASE 2009 on On the Move to Meaningful Internet Systems: Part I
NB-FEB: A Universal Scalable Easy-to-Use Synchronization Primitive for Manycore Architectures
OPODIS '09 Proceedings of the 13th International Conference on Principles of Distributed Systems
From lock to correct and efficient software transactional memory
Proceedings of the 2010 Workshop on Interaction between Compilers and Computer Architecture
Transactional memory support for scalable and transparent parallelization of multiplayer games
Proceedings of the 5th European conference on Computer systems
Lightweight, robust adaptivity for software transactional memory
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
TLRW: return of the read-write lock
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
DISC'09 Proceedings of the 23rd international conference on Distributed computing
Extensible software transactional memory
Proceedings of the Third C* Conference on Computer Science and Software Engineering
On maintaining multiple versions in STM
Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Journal of Parallel and Distributed Computing
Extensible transactional memory testbed
Journal of Parallel and Distributed Computing
DISC'10 Proceedings of the 24th international conference on Distributed computing
Why STM can be more than a research toy
Communications of the ACM
RobuSTM: a robust software transactional memory
SSS'10 Proceedings of the 12th international conference on Stabilization, safety, and security of distributed systems
Hardware Support for Relaxed Concurrency Control in Transactional Memory
MICRO '43 Proceedings of the 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture
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
RMS-TM: a comprehensive benchmark suite for transactional memory systems
Proceedings of the 2nd ACM/SPEC International Conference on Performance engineering
Optimizing hybrid transactional memory: the importance of nonspeculative operations
Proceedings of the twenty-third annual ACM symposium on Parallelism in algorithms and architectures
An implementation of composable memory transactions in Haskell
SC'11 Proceedings of the 10th international conference on Software composition
Atomic boxes: coordinated exception handling with transactional memory
Proceedings of the 25th European conference on Object-oriented programming
SMV: selective multi-versioning STM
DISC'11 Proceedings of the 25th international conference on Distributed computing
STM with transparent API considered harmful
ICA3PP'11 Proceedings of the 11th international conference on Algorithms and architectures for parallel processing - Volume Part I
SPECTRE: speculation to hide communication latency
Proceedings of the Second Asia-Pacific Workshop on Systems
DISC'06 Proceedings of the 20th international conference on Distributed Computing
AGC: adaptive global clock in software transactional memory
Proceedings of the 2012 International Workshop on Programming Models and Applications for Multicores and Manycores
Democratizing transactional programming
Middleware'11 Proceedings of the 12th ACM/IFIP/USENIX international conference on Middleware
Transactional access to shared memory in starss, a task based programming model
Euro-Par'12 Proceedings of the 18th international conference on Parallel Processing
Efficient support for in-place metadata in transactional memory
Euro-Par'12 Proceedings of the 18th international conference on Parallel Processing
Democratizing transactional programming
Proceedings of the 12th International Middleware Conference
Pessimistic software lock-elision
DISC'12 Proceedings of the 26th international conference on Distributed Computing
FastLane: improving performance of software transactional memory for low thread counts
Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming
Runtime elision of transactional barriers for captured memory
Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming
Reduced hardware transactions: a new approach to hybrid transactional memory
Proceedings of the twenty-fifth annual ACM symposium on Parallelism in algorithms and architectures
Revisiting transactions in Ada
ACM SIGAda Ada Letters
Hi-index | 0.02 |
Most high-performance software transactional memories (STM) use optimistic invisible reads. Consequently, a transaction might have an inconsistent view of the objects it accesses unless the consistency of the view is validated whenever the view changes. Although all STMs usually detect inconsistencies at commit time, a transaction might never reach this point because an inconsistent view can provoke arbitrary behavior in the application (e.g., enter an infinite loop). In this paper, we formally introduce a lazy snapshot algorithm that verifies at each object access that the view observed by a transaction is consistent. Validating previously accessed objects is not necessary for that, however, it can be used on-demand to prolong the view's validity. We demonstrate both formally and by measurements that the performance of our approach is quite competitive by comparing other STMs with an STM that uses our algorithm.