dht routing - cornell university · chord: a p2p lookup service ion stoica uc berkeley “chord: a...

19
DHT Routing Presented by Emma Kilfoyle October 24, 2013

Upload: others

Post on 07-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

DHT RoutingPresented by Emma Kilfoyle October 24, 2013

Page 2: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

DHT History/Background● 1995 - Internet goes public● Early 2000s - P2P file sharing, e.g. Napster (1999) and

Gnutella (2000), gains popularity● 2001 - researchers start developing fast, distributed

lookup services (CAN, Chord, Tapestry, Pastry)● Today - Cassandra (Facebook), Dynamo (Amazon),

memcached (Twitter/Facebook), etc.

Page 3: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

DHT History/Background● 1995 - Internet goes public● Early 2000s - P2P file sharing, e.g. Napster (1999) and

Gnutella (2000), gains popularity● 2001 - researchers start developing fast, distributed

lookup services (CAN, Chord, Tapestry, Pastry)● Today - Cassandra (Facebook), Dynamo (Amazon),

memcached (Twitter/Facebook), etc.

Page 4: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

Chord: A P2P Lookup Service

Ion Stoica UC Berkeley

● “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications”● MIT Laboratory for Computer Science and AI● Presented at SIGCOMM 2001

Robert MorrisMIT, CSAIL

David KargerMIT, CSAIL

M. F. KaashoekMIT, CSAIL

Hari BalakrishnanMIT, CSAIL

Page 5: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

Chord Goals● Load balance● Decentralization● Scalability● Availability● Flexible naming

Page 6: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

Chord Routing Basics● Node - any machine running Chord software● Successor - node with next largest ID● Predecessor - node with next smallest ID● Finger table - Chord routing table

○ Includes entries (“fingers”) for O(log N) other nodes○ kth finger at node n contains the first node s that

succeeds n by at least 2k -1, i.e. successor(n + 2k -1)

Page 7: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

Chord Routing ProtocolExample on blackboard!

Page 8: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

Chord PerformanceLoad balance in a 104 node network...

Page 9: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

Chord PerformancePath length as a function of network size...

Path length PDF in a 212 node network...

Page 10: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

Chord ExtrasWhat we didn’t talk about...● Virtual nodes● Stabilization processes● Concurrent node joins/departures/failures

Page 11: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

Discussion1. How well did Chord address its 5 goals?

○ load balance○ decentralization○ scalability○ availability○ flexible naming

2. Are provably short path lengths enough to ensure fast routing in a WAN?

Page 12: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

Impact of DHT Routing Geometry● “The Impact of DHT Routing Geometry on Resilience and Proximity”● Presented at SIGCOMM 2003

● K. Gummadi● R. Gummadi● S. Gribble● S. Ratnasamy● S. Shenkar● I. Stoica

Page 13: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

Routing Geometries● Ring, e.g. Chord● Tree, e.g. Tapestry● Hypercube, e.g. CAN● Butterfly, e.g. Viceroy● XOR, e.g. Kademlia● Hybrid (Ring+Tree), e.g. Pastry

Page 14: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

Flexibility, Resilience & Proximity ● Flexibility - how many different ways to route a request

○ Neighbor selection○ Route selection

● Resilience - keep routing requests after nodes fail/depart

● Proximity - route requests through nodes that are “close together” w.r.t. some metric, e.g. network latency

Page 15: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

Flexibility, Resilience & Proximity ● Flexibility - how many different ways to route a request

○ Neighbor selection○ Route selection

● Resilience - keep routing requests after nodes fail/depart

● Proximity - route requests through nodes that are “close together” w.r.t. some metric, e.g. network latency

● Hypothesis: Greater flexibility leads to DHTs with higher resilience and better proximity of routes

Page 16: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

Results: Resilience

Page 17: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

Results: Proximity

Page 18: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

Results: Proximity cont.

Page 19: DHT Routing - Cornell University · Chord: A P2P Lookup Service Ion Stoica UC Berkeley “Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications” MIT Laboratory

Takeaways● DHT routing geometry matters!● Flexibility in neighbor selection is important● Simple Ring geometry works surprisingly

well