Towards optimal synchronous counting

Similar documents
Towards Optimal Synchronous Counting

EFFICIENT COUNTING WITH OPTIMAL RESILIENCE. Lenzen, Christoph.

Synchronous Counting and Computational Algorithm Design

arxiv: v1 [cs.dc] 17 May 2017

Agreement Protocols. CS60002: Distributed Systems. Pallab Dasgupta Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur

Byzantine Agreement. Gábor Mészáros. Tatracrypt 2012, July 2 4 Smolenice, Slovakia. CEU Budapest, Hungary

Coordination. Failures and Consensus. Consensus. Consensus. Overview. Properties for Correct Consensus. Variant I: Consensus (C) P 1. v 1.

Ability to Count Messages Is Worth Θ( ) Rounds in Distributed Computing

Constant Space and Non-Constant Time in Distributed Computing

The Weighted Byzantine Agreement Problem

Asynchronous Models For Consensus

Bridging the Gap: Byzantine Faults and Self-stabilization

Byzantine behavior also includes collusion, i.e., all byzantine nodes are being controlled by the same adversary.

Byzantine Agreement. Chapter Validity 190 CHAPTER 17. BYZANTINE AGREEMENT

AGREEMENT PROBLEMS (1) Agreement problems arise in many practical applications:

Byzantine Agreement. Gábor Mészáros. CEU Budapest, Hungary

Optimal Resilience Asynchronous Approximate Agreement

Communication-Efficient Randomized Consensus

Deterministic Consensus Algorithm with Linear Per-Bit Complexity

Simple Bivalency Proofs of the Lower Bounds in Synchronous Consensus Problems

Efficient Construction of Global Time in SoCs despite Arbitrary Faults

Network Algorithms and Complexity (NTUA-MPLA) Reliable Broadcast. Aris Pagourtzis, Giorgos Panagiotakos, Dimitris Sakavalas

Optimal and Player-Replaceable Consensus with an Honest Majority Silvio Micali and Vinod Vaikuntanathan

Implementing Uniform Reliable Broadcast with Binary Consensus in Systems with Fair-Lossy Links

Self-stabilizing Byzantine Agreement

Combining Shared Coin Algorithms

A Lower Bound for the Distributed Lovász Local Lemma

Distributed Systems Byzantine Agreement

CS505: Distributed Systems

Early-Deciding Consensus is Expensive

Degradable Agreement in the Presence of. Byzantine Faults. Nitin H. Vaidya. Technical Report #

Distributed Consensus

Byzantine Agreement in Polynomial Expected Time

Early consensus in an asynchronous system with a weak failure detector*

Efficient Metastability-Containing Gray Code 2-sort

Broadcast and Verifiable Secret Sharing: New Security Models and Round-Optimal Constructions

All-to-All Gradecast using Coding with Byzantine Failures

Model Checking of Fault-Tolerant Distributed Algorithms

arxiv: v1 [cs.dc] 14 Feb 2016

Failure detectors Introduction CHAPTER

Lower Bounds for Achieving Synchronous Early Stopping Consensus with Orderly Crash Failures

Round Complexity of Authenticated Broadcast with a Dishonest Majority

Byzantine Vector Consensus in Complete Graphs

Labelling grids locally

Consensus. Consensus problems

6.852: Distributed Algorithms Fall, Class 24

ROBUST & SPECULATIVE BYZANTINE RANDOMIZED CONSENSUS WITH CONSTANT TIME COMPLEXITY IN NORMAL CONDITIONS

Fault-Tolerant Consensus

Verification of clock synchronization algorithm (Original Welch-Lynch algorithm and adaptation to TTA)

Robustness of Distributed Systems Inspired by Biological Processes

Time. To do. q Physical clocks q Logical clocks

Byzantine agreement with homonyms

C 1. Recap: Finger Table. CSE 486/586 Distributed Systems Consensus. One Reason: Impossibility of Consensus. Let s Consider This

Reliable Broadcast for Broadcast Busses

Self-Stabilizing Byzantine Asynchronous Unison

Time Free Self-Stabilizing Local Failure Detection

