Non-Transitive Connectivity and DHTs Mike Freedman Karthik - - PowerPoint PPT Presentation

non transitive connectivity and dhts
SMART_READER_LITE
LIVE PREVIEW

Non-Transitive Connectivity and DHTs Mike Freedman Karthik - - PowerPoint PPT Presentation

X Non-Transitive Connectivity and DHTs Mike Freedman Karthik Lakshminarayanan Sean Rhea Ion Stoica WORLDS 2005 X Distributed Hash Tables k R System assigns keys to nodes All nodes agree on assignment Chord assigns keys as


slide-1
SLIDE 1

X

Non-Transitive Connectivity and DHTs

Mike Freedman Karthik Lakshminarayanan Sean Rhea Ion Stoica WORLDS 2005

slide-2
SLIDE 2

X

Distributed Hash Tables…

System assigns keys to nodes All nodes agree on assignment Chord assigns keys as integers modulo 2160 Assigns keys via successor relationship Each node must know predecessor

k

R

slide-3
SLIDE 3

X

Distributed Hash Tables…

Used to store and retrieve (key, value) pairs Any node can discover key’s successor, yet

without full knowledge of network

Implies some form of routing

k

R

slide-4
SLIDE 4

X

Distributed Hash Tables…

All have implicit assumption: full connectivity

slide-5
SLIDE 5

X

Distributed Hash Tables…

All have implicit assumption: full connectivity Non-transitive connectivity (NTC) not uncommon

B C , C A , A B

A thinks C is its successor!

k

A B C

X

slide-6
SLIDE 6

X

Does non-transitivity exist?

Gerding/Stribling PlanetLab study

9% of all node triples exhibit NTC Attributed high extent to Internet-2

Yet NTC is also transient

One 3 hour PlanetLab all-pair-pings trace 2.9% have persistent NTC 2.3% have intermittent NTC 1.3% fail only for a single 15-minute snapshot

Level3

Cogent, but Level3 X Cogent

NTC motivates RON, Detour, and SOSR!

slide-7
SLIDE 7

X

Our contributions

We have built and run Bamboo (OpenDHT),

Chord (i3), Kademlia (Coral) for > 1 year

Vanilla DHT algorithms break under NTC Identify four main algorithmic problems and

present our solutions

slide-8
SLIDE 8

X

Our goals

Short-term

Inform other developers about NTC solutions Important: DHTs are being widely deployed in

Overnet, Morpheus, and BitTorrent

Long-term

Encourage new designs to directly handle NTC (This topic is far from solved)

slide-9
SLIDE 9

X

DHTs 101: Routing

k

R B A S Iterative

Key space defines an identifier distance Routing ideally proceeds by halving distance

to destination per overlay hop

slide-10
SLIDE 10

X

DHTs 101: Routing

k

R B A S

k

R B A S Iterative Recursive

slide-11
SLIDE 11

X

DHTs 101: Routing tables

k

R

successors / leaf set: ensure correctness fingers / routing table: efficient routing

O ( log (n) ) hops, generally

slide-12
SLIDE 12

X

Problems we identify

Invisible nodes Routing loops Broken return paths Inconsistent roots

slide-13
SLIDE 13

X

NTC problem fundamental?

R

B R

B

A R

A

S R

R S C B A

Traditional routing

slide-14
SLIDE 14

X

NTC problem fundamental?

DHTs implement greedy routing for scalability Sender might not use path, even though exists:

finds local minima when id-distance routing

R

B R

B

A R

A

S R

R S C B A

Traditional routing

X

C R

C

A R

A

S R Greedy routing

slide-15
SLIDE 15

X

Problems we identify

Invisible nodes Routing loops Broken return paths Inconsistent roots

(First discuss how problems apply to iterative routing, then consider recursive routing.)

slide-16
SLIDE 16

X

Iterative routing: Invisible nodes

R A S C

X

B

Invisible nodes cause lookup to halt

k

slide-17
SLIDE 17

X

Iterative routing: Invisible nodes

R A S C

X

B

Invisible nodes cause lookup to halt Enable lookup to continue

Tighter timeouts via network coordinates Lookup RPCs in parallel Unreachable node cache

X

D k

slide-18
SLIDE 18

X

Routing table pollution

R A S C B

Many proposals for maintaining routing tables

E.g., replace nodes with larger RTT

Must first prevent routing table pollution

Only add new nodes upon contacting directly Do not immediately remove nodes from hearsay

k

slide-19
SLIDE 19

X

Inconsistent roots

R S

Nodes do not agree where key is assigned:

inconsistent views of root

Can be caused by membership changes Also due to non-transitive connectivity

May persist indefinitely

R’

?

S’

X

k

slide-20
SLIDE 20

X

Inconsistent roots

No solution when network partitions If non-transitivity is limited:

Consensus among leaf set?

[Etna, Rosebud]

Expensive in messages and bandwidth

Link-state routing among leaf set?

[Pastry 1.4.1]

Can use application-level solutions!

slide-21
SLIDE 21

X

Inconsistent roots

R

Root replicates (key,value) among leaf set

Leafs periodically synchronize Get gathers results from multiple leafs [OpenDHT, DHash]

Not applicable when require fast update (i3)

R’ M N

X

S

k

slide-22
SLIDE 22

X

Recursive routing

Invisible nodes

Must also prevent routing table pollution Easier to achieve accurate timeouts Harder to perform concurrent RPCs

Inconsistent Roots

Similar solutions

(Routing Loops) One new problem…

slide-23
SLIDE 23

X

Broken return paths

Direct path back from R to S fails

Source-route reverse path Use single intermediate hop

RON, Detour, SOSR…

R S

X

T

k

slide-24
SLIDE 24

X

Summary

Non-transitive connectivity exists

DHTs must deal with it

Discovered problems the “hard way”

OpenDHT / Bamboo, i3 / Chord, Coral / Kademlia Presented our “from the trenches” fixes

NTC should be considered during design phase

slide-25
SLIDE 25

X

Thanks…

Watch Our Real, Large Distributed Systems…

coralcdn.org

  • pendht.org

i3.cs.berkeley.edu