capacity of agreement with finite link capacity
Download
Skip this Video
Download Presentation
Capacity of Agreement with Finite Link Capacity

Loading in 2 Seconds...

play fullscreen
1 / 51

Capacity of Agreement with Finite Link Capacity - PowerPoint PPT Presentation


  • 81 Views
  • Uploaded on

Capacity of Agreement with Finite Link Capacity. Guanfeng Liang @ Infocom 2011 Electrical and Computer Engineering University of Illinois at Urbana-Champaign Joint work with Prof. Nitin Vaidya. Motivation. Motivation. Distributed systems are emerging

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Capacity of Agreement with Finite Link Capacity' - emmett


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
capacity of agreement with finite link capacity

Capacity of Agreementwith Finite Link Capacity

Guanfeng Liang @ Infocom 2011

Electrical and Computer Engineering

University of Illinois at Urbana-Champaign

Joint work with Prof. NitinVaidya

motivation1
Motivation
  • Distributed systems are emerging
    • Cloud computing (e.g. Windows Azure), distributed file systems, data centers, multiplayer online games
  • Large number of distributed components
  • Distributed components need to be coordinated
motivation2
Motivation
  • Distributed primitives
    • Clock synchronization
    • Mutual exclusion
    • Agreement
    • etc.
  • Large body of literature in Distributed Algorithms
motivation3
Motivation

A networking guy asks:

“How would constraints of the network affect the performance of these primitives?”

A algorithm guy replies: “……”

Network-aware

distributed algorithm design

byzantine agreement ba broadcast
Byzantine Agreement (BA): Broadcast
  • A sender wants to send message to n-1 receivers
    • Fault-free receivers must agree
    • Sender fault-free agree on its message
    • Any ≤ f nodes may fail
why agreement
Why agreement?
  • Distributed systems are failure-prone
    • Non-malicious: crashed nodes, buggy codes
    • Malicious: attacker tries to crack the system
  • Robust system against faults:

Important to maintain consistent state

impact of the network
Impact of the Network
  • How does capacity (rate region) of the network affect agreement performance?
  • How to quantify the impact?
rate region
Rate Region
  • Defines the way “links” may share channel
  • Interference posed to each other determines whether a set of transmissions can succeed together
ethernet rate region
“Ethernet” Rate Region

S

Rate S2

1

2

Rate S1

Rate S1 +Rate S2 ≤C

point to point network rate region
Point-to-Point Network Rate Region

Rate ij≤ Capacity ij

S

Each directed linkindependent of other links

1

2

capacity of agreement
Capacity of Agreement
  • b(t) = # bits agreed in [0,t]
  • Capacity of agreement: supremum of achievable throughput for a given rate region
upper bound of capacity in p2p networks
Upper Bound of Capacity in P2P Networks
  • NC1: C ≤ min-cut(S,X | freceivers removed)

S

3

1

2

upper bound of capacity in p2p networks1
Upper Bound of Capacity in P2P Networks
  • NC2:C ≤ In(X | f nodes removed)

S

3

1

2

upper bound of capacity in p2p networks2
Upper Bound of Capacity in P2P Networks
  • NC1: C ≤ min-cut(S,X | freceivers removed)
  • NC2: C ≤ In(X | f nodes removed)

S

ε

3

1

2

Upper bound = 1+ε

classic solution for broadcast
Classic Solution for Broadcast

value v

S

v

v

v

3

1

Faulty peer

2

classic solution for broadcast3
Classic Solution for Broadcast

value v

S

v

v

v

3

1

v

v

2

v

?

?

v

classic solution for broadcast4
Classic Solution for Broadcast

value v

S

v

v

v

3

1

[v,v,?]

v

v

2

v

?

[v,v,?]

?

v

classic solution for broadcast5
Classic Solution for Broadcast

value v

S

v

v

v

3

1

v

v

v

2

Majority

vote resultsin correctresult atgood receiver

v

?

v

?

v

classic solution for broadcast6
Classic Solution for Broadcast

S

Faulty source

v

x

w

3

1

2

classic solution for broadcast9
Classic Solution for Broadcast

S

v

x

w

3

1

[v,w,x]

w

w

[v,w,x]

2

x

v

[v,w,x]

v

x

classic solution for broadcast10
Classic Solution for Broadcast

S

v

x

w

3

1

[v,w,x]

w

w

[v,w,x]

2

x

v

[v,w,x]

Vote resultidentical atgood receivers