Bee s Strategy Against Byzantines Replacing Byzantine Participants

Time. Today. l Physical clocks l Logical clocks

Faster Agreement via a Spectral Method for Detecting Malicious Behavior

Tolerating Permanent and Transient Value Faults

Byzantine Agreement with Median Validity

Byzantine Agreement in Expected Polynomial Time

Finally the Weakest Failure Detector for Non-Blocking Atomic Commit

1 Introduction. 1.1 The Problem Domain. Self-Stablization UC Davis Earl Barr. Lecture 1 Introduction Winter 2007

Randomized Protocols for Asynchronous Consensus

arxiv: v1 [cs.dc] 22 Oct 2018

On Expected Constant-Round Protocols for Byzantine Agreement

On Expected Constant-Round Protocols for Byzantine Agreement

On the Resilience and Uniqueness of CPA for Secure Broadcast

arxiv: v1 [cs.cc] 8 Dec 2014

How to solve consensus in the smallest window of synchrony

Time. Lakshmi Ganesh. (slides borrowed from Maya Haridasan, Michael George)

Distributed Computing with Imperfect Randomness

Efficient Unconditional Asynchronous Byzantine Agreement with Optimal Resilience

Protocol for Asynchronous, Reliable, Secure and Efficient Consensus (PARSEC)

Broadcast Amplification

How can one get around FLP? Around FLP in 80 Slides. How can one get around FLP? Paxos. Weaken the problem. Constrain input values

Eventual Leader Election with Weak Assumptions on Initial Knowledge, Communication Reliability, and Synchrony

Machine Checked Proofs of the Design and Implementation of a Fault-Tolerant Circuit

CS505: Distributed Systems

Notes on BAN Logic CSG 399. March 7, 2006

Byzantine Preferential Voting

Communication Predicates: A High-Level Abstraction for Coping with Transient and Dynamic Faults

Symmetric Rendezvous in Graphs: Deterministic Approaches

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department

Signature-Free Asynchronous Byzantine Consensus with t < n/3 and O(n 2 ) Messages

Section 6 Fault-Tolerant Consensus

Iterative Approximate Byzantine Consensus in Arbitrary Directed Graphs

Byzantine Vector Consensus in Complete Graphs

Distributed Systems Principles and Paradigms. Chapter 06: Synchronization

HEX: Scaling Honeycombs is Easier than Scaling Clock Trees

Distributed Systems Principles and Paradigms

Benny Pinkas. Winter School on Secure Computation and Efficiency Bar-Ilan University, Israel 30/1/2011-1/2/2011

Leader Election in Asymmetric Labeled Unidirectional Rings

Consensus-Based Distributed Optimization with Malicious Nodes

Early stopping: the idea. TRB for benign failures. Early Stopping: The Protocol. Termination

Unreliable Failure Detectors for Reliable Distributed Systems

6.852: Distributed Algorithms Fall, Class 25

Replication predicates for dependent-failure algorithms

Integrating External and Internal Clock Synchronization. Christof Fetzer and Flaviu Cristian. Department of Computer Science & Engineering

Transcription:

Towards optimal synchronous counting Christoph Lenzen Joel Rybicki Jukka Suomela MPI for Informatics MPI for Informatics Aalto University Aalto University PODC 5 July 3

Focus on fault-tolerance Fault-tolerant co-ordination primitives: permanent failures (Byzantine faults) transient failures (self-stabilisation)

Focus on fault-tolerance Fault-tolerant co-ordination primitives: permanent failures (Byzantine faults) transient failures (self-stabilisation) Find solutions that are fast to recover space and communication-efficient

Our contribution A deterministic round counter with high resilience optimal recovery time low space/message complexity

Model of computing n state machines Synchronous rounds:. broadcast. receive 3. update state 3 4

Model of computing n state machines Synchronous rounds:. broadcast. receive 3. update state 3 4

Model of computing n state machines Synchronous rounds:. broadcast. receive 3. update state 3 4

Model of computing n state machines Synchronous rounds:. broadcast. receive 3. update state 3 4 Algorithm A maps a vector of states to a new state!

