Achieving One-Hop DHT Lookup and Strong Stabilization by Passing - - PowerPoint PPT Presentation

achieving one hop dht lookup and strong stabilization by
SMART_READER_LITE
LIVE PREVIEW

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing - - PowerPoint PPT Presentation

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens Ben Leong and Ji Li MIT Computer Science and Artificial Intelligence Laboratory { benleong, jli } @mit.edu Achieving One-Hop DHT Lookup and Strong Stabilization by Passing


slide-1
SLIDE 1

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens

Ben Leong and Ji Li MIT Computer Science and Artificial Intelligence Laboratory

{benleong, jli}@mit.edu

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.1

slide-2
SLIDE 2

Structured Peer-to-Peer Systems

Large scale dynamic network Overlay infrastructure : Scalable Self configuring Fault tolerant Every node responsible for some objects Find node having desired object Challenge: Efficient Routing at Low Cost

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.2

slide-3
SLIDE 3

Address Space

N15 N10 N17 N20 N25 N30 N35 N40 N47 N51 N57 N62 N0 N6 K13 K2 K47 K32 K52 K54 N49

Most common — one-dimensional circular address space

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.3

slide-4
SLIDE 4

Distributed Hash Tables (DHTs)

A Distributed Hash Table (DHT) is a distributed data structure that supports a put/get interface. Store and retrieve {key, value} pairs efficiently

  • ver a network of (generally unreliable) nodes

Early DHTs stored very little state (O(log n)) to cope with network churn (Stoica et al., 2001; Ratnasamy et al., 2001; Zhao et al., 2001; Rowstron and Druschel, 2001).

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.4

slide-5
SLIDE 5

Distributed Hash Tables (DHTs)

Keep state stored per node small because of network churn ⇒ minimize book-keeping & maintenance traffic Storage is cheap, so it is entirely reasonable to store a global lookup table at every node to achieve one-hop lookup (Gupta et al., 2004) Problem: Getting the routing information to all nodes and keeping it up-to-date

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.5

slide-6
SLIDE 6

Anjali’s One-Hop Scheme (NDSI ’04)

Hierarchical scheme Divide ring into slices – node at midpoint is the slice leader Slices further divided into units with leaders Slice leaders communicate with each other and with unit leaders in slice Information progagated along ring on stay-a-live messages

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.6

slide-7
SLIDE 7

Anjali’s One-Hop Scheme

Problems: Slice leaders significantly more bandwidth than the other nodes Several parameters — tuning requires knowledge of steady state network size Natural question: why don’t we just use per-event ad hoc broadcast trees?

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.7

slide-8
SLIDE 8

Token Passing Algorithm

Token – message containing join or leave information (IP address, id). Also has a range of propagation, specified by destination nd. When a node receives a token, it can: Pass the token to its predecessor; or Generate q secondary tokens that cover the remaining propagation range.

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.8

slide-9
SLIDE 9

Token Passing Algorithm

YOU

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.9

slide-10
SLIDE 10

Token Passing Algorithm

YOU

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.10

slide-11
SLIDE 11

Token Passing Algorithm

YOU

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.11

slide-12
SLIDE 12

Token Passing Algorithm

YOU

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.12

slide-13
SLIDE 13

Token Passing Algorithm

YOU

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.13

slide-14
SLIDE 14

Token Passing Algorithm

YOU

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.14

slide-15
SLIDE 15

Token Passing Algorithm

YOU

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.15

slide-16
SLIDE 16

Token Passing Algorithm

YOU

Pick q nodes in total

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.16

slide-17
SLIDE 17

Token Passing Algorithm

YOU

Pass last token to predecessor

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.17

slide-18
SLIDE 18

Token Passing Algorithm

Address space can be decomposed recursively Token is destroyed when it reaches its destination Nodes do not necessarily have to use a fixed q Tokens can be merged to save on propagation overhead

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.18

slide-19
SLIDE 19

Lookup Algorithm

Just contact the best known successor. It’s probably the right one; if not, it will tell you where to go. Correctness of routing is guaranteed by correctness of successor/predecessor pointers In worst case, simply follow a chain of successor pointers – slow but correct. Stabilization – process that maintains and repairs successor/predecessor pointers

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.19

slide-20
SLIDE 20

Definitions

We say that the network is

  • 1. weakly stable if, for all nodes u, we

have predecessor(successor(u)) = u;

  • 2. strongly stable if, in addition, for each

node u, there is no node v such that u < v < successor(u); and

  • 3. loopy if it is weakly but not strongly

stable (see (Stoica et al., 2002)).

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.20

slide-21
SLIDE 21

Weak Stabilization

Nodes periodically probe their immediate neighbors and exchange successor/predecessor lists All messages contain IP address, port number and node id

Theorem 1 The weak stabilization protocol

will eventually cause our network to converge to a weakly stable state.

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.21

slide-22
SLIDE 22

Loopy Example

N60 N45 N36 N24 N79 N86 N10

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.22

slide-23
SLIDE 23

Strong Stabilization

p p

p

Key idea: to detect loops, all we need to do is to traverse the entire ring and make sure that we come back to where we started

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.23

