Efficient synchronization of multiprocessors with shared memory
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
A methodology for implementing highly concurrent data objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Transactional memory: architectural support for lock-free data structures
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
Disjoint-access-parallel implementations of strong shared memory primitives
PODC '94 Proceedings of the thirteenth annual ACM symposium on Principles of distributed computing
Universal constructions for multi-object operations
Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing
The power of multi-objects (extended abstract)
PODC '96 Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing
Universal operations: unary versus binary
PODC '96 Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing
PODC '97 Proceedings of the sixteenth annual ACM symposium on Principles of distributed computing
Journal of the ACM (JACM)
Consensus numbers of multi-objects
PODC '98 Proceedings of the seventeenth annual ACM symposium on Principles of distributed computing
Distributed Algorithms
WDAG '97 Proceedings of the 11th International Workshop on Distributed Algorithms
Transparent Support for Wait-Free Transactions
WDAG '97 Proceedings of the 11th International Workshop on Distributed Algorithms
Hi-index | 0.00 |
This paper describes the ability of asynchronous shared-memory distributed systems to solve the consensus problem in a wait-free manner if processes are permitted to perform transactions on the shared memory in a single atomic action. It will be shown that transactional memory is often extremely powerful, even if weak types of shared objects are used and the transactions are short. Suppose T is a type of shared object. For any positive integer m, the transactional type trans(T,m) allows processes to perform up to m accesses to a collection of objects of type T in a transaction. The transaction may also include internal process actions that do not affect the shared memory. For any non-trivial type T, trans(T,m) can solve consensus among Ω(2m/2) processes. A stronger lower bound of Ω(2m is given for a large class of objects that includes all non-trivial read-modify-write types T. If the type T is equipped with operations that allow processes to read the state of the object without altering the state, then trans(T, 2) is capable of solving consensus among any number of processes. This paper also gives a consensus algorithm for nm-1 processes using trans(n-consensus,m) and a consensus algorithm for any number of processes that uses trans(test&set, 3).