Reaching Consensus in the Presence of Contention-Related Crash Failures
Résumé
While consensus is at the heart of many coordination problems in asynchronous distributed systems prone to process crashes, it has been shown to be impossible to solve in such systems where processes communicate by messagepassing or by reading and writing a shared memory. Hence, these systems must be enriched with additional computational power for consensus to be solved on top of them. This article presents a new restriction of the classical basic computational model that combines process participation and a constraint on failure occurrences that can happen only while a predefined contention threshold has not yet been bypassed. This type of failure is called λ-constrained crashes, where λ defines the considered contention threshold. It appears that when assuming such contention-related crash failures and enriching the system with objects whose consensus number is k ≥ 1, consensus for n processes can be solved for any n ≥ k assuming up to k failures. The article proceeds incrementally. It first presents an algorithm that solves consensus on top of read/write registers if at most one crash occurs before the contention threshold λ = n − 1 has been bypassed. Then, it shows that if the system is enriched with objects whose consensus number is k ≥ 1, then when λ = n − k, consensus can be solved despite up to k λ-constrained crashes, for any n ≥ k, and when λ = n − 2k + 1, consensus can be solved despite up to 2k − 1 λ-constrained crashes, assuming k divides n. Finally, impossibility results are presented for the number of λ-constrained failures that can be tolerated.
Origine | Fichiers produits par l'(les) auteur(s) |
---|