slide-24
SLIDE 24

Strong Stabilization

Theorem 2 The combination of our parallel

token-passing algorithm with the weak stabilization protocol will cause our network to converge to a strongly stable state within at most O(n2) rounds of token-passing. Take any set of r nodes and have them send a message to the consecutive node. If a loop exists, at least one pair will detect it. Key Insight: this property does not change if you choose the r nodes recursively.

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.24

slide-25
SLIDE 25

Simulation Results

Analysis shows that our scheme is feasible in terms of bandwidth consumption under realistic assumptions Implemented algorithm in p2psim and compared it directly to Anjali’s scheme Parameters: Node lifetime: 60 mins Avg 10 node joins per second for 200 s. Nodes rejoin after mean interval of 6 mins Query rate — 1 per sec per node

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.25

slide-26
SLIDE 26

One-Hop Failure Rates

0.02 0.04 0.06 0.08 0.1 200 250 300 350 400 200 400 600 800 1000 1200 1400 1600 1800 2000 2200 Network Size Gupta et al. Token Passing

Lookup failure rate Network Size Time (s)

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.26

slide-27
SLIDE 27

Two-Hop Failure Rates

0.0002 0.0004 0.0006 0.0008 0.001 0.0012 0.0014 0.0016 0.0018 200 250 300 350 400 Gupta et al. Token Passing

Lookup failure rate Time (s)

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.27

slide-28
SLIDE 28

Bandwidth Consumption

5 10 15 20 25 30 35 240 260 280 300 320 340 360 380 400 Gupta et al. - slice leaders Gupta et al. - regular node Token passing

Bandwidth consumption per node (kbps) Time (s)

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.28

slide-29
SLIDE 29

Related Work

One-Hop (Gupta et al., 2004) Superpeers (Mizrak et al., 2003) Kelips (Gupta et al., 2003)

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.29

slide-30
SLIDE 30

Conclusion

Performs as well as Anjali’s scheme Simplicity Imposes a slightly higher average overhead, but imposes uniform load Can vary q to adapt to network heterogeneity Have strong stabilization as a side-effect

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.30

slide-31
SLIDE 31

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens

Ben Leong and Ji Li MIT Computer Science and Artificial Intelligence Laboratory

{benleong, jli}@mit.edu

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.31

slide-32
SLIDE 32

Fault Tolerance

Sometimes bad things happen and a token is lost. Missing information is discovered during lookup process Observation: a lost token results in a consecutive segment of the address space missing some piece of information Solution: propagate repair tokens Passed in both directions Cannot be split

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.32

slide-33
SLIDE 33

Repair

YOU

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.33

slide-34
SLIDE 34

Repair

ENTIRE SEGMENT MISSING INFORMATION

YOU

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.34

slide-35
SLIDE 35

Repair

Problem discovered!

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.35

slide-36
SLIDE 36

Repair

Achieving One-Hop DHT Lookup and Strong Stabilization by Passing Tokens – p.36

slide-37
SLIDE 37

References

Gupta, A., Liskov, B., and Rodrigues, R. (2004). Efficient rout- ing for peer-to-peer overlays. In Proceedings of the 1st Sym- posium on Networked Systems Design and Implementation (NSDI 2004), pages 113–126. Gupta, I., Birman, K., Linga, P ., Demers, A., and van Renesse,

  • R. (2003). Kelips: Building an efficient and stable P2P DHT

through increased memory and background overhead. In Proceedings of the 2nd International Workshop on Peer-to- Peer Systems (IPTPS ’03). Mizrak, A., Cheng, Y., Kumar, V., and Savage, S. (2003). Structured superpeers: Leveraging heterogeneity to provide constant-time lookup. In Proceedings of the 4th IEEE Work- shop on Internet Applications. Ratnasamy, S., Francis, P ., Handley, M., Karp, R., and Shenker,

  • S. (2001). A scalable content-addressable network. In Pro-

ceedings of the 2001 ACM SIGCOMM Conference. Rowstron, A. and Druschel, P . (2001). Pastry: Scalable, dis- tributed object location and routing for large-scale peer-to- peer systems. In Proceedings of the 18th IFIP/ACM Inter- national Conference on Distributed Systems Platforms (Mid- dleware 2001). Stoica, I., Morris, R., Karger, D., Kaashoek, F ., and Balakrish- nan, H. (2001). Chord: A scalable Peer-To-Peer lookup ser- vice for internet applications. In Proceedings of the 2001 36-1

slide-38
SLIDE 38

ACM SIGCOMM Conference, pages 149–160. Stoica, I., Morris, R., Liben-Nowell, D., Karger, D., Kaashoek,

  • M. F

., Dabek, F ., and Balakrishnan, H. (2002). Chord: A scalable peer-to-peer lookup service for internet applica-

  • tions. Technical report, MIT LCS.

Zhao, B. Y., Kubiatowicz, J. D., and Joseph, A. D. (2001). Tapestry: An infrastructure for fault-tolerant wide-area loca- tion and routing. Technical Report UCB/CSD-01-1141, UC Berkeley. 36-2