Capacity of agreement with finite link capacity
Download
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 in p2p networks
Byzantine agreement in p2p networks


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 broadcast1
Classic Solution for Broadcast

value v

S

v

v

v

3

1

v

v

2


Classic solution for broadcast2
Classic Solution for Broadcast

value v

S

v

v

v

3

1

v

v

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 broadcast8
Classic Solution for Broadcast

S

v

x

w

3

1

w

w

2

x

v

v

x


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