Top Banner
Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Dennis Schade
20

Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

Dec 26, 2015

Download

Documents

Edwina Blair
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

Effizientes Routing in P2P Netzwerken

Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications

Dennis Schade

Page 2: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

Outline

Short introduction to P2P systems Chord System Model Chord Algorithm Simulation Results Future Work

Page 3: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

Introduction to P2P Systems

Basic principles sharing ressources decentralization self-organization

Main advantages no Single Point of Failure load balancing scalability

Main problems load balancing decentralization

self-organization availability

scalability efficient node localization

Page 4: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

Addressing dataData addressed by a Hashtable calculating hashvalues for keys storing reference to data identified by

hashvalues

In P2P systems the hashtable is partitioned distributed over peers

Such a hashtable is called distributed hashtable(DHT)

Page 5: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

Chord: A Scalable Peer-to-peer Lookup Protocol Efficient node localization Distributed lookup protocol Only one operation: given a key, Chord

maps the key onto a node Simplicity, provable performance, proven

correctness

Page 6: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

The Chord System Model

Every node has an unique identifier

Identifiers are arranged on a identifier circle modulo 2m

m is called exponent of the ring

Nodes know their successor and predecessor

Page 7: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

The Chord System Model

key k is assigned to the node whose identifier is equal to or greater than k this node is called

successor(k) it is the first node clockwise

from k. lookup(k) returns

responsible peer

Page 8: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

The Chord algorithm -Simple node localization

// ask node n to find the successor of idn.lookup(id) if (id (n; successor]) return successor; else // forward query around the circle return successor.lookup(id);

Number of messages linear in number of nodes

Page 9: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

The Chord algorithm –Scalable node localization Each node holds additional routing

information to accelerate lookupsnodes have a so called finger table with up to

m entries ith finger table entry at node x points to the first

node y that succeds x‘s ID by at least 2i-1

y = lookup(x.ID + 2i-1)

Page 10: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

Example: Scalable node localizationfinger[i] = lookup(x.ID + 2i-1)

Finger table for N8 (m=6)

N8+1 K9 N14

N8+2 K10 N14

N8+4 K12 N14

N8+8 K16 N21

N8+16 K24 N32

N8+32 K40 N42

Page 11: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

The Chord algorithm –Scalable node localization

search in finger table for the node n which most immediatly precedes key k

n.lookup(k)

Number of messages:

O(log N)

Page 12: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

The Chord algorithm –Node joins and stabilization

(1) (2) (3)

?

Page 13: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

The Chord algorithm –Node joins and stabilization

Stabilization protocol for a node x: x.stabilize():

ask successor y for its predecessor p if p (x; y] then p is x‘s new successor

x.notify(): notify x‘s successor p of x‘s existence notified node may change predecessor to x

Page 14: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

The Chord algorithm –Node joins and stabilization

(1) (2) (3)

Page 15: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

Implementation Overview

N56

clients

serverstabilizer

lookupftableupdate

fingertable

Mediator

Page 16: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

Implementation Demonstration

Page 17: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

Simulation & test results

Test conditions fully populated chord ring of size 8, 16 and

32 correct fingertables no node joins no node departure communication over loopback device

Page 18: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

Test results number of forwardings in O(log N) bandwidth usage (TCP) ≤ 1 KB/s bandwidth usage (UDP) ≤ 2.5 KB/s average lookup time is ≤ 50 ms

Simulation & test results

Page 19: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

Future work

Impact on lookups random node joins and departures incorrect finger tables

improvements in communication protocol support of node distances S-Chord

Page 20: Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.

Questions & Discussion

Thank you for attention!

Questions?