1 distributed resilient consensus nitin vaidya university of illinois at urbana-champaign

90
1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana- Champaign

Upload: tracy-cummings

Post on 18-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

1

Distributed Resilient Consensus

Nitin Vaidya

University of Illinois at Urbana-Champaign

Page 2: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

2

Net-X: Multi-

Channel Mesh

Theory to Practice

Multi-channelprotocol

Channel Abstraction Module

IP Stack

InterfaceDevice Driver

User Applications

ARP

InterfaceDevice Driver

OS improvements

Software architecture

Capacity

bounds

channels

capa

city

Net-X

testbed

CSL

A

B

C

D

EF

Fixed

Switchable

Insights on

protocol design

Linux box

Page 3: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Acknowledgments

g Byzantine consensus

i Vartika Bhandari

i Guanfeng Liang

i Lewis Tseng

g Consensus over lossy links

i Prof. Alejandro Dominguez-Garcia

i Prof. Chris Hadjicostis

Page 4: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Consensus … Dictionary Definition

g General agreement

4

Page 5: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Many Faces of Consensus

g What time is it?

g Network of clocks …

agree on a common notion of time

5

Page 6: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Many Faces of Consensus

g Commit or abort ?

g Network of databases …

agree on a common action

Page 7: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Many Faces of Consensus

g What is the temperature?

g Network of sensors …

agree on current temperature

Page 8: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Many Faces of Consensus

g Should we trust ?

g Web of trust …

agree whether is good or evil

8

Page 9: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Many Faces of Consensus

g Which way?

Page 10: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Many Faces of Consensus

g Which cuisine for dinner tonight?

Korean

Thai

Chinese

Page 11: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Consensus Requires Communication

11

Korean

Thai

Chinese

g Exchange preferences with each other

Page 12: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Consensus Requires Communication

12

Korean

Thai

Chinese

CKT

CKT

CKT

g Exchange preferences with each other

Page 13: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Consensus Requires Communication

13

Korean

Thai

Chinese

CKT C

g Exchange preferences with each otherg Choose “smallest” proposal

CKT C

CKT C

Page 14: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Complications

Most environments are not benign

g Faults

g Asynchrony

14

Page 15: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Complications

Most environments are not benign

g Faults

g Asynchrony

15

Page 16: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Crash Failure

16

Korean

Thai

Chinese

CKT

KT

fails without sending own preference to

Round 1

Page 17: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Crash Failure

17

Korean

Thai

Chinese

One more round of exchange among fault-free nodes

CKT

KT

Round 1

CKT

CKT

Round 2

Page 18: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Crash Failure

18

Korean

Thai

Chinese

One more round of exchange among fault-free nodes

Round 1

CKT C

CKT C

Round 2

CKT

KT

Page 19: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Crash Failures

Well-known result

… need f+1 rounds of communication in the worst-case

19

Page 20: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Complications

Most environments are not benign

g Faults

g Asynchrony

20

Page 21: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Asynchrony

g Message delays arbitrarily large

g Difficult to distinguish between a slow message, and message that is not sent (due to faulty sender)

21

Page 22: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Asynchrony + Crash Failure

22

Korean

Thai

Chinese

Messages from slow to reach others.

Others wait a while, and give up … suspecting faulty.

Round 1

KT

KT

CKT

Page 23: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Asynchrony + Crash Failure

23

Korean

Thai

Chinese

Messages from slow to reach others

Round 1

KT K

KT K

Round 2

KT

KT

CKT CKT C

Page 24: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Asynchrony + Crash Failures

Another well-known (disappointing) result

… consensus impossible with asynchrony + failure

24

Page 25: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Asynchrony + Failures

Impossibility result applies to exact consensus,

approximate consensus still possible

even if failures are Byzantine

25

Page 26: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Byzantine Failure

26

Korean

Thai

Chinese

Byzantine faulty

Round 1

Indian

Chinese

Page 27: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Byzantine Failures

Yet another well-known result

… 3f+1 nodes necessary to achieve consensus in presence of Byzantine faults

27

Page 28: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Related Work

30+ years of research

g Distributed computing

g Decentralized control

g Social science (opinion dynamics, network cascades)

28

Page 29: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

1980: Byzantine exact consensus, 3f+1 nodes

1986: Approximate consensus with asynchrony & failure

Tsitsiklis 1984:Decentralized control

[Jadbabaei 2003]

(Approximate)

1983: Impossibility of exact consensus with asynchrony & failure

Pre-history

Page 30: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

1980: Byzantine exact consensus, 3f+1 nodes

1986: Approximate consensus with asynchrony & failure

Tsitsiklis 1984:Decentralized control

[Jadbabaei 2003]

