yappers: a peer-to-peer lookup service over arbitrary topology

30
YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology Qixiang Sun Prasanna Ganesan Hector Garcia-Molina Stanford University

Upload: aolani

Post on 08-Jan-2016

27 views

Category:

Documents


4 download

DESCRIPTION

YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology. Qixiang Sun Prasanna Ganesan Hector Garcia-Molina Stanford University. Outline. Background and Motivation High-level overview of YAPPERS Brief evaluation. Where is X?. Problem. A. C. B. Problem (2). 1. Search. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Qixiang SunPrasanna Ganesan

Hector Garcia-Molina

Stanford University

Page 2: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Outline

• Background and Motivation

• High-level overview of YAPPERS

• Brief evaluation

Page 3: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Problem

Where is X?

Page 4: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Problem (2)

1. Search

2. Node join/leave

3. Register/remove content

A

B

C

Page 5: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Background

• Gnutella-style • join– anywhere in the

overlay

• register– do nothing

• search– flood the overlay

Page 6: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Background (2)

• Distributed hash table (DHT)

• join– a unique location in

the overlay

• register– place pointer at a

unique node

• search– route towards the

unique node

. . .Chord

CAN

Page 7: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Background (3)

• Gnutella-style+ Simple+ Local control+ Robust+ Arbitrary topology

– Inefficient– Disturbs many nodes

• DHT+ Efficient search

– Restricted overlay– Difficulty with dynamism

Page 8: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Motivation

• Best of both worlds– Gnutella’s local interactions– DHT-like efficiency

• Respect application-defined topology– Social network– Ad hoc wireless network– Physical-network proximity

Page 9: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Partition Nodes

Given any overlay, first partition nodes into buckets (colors) based on hash of IP

Page 10: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Partition Nodes

Given any overlay, first partition nodes into buckets (colors) based on hash of IP

Page 11: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Partition Nodes (2)

Around each node, there is at least one node of each color

X Y

May require backup color assignments

Page 12: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Register Content

Partition content space into buckets (colors) and register pointer at “nearby” nodes.

Z

register red content locally

register yellow content at a yellow node

Nodes aroundZ form a smallhash table!

Page 13: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Searching Content

Start at a “nearby” colored node, search other nodes of the same color.

V

U

X Y

Z

W

Page 14: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Searching Content (2)

A smaller overlay for each color and use Gnutella-style flood

Fan-out = degree of nodes in the smaller overlay

Page 15: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Recap

• Hybrid approach– Around each node, act like a hash table– Flood the relevant nodes in the entire network

• What do we gain?– Respect original overlay– Efficient search for popular data– Avoid disturbing nodes unnecessarily

Page 16: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Brief Evaluation

• Using a 24,702 nodes Gnutella snapshotas the underlying overlay

• We study– Number of nodes contacted per query when

searching the entire network

– Trade-off in using our hybrid approach when flooding the entire network

Page 17: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Nodes Searched per Query

0

0.05

0.1

0.15

0.2

0.25

0.3

0 10 20 30 40 50

Number of Buckets (Colors)

Fra

ctio

n o

f N

od

es S

earc

hed Limited by the number

of nodes “nearby”

Page 18: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Trade-off

• Fan-out = degree of each colored node when flooding “nearby” nodes of the same color

Average Fan-out

Vanilla 835

Heuristics 82

• Good in searching nearby nodes quickly.

• Bad in searching the entire network

Page 19: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Conclusion

Does YAPPERS work?– YES

• Respects the original overlay• Searches efficiently in small area• Disturbs fewer nodes than Gnutella• Handles node arrival/departure better than DHT

– NO• Large fan-out (vanilla flooding won’t work)

Page 20: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

For More Information

• A short position paper advocating locally-organized P2P systemshttp://dbpubs.stanford.edu/pub/2002-60

• Other P2P work at Stanfordhttp://www-db.stanford.edu/peers

Page 21: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology
Page 22: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Recap

• node join– anywhere in the overlay

• register content– at nearby node(s) of the appropriate color

• search– start at a nearby node of the search color

and then flood nodes of the same color.

Page 23: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

What Do We Gain?

• Respect original overlay

• Efficient search for popular data

• Avoid disturbing nodes unnecessarily

• Better handling of dynamic node arrival and departure

Page 24: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Design Issues

• How to build a small hash table around each node, i.e., assign colors?

• How to connect nodes of the same color?

Page 25: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Small-scale Hash Table

Small = all nodes within h hops (e.g., h=2)– Consistent across overlapping hash tables– Stable when nodes enter/leave

A B

XC

Page 26: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Small-scale Hash Table (2)

• Fixed number of buckets (colors)

• Determine bucket (color) based on the hash value of node IP addresses

– Multiple nodes of the same color

– No nodes of a color

Page 27: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Searching the Overlay

Find another node of the same color in a “nearby” hash table

All nodeswithin h hops

A

C

B

Frontier Node

Need to track all nodes within 2h+1 hops

Page 28: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Searching the Overlay (2)

For a color C and each frontier node v,

1. determine which nodes v mightcontact to search for color C

2. contact these nodes

Theorem: Regardless of starting node, one can search all nodes of all color.

Page 29: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Buckets per Node

• Using 32 buckets (colors) per hash table

0

5

10

15

20

25

30

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Number of Buckets (Colors) per Node

Fra

cti

on

of

No

de

s (

%) AVG = 3.7

3.7

32= 11.5%

Page 30: YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology

Overloading a Node

• A node may have many colors even if it has a large neighborhood.

A

X