capacity of agreement with finite link capacity n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Capacity of Agreement with Finite Link Capacity PowerPoint Presentation
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


Download Now 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