On processor coordination using asynchronous hardware
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
On achieving consensus using a shared memory
PODC '88 Proceedings of the seventh annual ACM Symposium on Principles of distributed computing
Bounded polynomial randomized consensus
Proceedings of the eighth annual ACM Symposium on Principles of distributed computing
Fast randomized consensus using shared memory
Journal of Algorithms
Time-and space-efficient randomized consensus
PODC '90 Proceedings of the ninth annual ACM symposium on Principles of distributed computing
Implementing fault-tolerant services using the state machine approach: a tutorial
ACM Computing Surveys (CSUR)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Optimal time randomized consensus—making resilient algorithms fast in practice
SODA '91 Proceedings of the second annual ACM-SIAM symposium on Discrete algorithms
Randomized algorithms
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
Randomized Consensus in Expected O(n log^ 2 n) Operations Per Processor
SIAM Journal on Computing
Polylog randomized wait-free consensus
PODC '96 Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing
Efficient asynchronous consensus with the weak adversary scheduler
PODC '97 Proceedings of the sixteenth annual ACM symposium on Principles of distributed computing
A tight lower bound for randomized synchronous consensus
PODC '98 Proceedings of the seventeenth annual ACM symposium on Principles of distributed computing
Lower bounds for distributed coin-flipping and randomized consensus
Journal of the ACM (JACM)
ACM Transactions on Computer Systems (TOCS)
Cooperative sharing and asynchronous consensus using single-reader single-writer registers
Proceedings of the tenth annual ACM-SIAM symposium on Discrete algorithms
Distributed Algorithms
A Layered Analysis of Consensus
SIAM Journal on Computing
Randomized Consensus in Expected O(n²log n) Operations
WDAG '91 Proceedings of the 5th International Workshop on Distributed Algorithms
STACS '89 Proceedings of the 6th Annual Symposium on Theoretical Aspects of Computer Science
Randomized protocols for asynchronous consensus
Distributed Computing - Papers in celebration of the 20th anniversary of PODC
Distributed Computing: Fundamentals, Simulations and Advanced Topics
Distributed Computing: Fundamentals, Simulations and Advanced Topics
SODA '06 Proceedings of the seventeenth annual ACM-SIAM symposium on Discrete algorithm
A Note on a Simple Equivalence between Round-based Synchronous and Asynchronous Models
PRDC '05 Proceedings of the 11th Pacific Rim International Symposium on Dependable Computing
Byzantine agreement in the full-information model in O(log n) rounds
Proceedings of the thirty-eighth annual ACM symposium on Theory of computing
Fault-Tolerant Distributed Computing in Full-Information Networks
FOCS '06 Proceedings of the 47th Annual IEEE Symposium on Foundations of Computer Science
Towards Secure and Scalable Computation in Peer-to-Peer Networks
FOCS '06 Proceedings of the 47th Annual IEEE Symposium on Foundations of Computer Science
Fast asynchronous byzantine agreement and leader election with full information
Proceedings of the nineteenth annual ACM-SIAM symposium on Discrete algorithms
Lower bounds for randomized consensus under a weak adversary
Proceedings of the twenty-seventh ACM symposium on Principles of distributed computing
Randomized consensus in expected O(n log n) individual work
Proceedings of the twenty-seventh ACM symposium on Principles of distributed computing
Locally scalable randomized consensus for synchronous crash failures
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures
Combining shared-coin algorithms
Journal of Parallel and Distributed Computing
Multi-sided shared coins and randomized set-agreement
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
A modular approach to shared-memory consensus, with applications to the probabilistic-write model
Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Scalable byzantine computation
ACM SIGACT News
Distributed agreement with optimal communication complexity
SODA '10 Proceedings of the twenty-first annual ACM-SIAM symposium on Discrete Algorithms
Fast randomized test-and-set and renaming
DISC'10 Proceedings of the 24th international conference on Distributed computing
Stabilizing consensus with the power of two choices
Proceedings of the twenty-third annual ACM symposium on Parallelism in algorithms and architectures
Tight bounds for anonymous adopt-commit objects
Proceedings of the twenty-third annual ACM symposium on Parallelism in algorithms and architectures
Optimal-time adaptive strong renaming, with applications to counting
Proceedings of the 30th annual ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Sub-logarithmic test-and-set against aweak adversary
DISC'11 Proceedings of the 25th international conference on Distributed computing
Randomized consensus in expected O(n2) total work using single-writer registers
DISC'11 Proceedings of the 25th international conference on Distributed computing
Lower Bounds for Randomized Consensus under a Weak Adversary
SIAM Journal on Computing
LATIN'10 Proceedings of the 9th Latin American conference on Theoretical Informatics
Faster randomized consensus with an oblivious adversary
PODC '12 Proceedings of the 2012 ACM symposium on Principles of distributed computing
Brief announcement: byzantine agreement with a strong adversary in polynomial expected time
Proceedings of the 2013 ACM symposium on Principles of distributed computing
Byzantine agreement in polynomial expected time: [extended abstract]
Proceedings of the forty-fifth annual ACM symposium on Theory of computing
Hi-index | 0.00 |
A distributed consensus algorithm allows n processes to reach a common decision value starting from individual inputs. Wait-free consensus, in which a process always terminates within a finite number of its own steps, is impossible in an asynchronous shared-memory system. However, consensus becomes solvable using randomization when a process only has to terminate with probability 1. Randomized consensus algorithms are typically evaluated by their total step complexity, which is the expected total number of steps taken by all processes. This article proves that the total step complexity of randomized consensus is Θ(n2) in an asynchronous shared memory system using multi-writer multi-reader registers. This result is achieved by improving both the lower and the upper bounds for this problem. In addition to improving upon the best previously known result by a factor of log2n, the lower bound features a greatly streamlined proof. Both goals are achieved through restricting attention to a set of layered executions and using an isoperimetric inequality for analyzing their behavior. The matching algorithm decreases the expected total step complexity by a log n factor, by leveraging the multi-writing capability of the shared registers. Its correctness proof is facilitated by viewing each execution of the algorithm as a stochastic process and applying Kolmogorov's inequality.