(Approximate)

1983: Impossibility of exact consensus with asynchrony & failure

Hajnal 1958 (weak ergodicity ofnon-homogeneousMarkov chains)

Pre-history

Page 31: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Consensus

g 30+ years of research

g Anything new under the sun ?

31

Page 32: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Consensus

g 30+ years of research

g Anything new under the sun ?

… more refined network models

32

Page 33: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Our Contributions

g Average consensus over lossy links

g Byzantine consensus

• Directed graphs

• Capacitated links

• Vector inputs

33

Page 34: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Average Consensus

g Each node has an input

g Nodes agree (approximately) on average of inputs

g No faulty nodes

34

Page 35: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Distributed Iterative Solution … Local Computation

g Initial state a, b, c = input

35

c

b

a

Page 36: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Distributed Iterative Solution

g State update (iteration)

36

a = 3a/4+ c/4

b = 3b/4+ c/4

c = a/4+b/4+c/2

c

b

a

Page 37: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

37

a = 3a/4+ c/4

b = 3b/4+ c/4

c

b

a

:= = M

M

c = a/4+b/4+c/2

Page 38: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

38

a = 3a/4+ c/4

b = 3b/4+ c/4

c

b

a

:= M M

after 2 iterations

c = a/4+b/4+c/2

= M2

after 1 iteration

Page 39: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

39

a = 3a/4+ c/4

b = 3b/4+ c/4

c

b

a

:= Mk

c = a/4+b/4+c/2

after k iterations

Page 40: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Well-Known Results

Reliable links & nodes:

g Consensus achievable iffat least one node can reach all other nodes

g Average consensus achievable iffstrongly connected graph

with suitably chosen transition matrix M

40

Page 41: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Well-Known Results

Reliable links & nodes:

g Consensus achievable iffat least one node can reach all other nodes

g Average consensus achievable iffstrongly connected graph

with suitably chosen transition matrix M

41

Rowstochastic M

Page 42: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Well-Known Results

Reliable links & nodes:

g Consensus achievable iffat least one node can reach all other nodes

g Average consensus achievable iffstrongly connected graph

with suitably chosen transition matrix M

42

Rowstochastic M

Doubly stochastic M

Page 43: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

43

a = 3a/4+ c/4

b = 3b/4+ c/4

c

b

a

:= Mk

c = a/4+b/4+c/2

Doubly stochastic M

Page 44: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Asynchrony

g Asynchrony results in time-varying transition matrices

g Results hold under mild conditions [Hajnal58]

44

Page 45: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

An Implementation:Mass Transfer + Accumulation

g Each node “transfers mass” to neighbors via messagesg Next state = Total received mass

45

c

b

a

c/2

c/4

c = a/4+b/4+c/2a = 3a/4+ c/4

b = 3b/4+ c/4

c/4

Page 46: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

An Implementation:Mass Transfer + Accumulation

g Each node “transfers mass” to neighbors via messagesg Next state = Total received mass

46

c

b

a

c/2

c/4

c/4a/4

b/4

c = a/4+b/4+c/2

3b/4

3a/4 a = 3a/4+ c/4

b = 3b/4+ c/4

Page 47: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Conservation of Mass

g a+b+c constant after each iteration

47

c

b

a

c/2

c/4

c/4a/4

b/4

c = a/4+b/4+c/2

3b/4

3a/4 a = 3a/4+ c/4

b = 3b/4+ c/4

Page 48: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Wireless Transmissions Unreliable

48

a = 3a/4+ c/4

b = 3b/4+ c/4

c = a/4+b/4+c/2

c

b

a

c/4

XX

Page 49: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Impact of Unreliability

49

a = 3a/4+ c/4

b = 3b/4+ c/4

c = a/4+b/4+c/2

c

b

a

c/4

X

=

X

Page 50: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Conservation of Mass

50

a = 3a/4+ c/4

b = 3b/4+ c/4

c = a/4+b/4+c/2

c

b

a

c/4

X

=

X

X

Page 51: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Average consensus over lossy links ?

51

Page 52: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Existing Solution

When mass not transferred to neighbor,

keep it to yourself

52

Page 53: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

53

a = 3a/4+ c/4

b = 3b/4+ c/4

c = a/4+b/4+c/2+c/4

c

b

a

c/4

X

=

X

c/4

Page 54: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Existing Solutions … Link Model

Common knowledge on whether a message is delivered

54

S R

Page 55: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Existing Solutions … Link Model

Common knowledge on whether a message is delivered

S knows

R knows that S knows

S knows that R knows that S knows

R knows that S knows that R knows that …

S R

Page 56: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

56

Page 57: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Reality in Wireless Networks

