On the minimal synchronism needed for distributed consensus
Journal of the ACM (JACM)
Consensus in the presence of partial synchrony
Journal of the ACM (JACM)
Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Unreliable failure detectors for reliable distributed systems
Journal of the ACM (JACM)
Time-Adaptive Algorithms for Synchronization
SIAM Journal on 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
Advanced contention management for dynamic software transactional memory
Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing
Toward a theory of transactional contention managers
Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing
Computing in the Presence of Timing Failures
ICDCS '06 Proceedings of the 26th IEEE International Conference on Distributed Computing Systems
Synchronization Algorithms and Concurrent Programming
Synchronization Algorithms and Concurrent Programming
The notion of a timed register and its application to indulgent synchronization
Proceedings of the nineteenth annual ACM symposium on Parallel algorithms and architectures
The weakest failure detectors to boost obstruction-freedom
DISC'06 Proceedings of the 20th international conference on Distributed Computing
Obstruction-Free algorithms can be practically wait-free
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Timeliness-based wait-freedom: a gracefully degrading progress condition
Proceedings of the twenty-seventh ACM symposium on Principles of distributed computing
Contention-sensitive data structures and algorithms
DISC'09 Proceedings of the 23rd international conference on Distributed computing
Looking for efficient implementations of concurrent objects
PaCT'11 Proceedings of the 11th international conference on Parallel computing technologies
Hi-index | 0.00 |
Three well studied progress conditions for implementing concurrent algorithms without locking are, obstruction-freedom, nonblocking and wait-freedom. Obstruction-freedom is weaker than nonblocking which, in turn, is weaker than wait-freedom. While obstruction-freedom and non-blocking have the potential to significantly improve the performance of concurrent applications, wait-freedom (although desirable) imposes too much overhead upon the implementation. In [5], Fich, Luchangco, Moir, and Shavit have presented an interesting transformation that converts any obstruction-free algorithm into a waitfree algorithm when analyzed in the unknown-bound semi-synchronous model. The FLMS transformation uses n atomic single-writer registers, n atomic multi-writer registers and a single fetch-and-increment object, where n is the number of processes. We define a time complexity measure for analyzing such transformations, and prove that the time complexity of the FLMS transformation is exponential in the number of processes n. This leads naturally to the question of whether the time and/or space complexity of the FLMS transformation can be improved by relaxing the wait-freedom progress condition. We present several efficient transformations that convert any obstruction-free algorithm into a non-blocking algorithm when analyzed in the unknown-bound semi-synchronous model. All our transformations have O(1) time complexity. One transformation uses n atomic singlewriter registers and a single compare-and-swap object; another transformation uses only a single compare-and-swap object which is assumed to support also a read operation.