dynamic networks for peer-to-peer systems pierre fraigniaud cnrs lab. de recherche en informatique...
TRANSCRIPT
![Page 1: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/1.jpg)
Dynamic Networks for Peer-to-Peer Systems
Pierre Fraigniaud CNRS
Lab. de Recherche en Informatique (LRI)
Univ. Paris-Sud, Orsay
Joint work with Philippe Gauron (LRI)
![Page 2: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/2.jpg)
Peer-to-Peer Systems (P2P)
• Opposed to the master-slave model
• A group of users (computers) share a common space in a decentralized manner.
• Objectives : • Share data (music, movies, etc.)• Share resources (computing facilities)
![Page 3: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/3.jpg)
Main (Ideal) Characteristics
• No central server• Cooperation between users• Users can join and leave the system at
any time • Fault-tolerance• Anonymity• Security• Self organization
![Page 4: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/4.jpg)
Half-Decentralized Sytems
@data?
IP@
data?
File
@
Server (local)User
Data
![Page 5: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/5.jpg)
Decentralized Systems
![Page 6: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/6.jpg)
Different Types of Lookups• Flooding (e.g., Gnutella)
• Pro : simple• Con : network load non exhaustive
• Routing from A to B=h(d). • Pro : exhaustive• Difficulty : routing Distributed Hash
Tables (a.k.a. Content-Addressable Network)
![Page 7: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/7.jpg)
Problem
Design a dynamic network (i.e., nodes join and leave at their
convenience) in which look-up routing and updating are
“efficient”.
![Page 8: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/8.jpg)
Constraints
• Fast updatesLimited amount of control messages
small degree
• Fast lookupsShort lookup routes small diameter
• Balanced trafficNo hot spot during lookup routing
![Page 9: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/9.jpg)
Distributed Hash Tables
• Data d h(d) = key K• Nodes = computers = users• Arc (A,B) A store the IP@ of B in
its routing table • Each computer stores a lookup
table: key vs. IP@.• Lookup routing performs on a key-
basis
![Page 10: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/10.jpg)
CAN“Content-Addressable Network”
d-dimensionnal torus
join
Exp. degree = O(d)Exp. diameter = O(d n1/d)
![Page 11: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/11.jpg)
Chord
d–dimensional hypercube
M-10
3 2 1
b
aKeys of a
x
x+2i
Exp.degree = O(log n)Exp. diameter = O(log n)
![Page 12: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/12.jpg)
Viceroy
Butterfly Network
Exp. degree = O(1)Exp. diameter = O(log n)
![Page 13: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/13.jpg)
Why yet another DHT?
• Most of the existing DHTs have expected degree at least (log n)
• CAN has expected degree O(d) but diameter O(dn1/d)
• Viceroy has degree O(1) and diameter O(log n), but is based on relatively complex machineries.
![Page 14: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/14.jpg)
D2B
• Expected #key per node O(|K|/n) O(|K|log n/n) with high probability. • Expected degree O(1) ; O(log n)
w.h.p.• Length of lookup route O(log n)
w.h.p.• Congestion minimal for a constant
degree network: O(log n/n)
![Page 15: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/15.jpg)
Underlying topology
Based on the de Bruijn NetworkV = {binary sequences of length k}
E = {(x1x2…xk)(x2…xky), y=0 or 1}
000
100
010 101 111
110
011001
![Page 16: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/16.jpg)
Node and key labels
• Node = binary sequence of length m.
• Key = binary sequence of length = m. up to 2m nodes and keys In practice, set m=128 or even 256• The key is stored by node x if and
only if x is a prefix of .
![Page 17: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/17.jpg)
Universal Prefix Set
Let Wi, i=1,…,q, be q binary sequences.
The set S={W1,W2,…,Wq} is a universal prefix set if and only if, for any infinite binary sequence B, there is one and only one Wi which is a prefix of B.
Example: {0,11,100,1010,10110,10111}Remark: {e} where e is the empty
sequence is a universal prefix set. By construction, the set of nodes in D2B is
a universal prefix set.
![Page 18: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/18.jpg)
Routing Connections
Parents
Children
![Page 19: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/19.jpg)
Children Connections and Routing
x1x2………xk
x2…xj
x1x2………xk
x2………xky1y2…yj
The set {y1y2…yj} is a UPS
![Page 20: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/20.jpg)
Join Procedure (1/3)
• A joining node u contacts an entry point v in the network;
• Node u selects a m-bit binary sequence L at random: its preliminary label;
• A request for join is routed from v to the node w that is in charge of key L;
![Page 21: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/21.jpg)
Join Procedure (2/3)
• Node w labeled x1x2……xk extends its label to x1x2……xk0
• Node u takes label x1x2……xk1
• Node w transfers to u all keys K such that x1x2……xk1 is prefix of K.
![Page 22: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/22.jpg)
Join Procedure (3/3)
x1x2………xk
x2………xky1y2…yj
x1x2………xk0
x2………xk0y2…yj
x1x2………xk1
![Page 23: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/23.jpg)
Example
{}
![Page 24: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/24.jpg)
Example
0
1
11
0
![Page 25: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/25.jpg)
Example
0 1
10
1
01
0
![Page 26: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/26.jpg)
Example
0 1
10
1
01
0
0110
![Page 27: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/27.jpg)
Example
0 1
10
1
01
0
0110
0111
0
![Page 28: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/28.jpg)
Example
0 1
10
1
01
0
0110
0111
0
111
0
![Page 29: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/29.jpg)
Example
0 1
10
1
01
0
0110
0111
0
111
0
![Page 30: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/30.jpg)
Example
0 1
10
1
01
0
0110
0111
0
111
0
001
0
![Page 31: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/31.jpg)
Example
0 1
10
1
01
0
0110
0111
0
111
0
001
0
0
101
![Page 32: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/32.jpg)
Example
0 1
10
10
011
01 0 111
0
001
0
0
101
![Page 33: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/33.jpg)
#keys per node (1/2)
0 2m-1x
x1x2…xk x1x2…xk**…………**
y
![Page 34: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/34.jpg)
#keys per node (2/2)
• Devide K in n/(c log n) intervals, each containing c log n |K|/n keys.• Let X = #nodes in interval I starting at x• n Bernouilli trials with probability p = c log n/n• Chernoff bound:
Prob(|∑Xi-np|>k)<2e-k2/3np
Prob(|X-c log n|>(3c)1/2 log n) < 2/n W.h.p., there is at least one node in I W.h.p., a given node manages O(|K|log n/n)
keys
![Page 35: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/35.jpg)
Lookup routingNode x1x2………xk looks for key 12……………
m
x2………xk1…h
x3………xk1…hh+1……………h+r
x4………xk1…hh+1……h+i
x5………xk1…hh+1……h+ih+i+1…h+i+s
x6…xt
x7…xt 1……d
At most k hops to reach the node in charge of the key 12……………m
![Page 36: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/36.jpg)
Length of node label (1/2)
0 2m-1x
x1x2…xk x1x2…xk**…………**
I
|I|=c |K| log n/n
y
![Page 37: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/37.jpg)
Length of node-label (2/2)
Prob(|X-c log n|>(3c)1/2 log n) < 2/n
W.h.p., at most O(log n) nodes in I x manages at least |I|/2O(log n) keys k m – log|I| + O(log n) k O(log n) W.h.p., a lookup route is of length
O(log n)
![Page 38: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/38.jpg)
Degree and congestion
• W.h.p., degree = O(log n) using similar techniques (expected degree O(1))
• Congestion = proba that a node is traversed by a lookup from a random node to a random key = O(log n/n)
(Minimum possible for a constant-degree network)
![Page 39: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/39.jpg)
Summary: Expected properties
Update Lookup Congestion
CAN O(d) O(dn1/d) O(d/n1-1/d)
Small world O(1) O(log2n) O(log2n/n)
Chord O(log n) O(log n) O(log n/n)
Viceroy O(1) O(log n) O(log n/n)
D2B O(1) O(log n) O(log n/n)
![Page 40: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/40.jpg)
Extensions
• d-dimensional D2B• Degree = d• Lookups = log n / log d
• Fault-tolerance• Mapping the physical topology
![Page 41: Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe](https://reader035.vdocuments.site/reader035/viewer/2022070414/5697c00d1a28abf838cc9321/html5/thumbnails/41.jpg)
References[1] I. Abraham, B. Awerbuch, Y. Azar, Y. Bartal, D. Malkhi, and E. Pavlov. A Generic Scheme for
Building Overlay Networks in Adversarial Scenarios. In Int. Parallel and Distributed Processing Symposium (IPDPS), April 2003.
[2] P. Fraigniaud and P. Gauron. The Content-Addressable Network D2B. Technical Report, LRI, Univ. Paris Sud, Jan. 2003. http://www.lri.fr/~pierre
[3] M. Kaashoek and D. Karger. Koorde: A simple degree-optimal distributed hash table. In Int. Peer-to-peer Processing Symposium (IPTPS), Feb. 2003.
[4] M. Naor and U. Wieder. Novel Architecture for P2P Applications: the Continuous-Discrete Approach. To appear in ACM Symp. on Parallelism in Algorithms and Architectures (SPAA), June 2003.