v

x

classic solution in p2p networks
Classic Solution in P2P Networks
  • Whole message is sent on every link

S

Throughput ≤ slowest link

ε

3

1

Throughput≤ ε

but

Upper bound = 1+ε

2

improving broadcast throughput
Improving Broadcast Throughput
  • Observation: classic solution is in fact an “error correction code”
  • “Error detection codes” are more efficient
error detection code
Error Detection Code

Two-bit value

a, b

S

a

a+b

b

3

1

2

error detection code1
Error Detection Code

Two-bit value

a, b

S

a

a+b

b

3

1

b

[a,b,a+b]

b

[a,b,a+b]

2

a+b

a

[a,b,a+b]

a

a+b

error detection code2
Error Detection Code

Two-bit value

a, b

S

a

a+b

b

3

1

b

[a,b,a+b]

b

[a,b,a+b]

2

a+b

a

[a,b,a+b]

Parity check passes

at all nodes

 Agree on (a,b)

a

a+b

error detection code3
Error Detection Code

Two-bit value

a, b

S

a

a+b

b

3

1

b

[?,b,a+b]

b

2

a+b

?

[?,b,a+b]

Parity checkfails at a node

if 1 misbehaves

?

a+b

error detection code4
Error Detection Code

Two-bit value

a, b

Only detection is

not what we want

S

a

z

b

3

1

b

[a,b,z]

b

[a,b,z]

2

z

a

[a,b,z]

Check fails

at a good node

if S sends bad codeword (a,b,z)

a

z

modification
Modification
  • Agree on small pieces of data in each “round”
  • If X misbehaves with Y in a given round, avoid using XY link in the next round (for next piece of data)
  • Repeat
algorithm structure
Algorithm Structure
  • Fast round (as in the example)
algorithm structure1
Algorithm Structure
  • Fast round (as in the example)

S

a

a+b

b

3

1

b

[a,b,a+b]

b

[a,b,a+b]

2

a+b

a

[a,b,a+b]

a

a+b

algorithm structure2
Algorithm Structure
  • Fast round (as in the example)
  • Fast round

  • Fast round in which failure is detected
  • Expensive round to learn new info about failure
algorithm structure3
Algorithm Structure
  • Fast round (as in the example)
  • Fast round

  • Fast round in which failure is detected
  • Expensive round to learn new info about failure
  • Fast round
  • Fast round

  • Expensive round to learn new info about failure.
algorithm structure4
Algorithm Structure
  • Fast round (as in the example)
  • Fast round

  • Fast round in which failure is detected
  • Expensive round to learn new info about failure
  • Fast round
  • Fast round

  • Expensive round to learn new info about failure.

After a small number of expensive rounds, failures completely identified

algorithm structure5
Algorithm Structure
  • Fast round (as in the example)
  • Fast round

  • Fast round in which failure is detected
  • Expensive round to learn new info about failure
  • Fast round
  • Fast round

  • Expensive round to learn new info about failure.
  • Only fast rounds hereon

After a small number of rounds failures identified

algorithm analysis
Algorithm “Analysis”
  • Many fast rounds
  • Few expensive rounds
  • When averaged over time,the cost of expensive rounds is negligible
  • Average usage of link capacity depends only on the fast round, which is very efficient

Achieves capacity for 4-node networks, and symmetric networks

open problems1
Open Problems
  • Capacity of agreement for general rate regions
open problems2
Open Problems
  • Capacity of agreement for general rate regions
  • Even the multicast problem with Byzantine nodes is unsolved - For multicast, sources fault-free
rich problem space
Rich Problem Space
  • Wireless channel allows overhearing
  • Transmit to 2 at highrate, or low rate ? - Low rate allows reception at 1

1

2

S

3

rich problem space1
Rich Problem Space
  • Similar questions relevant for anymulti-party computation

Distributed

Computation

Communication

Multi-party computing under

Communication Constraints

how many bits needed
How many bits needed?
  • N nodes each has a k-bit input
  • Check if all inputs are identical
  • At least 1 node “detects” if not identical

2

Intuitive guess: (N-1)k bit

Is it the best we can do?

1

3

improving broadcast throughput1
Improving Broadcast Throughput
  • Observation: classic solution is in fact an “error correction”
  • “Error detection” suffices
    • Disseminate some data
    • Check if consistent or not
      • Consistent: decide
      • Inconsistent: diagnose and adapt
    • Repeat for new data
ad