broadcast algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · lazy...

39
Broadcast Algorithms BJÖRN A. JOHNSSON

Upload: others

Post on 28-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Broadcast Algorithms BJÖRN A. JOHNSSON

Page 2: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Overview

•  Best-Effort Broadcast •  (Regular) Reliable Broadcast (2) •  Uniform Reliable Broadcast (2)

•  Stubborn Broadcast

•  Logged Best-Effort Broadcast •  Logged Uniform Reliable Broadcast

•  Probabilistic Broadcast (2)

Page 3: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Abstracting Processes

•  Crash-stop •  Omissions •  Crash-recovery

•  Eavesdropping faults •  Arbitrary-fault (Byzantine)

•  Faulty or correct

Page 4: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Timing Assumptions

•  Asynchronous System •  Synchronous System •  Partial Synchrony

Page 5: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Distributed-System Models

•  Fail-stop –  crash-stop, perfekt links, perfect failure detector (P)

•  Fail-noisy –  crash-stop, perfekt links, eventually P ( P)

•  Fail-silent –  crash-stop, perfekt links, no failure detector

•  Fail-recovery –  crash-recovery, stubborn links, eventual leader detector (Ω)

•  Fail-arbitrary –  fail-arbitrary, authenticated perfekt links

Page 6: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Motivation

•  Client-server scheme – point-to-point communication – Useful when reliable, e.g. TCP

•  Bigger systems usually more than 2 processes

– Broadcast abstractions convenient – Send to all processes, in a single one-shot op.

•  Reliability req. of p2p not directly transposable –  “No message lost or duplicated” – Complex for broadcast…

Page 7: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Best-Effort Broadcast

•  Burden of ensuring reliability on sender: – Receivers unconcerned with enforcing reliability – No delivery guarantees if sender fails

Page 8: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Best-Effort Broadcast

PP2PL

Page 9: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Best-Effort Broadcast

Page 10: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Best-Effort Broadcast

Page 11: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

(Regular) Reliable Broadcast

•  Best-effort only ensures delivery if sender doesn’t crash – Processes might not agree on message delivery – Even if all messages sent before sender crashes…

•  (Regular) Reliable broadcast provides stronger notion of reliablity:

– Ensures agreement even if sender fails. – Sender failure – no process delivers message

Page 12: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

(Regular) Reliable Broadcast

New!

Page 13: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

(Regular) Reliable Broadcast

array of sets

original source

message descriptor

Page 14: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

(Regular) Reliable Broadcast

Page 15: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

(Regular) Reliable Broadcast

Page 16: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

(Regular) Reliable Broadcast

Page 17: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

(Regular) Reliable Broadcast

•  Problem: only requires the correct processes deliver the same set of messages

Page 18: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Uniform Reliable Broadcast

Different!

Page 19: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Uniform Reliable Broadcast

Infinite array for all possible message…

Page 20: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Uniform Reliable Broadcast

Page 21: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Uniform Reliable Broadcast

Page 22: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Uniform Reliable Broadcast

•  Requires N > 2f

Size of ack[m]

Page 23: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Stubborn Broadcast

No duplication gone!

Page 24: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Stubborn Broadcast

Page 25: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Logged Best-Effort Broadcast

•  First for Fail-recovery model •  Strongest model, uniform reliable, not enough •  Difficulty: crashing, recovery and never crashing again is

correct •  Solution: stable storage, as seen in “logged perfect links"

Page 26: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Logged Best-Effort Broadcast

Page 27: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Logged Best-Effort Broadcast

ensures Validity

Page 28: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Logged Uniform Reliable Broadcast

New!

Page 29: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Logged Uniform Reliable Broadcast

Page 30: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Logged Uniform Reliable Broadcast

Page 31: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Probabilistic Broadcast

•  No deterministic broadcast guarantees •  Offers “cost” reduction at the price of lower reliability a.  Reliability not scalable – ack implosion problem

b.  Possible solution – requires configuration

•  Epidemic dissemination – rumor spreading, gossiping

Page 32: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Probabilistic Broadcast

Weaker than validity

Page 33: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Eager Probabilistic Broadcast

•  Sends to k random processes – the fanout •  A round of gossiping = receiving and resending message •  R rounds of gossiping per message

•  R and k determine efficiency of algorithm

Page 34: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Eager Probabilistic Broadcast

Returns k processes from Π \ {self}

Page 35: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Lazy Probabilistic Broadcast

•  EPB too eager; consumes resources and causes redundant transmissions

1.  Gossip until e.g. N/2 processes infected (push-phase) 2.  Missed processes ask for message (pull-phase)

Page 36: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Lazy Probabilistic Broadcast

Page 37: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Lazy Probabilistic Broadcast

Page 38: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions

Lazy Probabilistic Broadcast

Page 39: Broadcast Algorithmsfileadmin.cs.lth.se/.../fourth-presentation.pdf · 2013-04-23 · Lazy Probabilistic Broadcast • EPB too eager; consumes resources and causes redundant transmissions