Parallel program design: a foundation
Parallel program design: a foundation
Impossibility and universality results for wait-free synchronization
PODC '88 Proceedings of the seventh annual ACM Symposium on Principles of distributed computing
Sticky bits and universality of consensus
Proceedings of the eighth annual ACM Symposium on Principles of distributed computing
Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
A methodology for implementing highly concurrent data structures
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Verification of sequential and concurrent programs
Verification of sequential and concurrent programs
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
The ``Hoare Logic'' of CSP, and All That
ACM Transactions on Programming Languages and Systems (TOPLAS)
PARLE '91 Proceedings of Parallel Architectures and Languages - Volume II
Progress under bounded fairness
Distributed Computing
Hi-index | 0.00 |
Given a sequential implementation of an arbitrary data object, a wait-free, linearizable concurrent implementation is constructed with space complexity quadratic in the number of processes. If processes do not concurrently invoke, the amortized time complexity of the invocations is independent of the number of processes. The worst case time complexity is linear in the number of processes. The construction is based on a compare&swap register. The correctness is proved by means of invariants and stability properties. Since it concerns memory reallocation by concurrent processes in a fault-tolerant setting, this proof is highly nontrivial.