ACM Transactions on Programming Languages and Systems (TOPLAS)
Alpha architecture reference manual
Alpha architecture reference manual
A methodology for implementing highly concurrent data objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
Universal constructions for multi-object operations
Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing
Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing
STOC '95 Proceedings of the twenty-seventh annual ACM symposium on Theory of computing
Practical implementations of non-blocking synchronization primitives
PODC '97 Proceedings of the sixteenth annual ACM symposium on Principles of distributed computing
Concurrent reading and writing
Communications of the ACM
f-arrays: implementation and applications
Proceedings of the twenty-first annual symposium on Principles of distributed computing
Universal Constructions for Large Objects
WDAG '95 Proceedings of the 9th International Workshop on Distributed Algorithms
Transparent Support for Wait-Free Transactions
WDAG '97 Proceedings of the 11th International Workshop on Distributed Algorithms
Nonblocking k-compare-single-swap
Proceedings of the fifteenth annual ACM symposium on Parallel algorithms and architectures
Efficient and practical constructions of LL/SC variables
Proceedings of the twenty-second annual symposium on Principles of distributed computing
Bringing practical lock-free synchronization to 64-bit applications
Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing
An optimal multi-writer snapshot algorithm
Proceedings of the thirty-seventh annual ACM symposium on Theory of computing
Efficient Wait-Free Implementation of Multiword LL/SC Variables
ICDCS '05 Proceedings of the 25th IEEE International Conference on Distributed Computing Systems
Hi-index | 0.00 |
Over the past decade, a pair of instructions called load-linked (LL) and store-conditional (SC) have emerged as the most suitable synchronization instructions for the design of lock-free algorithms. However, current architectures do not support these instructions; instead, they support either CAS (e.g., UltraSPARC, Itanium) or restricted versions of LL/SC (e.g., POWER4, MIPS, Alpha). To bridge this gap, a flurry of algorithms that implement LL/SC from CAS have appeared in the literature. Some of these algorithms assume that N, the maximum number of participating processes, is fixed and known in advance. Others make no such assumption, but are either non-blocking (not wait-free), implement small LL/SC objects, or require that a process performs O(N) work to join the algorithm. Specifically, no constant-time, word-sized, wait-free LL/SC algorithm that does not require the knowledge of N exists. In this paper, we present such an algorithm.