Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Locking without blocking: making lock based concurrent data structure algorithms nonblocking
PODS '92 Proceedings of the eleventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Transactional memory: architectural support for lock-free data structures
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
A method for implementing lock-free shared-data structures
SPAA '93 Proceedings of the fifth annual ACM symposium on Parallel algorithms and architectures
Disjoint-access-parallel implementations of strong shared memory primitives
PODC '94 Proceedings of the thirteenth annual ACM symposium on Principles of distributed computing
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
The serializability of concurrent database updates
Journal of the ACM (JACM)
Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery
Transactional lock-free execution of lock-based programs
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
Software transactional memory for dynamic-sized data structures
Proceedings of the twenty-second annual symposium on Principles of distributed computing
Distributed Computing: Fundamentals, Simulations and Advanced Topics
Distributed Computing: Fundamentals, Simulations and Advanced Topics
Enforcing isolation and ordering in STM
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs
IEEE Transactions on Computers
Proving the Correctness of Multiprocess Programs
IEEE Transactions on Software Engineering
On the correctness of transactional memory
Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
Transactional boosting: a methodology for highly-concurrent transactional objects
Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
On obstruction-free transactions
Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
Software transactional memory: why is it only a research toy?
Communications of the ACM - Remembering Jim Gray
The semantics of progress in lock-based transactional memory
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Toward a Theory of Input Acceptance for Transactional Memories
OPODIS '08 Proceedings of the 12th International Conference on Principles of Distributed Systems
The complexity of obstruction-free implementations
Journal of the ACM (JACM)
Rock: A High-Performance Sparc CMT Processor
IEEE Micro
On avoiding spare aborts in transactional memory
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures
Inherent limitations on disjoint-access parallel implementations of transactional memory
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures
The Art of Multiprocessor Programming
The Art of Multiprocessor Programming
Highly-concurrent multi-word synchronization
ICDCN'08 Proceedings of the 9th international conference on Distributed computing and networking
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
Simplifying concurrent algorithms by exploiting hardware transactional memory
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
A universal construction for wait-free transaction friendly data structures
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
Flat combining and the synchronization-parallelism tradeoff
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
On maintaining multiple versions in STM
Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing
DISC'10 Proceedings of the 24th international conference on Distributed computing
Built-in coloring for highly-concurrent doubly-linked lists
DISC'06 Proceedings of the 20th international conference on Distributed Computing
DISC'06 Proceedings of the 20th international conference on Distributed Computing
STM in the small: trading generality for performance in software transactional memory
Proceedings of the 7th ACM european conference on Computer Systems
Hi-index | 0.00 |
This paper overviews some of the lower bounds on the complexity of implementing software transactional memory, and explains their underlying assumptions. It discusses how these lower bounds align with experimental results and design choices made in existing implementations to indicate that the transactional approach for concurrent programming must compromise either programming simplicity or scalability. There are several contemporary research avenues that address the challenge of concurrent programming. For example, optimizing coarse-grained techniques, and concurrent programming with mini-transactions--simple atomic operations on a small number of locations.