Common knowledge on whether a message is delivered

Two scenarios:

g A’s message to B lost … B does not send Ackg A’s message received by B … Ack lost

57

X

Page 58: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Reality in Wireless Networks

Common knowledge on whether a message is delivered

Need solutions that tolerate lack of common knowledge

58

X

Page 59: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Our Solution

g Average consensus without common knowledge

… using additional per-neighbor state

59

Page 60: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Solution Sketch

g S = mass C wanted to transfer to node

A in total so far

g R = mass A has received from

node Cin total so far

60

C

A

SR

S

R

Page 61: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Solution Sketch

g Node C transmits quantity S…. message may be lost

g When it is received,node A accumulates (S-R)

61

C

A

SR

S-R

S

R

Page 62: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

What Does That Do ?

62

Page 63: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

What Does That Do ?

g Implements virtual buffers

63a

b

e

d

f

g

c

Page 64: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Dynamic Topology

g When CB transmission unreliable,mass transferred to buffer (d)

g d = d + c/4

64a

b

d

c

Page 65: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Dynamic Topology

g When CB transmission unreliable,mass transferred to buffer (d)

g d = d + c/4

65a

b

d

c

No lossof mass

even withmessage loss

Page 66: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Dynamic Topology

g When CB transmission reliable,mass transferred to b

g b = 3b/4 + c/4 + d

66a

b

d

c

No lossof mass

even withmessage loss

Page 67: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Time-Varying Column Stochastic Matrix

g Mass is conserved

g Time-varying network

Matrix varies over iterations

67

Matrix Mi for i-th iteration

Page 68: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

State Transitions

g V = state vector =

g V[0] = initial state vector

g V[t] = iteration t68

Page 69: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

State Transitions

g V[1] = M1 V[0]

g V[2] = M2 V[1] = M2 M1 V[0]

g V[t] = Mk Mk-1 … M2 M1 V[0]

69

Page 70: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

State Transitions

g V[t] = Mk Mk-1 … M2 M1 V[0]

Matrix product converges to

column stochastic matrix with identical columns

Page 71: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

State Transition

After k iterations

k+1

=

Mk+1…

z z z

Page 72: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

State Transition

After k iterations

k+1

=

Mk+1…

z

w

z

wz

w…

z * sum

w * sum

Page 73: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

State Transitions

g After k iterations, state of first node has the form

z(k) * sum of inputs

where z(k) changes each iteration (k)

g Does not converge to average

73

Page 74: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Solution

g Run two iterations in parallel

i First : original inputs

i Second : input = 1

74

Page 75: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Solution

g Run two iterations in parallel

i First : original inputs

i Second : input = 1

g After k iterations …

first algorithm: z(k) * sum of inputssecond algorithm: z(k) * number of nodes

Page 76: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Solution

g Run two iterations in parallel

i First : original inputs

i Second : input = 1

g After k iterations …

first algorithm: z(k) * sum of inputssecond algorithm: z(k) * number of nodes

ratio = average

Page 77: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

77

ratio

denominatornumerator

time time

time

Page 78: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

78

Page 79: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Byzantine Consensus

79

Page 80: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

80

a = 3a/4+ c/4

b = 3b/4+ c/4b

a

c = a/4+b/4+c/2

Page 81: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

81

a = 3a/4+ c/4

b = 3b/4+ c/4b

a

Byzantinenode

c = a/4+b/4+c/2

Page 82: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

82

a = 3a/4+ c/4

b = 3b/4+ c/4b

a

c = 2

No consensus !

c =1

Byzantinenode

c = a/4+b/4+c/2

Page 83: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Prior Results

g Necessary and sufficient conditions on undirected communication graph to be able to achieve Byzantine consensus

i Synchronous systems

i Asynchronous systems

g 3f+1 nodes2f+1 connectivity

83

Page 84: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Our Results

g Conditions on directed graphs to achieve Byzantine consensus

g Motivated by wireless networks

84

Page 85: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Link Capacity Constraints

32

10

10

10 10

10

101

1

10

10

S

Page 86: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Byzantine Consensus … Lower Bound

g Ω(n2) messages in worst case

86

Page 87: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Link Capacity Constraints

g How to quantify the impact of capacity constraints ?

87

Page 88: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Throughput

g Borrow notion of throughput from networking

g b(t) = number of bits agreed upon in [0,t]

88

t

tbThroughput

t

)(lim

Page 89: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Problem Definition

g What is the achievable throughput of consensus over a capacitated network ?

g Results so far

… optimal algorithm for 4 nodes

… within factor of 3 in general

89

Page 90: 1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign

Summary

g Many applications of consensus

g Large body of work

g Still many interesting problems open

90