Consensus in the presence of partial synchrony
Journal of the ACM (JACM)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Unreliable failure detectors for reliable distributed systems
Journal of the ACM (JACM)
The weakest failure detector for solving consensus
Journal of the ACM (JACM)
Obstruction-Free Synchronization: Double-Ended Queues as an Example
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
On implementing omega with weak reliability and synchrony assumptions
Proceedings of the twenty-second annual symposium on Principles of distributed computing
Abortable and query-abortable objects and their efficient implementation
Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing
Obstruction-Free algorithms can be practically wait-free
DISC'05 Proceedings of the 19th 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
Partial synchrony based on set timeliness
Proceedings of the 28th ACM symposium on Principles of distributed computing
Abortable Fork-Linearizable Storage
OPODIS '09 Proceedings of the 13th International Conference on Principles of Distributed Systems
Contention-sensitive data structures and algorithms
DISC'09 Proceedings of the 23rd international conference on Distributed computing
On utilizing speed in networks of mobile agents
Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing
The computational structure of progress conditions
DISC'10 Proceedings of the 24th international conference on Distributed computing
Fork-Consistent constructions from registers
OPODIS'11 Proceedings of the 15th international conference on Principles of Distributed Systems
Hi-index | 0.00 |
We introduce a simple progress condition for shared object implementations that is gracefully degrading depending on the degree of synchrony in each run. This progress property, called timeliness-based wait-freedom, provides a gradual bridge between obstruction-freedom and wait-freedom in partially synchronous systems. We show that timeliness-based wait-freedom can be achieved with synchronization primitives that are very weak. More precisely, every object has a timeliness-based wait-free implementation that uses only abortable registers (which are weaker than safe registers). As part of this work, we present a new leader election primitive that processes can use to dynamically compete for leadership such that if there is at least one timely process among the current candidates for leadership, then a timely leader is eventually elected among the candidates. We also show that this primitive can be implemented using abortable registers.