Complexity measures Time complexity: #rounds recovery time Space complexity: log #states complexity of the circuit number of bits broadcast per node

On failures our adversary

Transient failures n state machines arbitrary initial states chosen by adversary! = self-stabilisation 3 4

Byzantine failures n state machines f Byzantine failures 3 4

Byzantine failures n state machines f Byzantine failures 3 4

Byzantine failures n state machines f Byzantine failures 3 4

Byzantine failures n state machines f Byzantine failures 3 4

Byzantine failures n state machines f Byzantine failures 3 4 Non-faulty nodes can observe different states for the system!

Counting mod c 3-counting increment counter + mod c 3 4 Global pulse

Synchronous counting Counting 3 4 Global pulse

Synchronous counting Stabilisation Counting 3 4 Global pulse

Synchronous counting Stabilisation Counting! 3????????? 4 Global pulse

A related problem: Consensus Input: private bit Output: agreement

A related problem: Consensus Input: private bit Output: agreement

A related problem: Consensus Input: private bit Output: agreement

A related problem: Consensus Input: private bit Output: agreement

A related problem: Consensus Input: private bit Output: agreement

Reduction from consensus Given a -counting algorithm A that stabilises in t rounds consensus solvable in t rounds Dolev et al. (3)

Consensus lower bounds* Resilience f<n/3 Pease et al. (98) Time At least f rounds to reach agreement Fischer & Lynch (98) *deterministic

Prior work on -counting Resilience Time State bits D. Dolev & Hoch 7 * f<n/3 O(f) O(f log f) *deterministic

Prior work on -counting Resilience Time State bits D. Dolev & Hoch 7 * f<n/3 O(f) O(f log f) S. Dolev & Welch 4 f<n/3 (n f) O() *deterministic

Prior work on -counting Resilience Time State bits D. Dolev & Hoch 7 * f<n/3 O(f) O(f log f) S. Dolev & Welch 4 f<n/3 (n f) O() Ben-Or et al. 8 f<n/3 O() n O() *deterministic

Current state Resilience Time State bits D. Dolev & Hoch 7 * f<n/3 O(f) O(f log f) S. Dolev & Welch 4 f<n/3 (n f) O() Ben-Or et al. 8 f<n/3 O() n O() Our work* f = n o() O(f) o(log f) *deterministic

Counting vs consensus? Counting Consensus

Counting vs consensus Counting Consensus Solve consensus to agree on counters

Counting vs consensus Counting Consensus Use a c-counter as a round counter; execute a consensus algorithm

Counting vs consensus? Counting Consensus

Counting vs consensus! Counting Consensus Solution: counters that work once in a while

Counting once in a while?????? 3 4??!??? Counting Arbitrary Counting Arbitrary

Counting once in a while Use proper counters with low resilience, to count once in a while with high resilience! Counting Counting once in a while low resilience high resilience

Clock for consensus If we can count once in a while with high resilience.. then we can execute a highly-resilient consensus algorithm (phase king) Berman et al. (989)

Agree on a new counter Use consensus protocol with high resilience, to agree on a new proper counter!

High-level idea Counting low resilience

High-level idea Counting low resilience Counting once in a while high resilience

High-level idea Counting low resilience Counting once in a while high resilience Consensus high resilience

High-level idea Counting low resilience Counting once in a while high resilience Consensus high resilience Counting high resilience

Rinse and repeat low resilience high resilience higher resilience

The boosting theorem More formally

The boosting theorem Algorithm A n f nodes faults

The boosting theorem Algorithm A n f nodes faults Algorithm N = kn B F (f + )k/

The boosting theorem n f Stabilisation time: Space complexity: N = kn F (f + )k/ T (B) =T (A)+O(Fk k ) S(B) =S(A)+O(log C) C = new counter range

Boosting resilience Boost resilience recursively while keeping time and space complexity small enough

Main result Resilience f = n o() Stabilisation time O(f) Space complexity O(log f/log log f)

Main result Resilience f = n o() Stabilisation time O(f) Space complexity O(log f/log log f) Thanks!