Algorithms for mutual exclusion
Algorithms for mutual exclusion
A fast mutual exclusion algorithm
ACM Transactions on Computer Systems (TOCS)
Proceedings of the eighth 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)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Bounds on shared memory for mutual exclusion
Information and Computation
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
Unreliable failure detectors for reliable distributed systems
Journal of the ACM (JACM)
Time-Adaptive Algorithms for Synchronization
SIAM Journal on Computing
The topological structure of asynchronous computability
Journal of the ACM (JACM)
Indulgent algorithms (preliminary version)
Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols
PODC '83 Proceedings of the second annual ACM symposium on Principles of distributed computing
Obstruction-Free Synchronization: Double-Ended Queues as an Example
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
Conditions on input vectors for consensus solvability in asynchronous distributed systems
Journal of the ACM (JACM)
The Information Structure of Indulgent Consensus
IEEE Transactions on Computers
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
A general characterization of indulgence
SSS'06 Proceedings of the 8th international conference on Stabilization, safety, and security of distributed systems
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
A subjective visit to selected topics in distributed computing
DISC'07 Proceedings of the 21st international conference on Distributed Computing
Efficient transformations of obstruction-free algorithms into non-blocking algorithms
DISC'07 Proceedings of the 21st international conference on Distributed Computing
Hi-index | 0.00 |
A new type of shared object, called timed register, is proposed and used to design indulgent timing-based algorithms. A timed register generalizes the notion of an atomic register as follows: if a process invokes two consecutive operations on the same timed register which are a read followed by a write, then the write operation is executed only if it is invoked at most d time units after the read operation, where d is defined as part of the read operation. In this context, a timing-based algorithm is an algorithm whose correctness relies on the existence of a bound Δ such that any pair of consecutive constrained read and write operations issued by the same process on the same timed register are separated by at most Δ time units. An indulgent algorithm is an algorithm that always guarantees the safety properties, and ensures the liveness property as soon as the timing assumptions are satisfied. The usefulness of this new type of shared object is demonstrated by presenting simple and elegant indulgent timing-based algorithms that solve the mutual exclusion, l-exclusion, adaptive renaming,test&set, and consensus problems. Interestingly, timed registers are universal objects in systems with process crashes and transient timing failures (i.e., they allow building any concurrent object with a sequential specification). The paper also suggests connections with schedulers and contention managers.