Peer To Peer (P2P) - PowerPoint PPT Presentation

About This Presentation
Title:

Peer To Peer (P2P)

Description:

Title: Peer To Peer (P2P) Author: AGARThi Last modified by: Gennaro Cordasco Created Date: 1/9/2004 10:47:34 AM Document presentation format: Presentazione su schermo – PowerPoint PPT presentation

Number of Views:104
Avg rating:3.0/5.0
Slides: 35
Provided by: AGAR157
Category:
Tags: p2p | interleaved | memory | peer

less

Transcript and Presenter's Notes

Title: Peer To Peer (P2P)


1
Ricapitolando.
Sistemi P2P puri
Sistemi Uniformi
Sistemi Non uniformi
Koorde
Neighbor of Neighbor routing (NON)
2
Neighbor of Neighbor routing(NON)
  • The Small World Phenomena
  • The six degree of separation experiment S.
    Milgram M67.
  • The sociological experiment relied on social
    networks to transmit a letter from a person to
    unfamiliar targets by passing the letter only via
    acquaintances.
  • Only a small number (around 6) of steps was
    needed.
  • Recent work DRW03, shows that, in the first
    steps the message was forwarded to a person P by
    using a guess on who P knew or, in other words,
    on his/her neighbors.

3
Neighbor of Neighbor routing(NON)
Nel nostro caso è la distanza sullanello in
senso orario
  • Sia d(x,y) una metrica per i nodi nella rete.
  • Greedy routing
  • 1. Supponiamo che il nostro messaggio si trovi
    sul nodo u ? t (destinazione).
  • 2. Sia V v1, v2, , vk linsieme dei vicini
    del nodo u.
  • 3. Fra questi k nodi, supponiamo sia z il più
    vicino alla destinazinone (rispetto alla metrica
    d).
  • 4. Inviamo il messaggio al nodo z.

Può essere iterativo o ricorsivo
4
Neighbor of Neighbor routing(NON)
  • Greedy routing

u
t
5
Neighbor of Neighbor routing(NON)
  • 1. Supponiamo che il nostro messaggio si trovi
    sul nodo u ? t (destinazione).
  • 2. Sia V v1, v2, , vk linsieme dei vicini
    del nodo u.
  • 3. Per ogni 1 i k, siano wi1, wi2, , wik I
    vicinin di vi and sia W wij ? 1 i, j k
    linsieme dei vicini dei vicini di u.
  • 4. Fra questi k2k nodi, supponiamo sia z il più
    vicino alla destinazinone (rispetto alla metrica
    d).
  • 5.1 Se z ? V inviamo il messaggio al nodo z,
    altrimenti z wij, per qualche i e j, e
    inviamo il messaggio a z attraverso vi.
  • 5.2 Se z ? V inviamo il messaggio al nodo z,
    altrimenti z wij, per qualche i e j, e
    inviamo il messaggio a vi.

2 fasi
1 fase
6
Neighbor of Neighbor routing(NON)
  • Greedy routing
  • NON routing

u
t
u
t
7
Neighbor of Neighbor routing(NON)
  • Chord
  • Sia n2b, per ogni 0 i lt b, il nodo x è
    connesso ai nodi (x2i) mod 2b
  • Il grado è b
  • Il diametro è b
  • APL è b/2
  • R-Chord n2b MNW04
  • Sia n2b, per ogni 0 i lt b, sia rx(i) un intero
    scelto in maniera casuale dallintervallo 0,2i),
    il nodo x è connesso ai nodi (x2irx(i)) mod
    2b
  • Il grado è b

E un sistema uniforme?
8
Neighbor of Neighbor routing(NON)
  • R-Chord n2b MNW04
  • Sia n 2b, per ogni 0 i lt b, sia rx(i) un
    intero scelto in maniera casuale dallintervallo
    0,2i), il nodo x è connesso ai nodi
    (x2irx(i)) mod 2b
  • Il grado è b

R-Chord non è uniforme
x
2i
2i1
y
2i
2i1
9
000
111
001
010
110
101
011
100
10
Neighbor of Neighbor routing(NON)
  • Abbiamo visto
  • Una nuova strategia di routing (NoN routing)
  • Una nuova topologia (R-Chord)
  • Ci poniamo delle domande
  • Quali sono le prestazioni del NoN routing con
    Chord?
  • Quali sono le prestazioni del greedy routing con
    R-Chord?
  • Quali sono le prestazioni del NoN routing con
    R-Chord?

Chord è uniforme, lalgoritmo greedy è ottimale,
quindi NoN routing non ci da nessun vantaggio
11
Neighbor of Neighbor routing(NON)
  • Quali sono le prestazioni del NoN routing con
    Chord?

32
16
8
4
s
t
d(s,t)41
s
t
d(s,t)41
12
Neighbor of Neighbor routing(NON)
  • Abbiamo visto
  • Una nuova strategia di routing (NoN routing)
  • Una nuova topologia (R-Chord)
  • Ci poniamo delle domande
  • Quali sono le prestazioni del NoN routing con
    Chord?
  • Quali sono le prestazioni del greedy routing con
    R-Chord?
  • Quali sono le prestazioni del NoN routing con
    R-Chord?

13
Neighbor of Neighbor routing(NON)
  • Denotiamo con ?(n) laverage path length
  • Teorema
  • ?(n) ?(log n) hops for greedy routing in
    R-Chord
  • Prova
  • Bisogna mostrare che ?(n) O(log n) e ?(n)
    ?(log n)
  • 1) ?(n) O(log n)
  • Consideriamo tutte le possibili topologie che
    derivano da R-Chord. Mostriamo che a ogni singolo
    hop, se la distanza fra il nodo corrente e il
    nodo destinazione è d, dopo il jump la distanza è
    minore di 3/4d.

x
t
d(x,t)2p1-2
14
Neighbor of Neighbor routing(NON)
x
t
d(x,t)2p1-2
  • Consideriamo il caso peggiore
  • Il salto (p1) che può essere compreso fra
    2p,2p1) è lungo 2p1-1. In questo caso il salto
    va oltre la destinazione è quindi non può essere
    effettuato.
  • Il salto (p) che può essere compreso fra
    2p-1,2p) è lungo 2p-1.
  • La distanza fra x e t si riduce da d2p1-2 a
    2p1-2 - 2p-1.
  • Ma 2p1-2 - 2p-1 32p-1-2 ¾ 2p1-2 lt ¾ d.
  • Ad ogni passo nel caso peggiore passiamo da una
    distanza d a una distanza ¾ d. Quindi il numero
    dei passi totale è minore di log¾ d.
  • Nel caso peggiore dn-1. Quindi ?(n) lt log¾ (n-1)
    O(log n).

15
Neighbor of Neighbor routing(NON)
  • Denotiamo con ?(n) laverage path length
  • Teorema
  • ?(n) ?(log n) hops for greedy routing in
    R-Chord
  • Prova
  • Bisogna mostrare che ?(n) O(log n) e ?(n)
    ?(log n)
  • 2) ?(n) ?(log n)
  • ..
  • In pratica in base ai risultati di numerose
    simulazioni
  • R-Chord si comporta esattamente allo stesso modo
    di Chord
  • APL b/2 (log n)/2.

Questa prova ve la risparmio ?
16
Neighbor of Neighbor routing(NON)
  • Abbiamo visto
  • Una nuova strategia di routing (NoN routing)
  • Una nuova topologia (R-Chord)
  • Ci poniamo delle domande
  • Quali sono le prestazioni del NoN routing con
    Chord?
  • Quali sono le prestazioni del greedy routing con
    R-Chord?
  • Quali sono le prestazioni del NoN routing con
    R-Chord?

17
Neighbor of Neighbor routing(NON)
  • Denotiamo con ?(n) laverage path length
  • Teorema
  • ?(n) ?(log n / log (log n)) hops for NON
    routing in R-Chord
  • Prova
  • Bisogna mostrare che ?(n) O(log n / log (log
    n)) e ?(n) ? (log n / log (log n))
  • 1) ?(n) ? (log n / log (log n))
  • Labbiamo già dimostrato nella prima lezione
    (slide 16).

18
Neighbor of Neighbor routing(NON)
  • Denotiamo con ?(n) laverage path length
  • Teorema
  • ?(n) ?(log n / log (log n)) hops for NON
    routing in R-Chord
  • Prova
  • 2) ?(n) O(log n / log (log n))
  • Consideriamo un nodo s che intende spedire un
    messaggio a un nodo t a distanza d(s,t)d.

Consideriamo il ring pieno
s
t
d(s,t)d
19
Neighbor of Neighbor routing(NON)
  • 2) ?(n) O(log n / log (log n))
  • Sia p un intero tale che 2p d lt 2p1
  • Consideriamo due casi
  • p (log n) / log (log n)
  • In questo caso bastano O(p) jump per raggiungere
    la destinazione anche se si usa solo lalgoritmo
    greedy.
  • Cioè avvicinandoci di ¾ ad ogni passo.
  • Il numero di passi infatti è
  • log¾ d lt log¾ 2((log n) / log (log n))1
    O((log n) / log (log n)).

2p
2p1
s
t
d
20
Neighbor of Neighbor routing(NON)
  • 2) ?(n) O(log n / log (log n))
  • Sia p un intero tale che 2p d lt 2p1
  • Consideriamo due casi
  • p gt (log n) / log (log n)
  • Sia I (d-d,d dove d
  • Ovviamente Id

I
2p
2p1
d-d
s
t
d
21
Neighbor of Neighbor routing(NON)
2) ?(n) O(log n / log (log n)) Quanti
vicini di s ci sono fra s e t? I primo vicino si
trova fra 20 a 21 -1 Il secondo si trova fra 21
a 22 -1 Il terzo si trova fra 22 a 23 -1 Il
p-esimo si trova fra 2p-1 a 2p -1 Poichè 2p è
minore di d, fra s e t ci sono almeno p vicini.
Sia si liesimo vicino di s, e sia Ss1, s2,
, sp linsieme dei primi p vicini di s. Allora
Sp.
I
2p
2p1
s
t
d
2p d lt 2p1 p gt (log n) / log (log n) I
(d-d, d d
22
Neighbor of Neighbor routing(NON)
2) ?(n) O(log n / log (log n)) Denotiamo con
Jk(si)si2krsi(k) il k-esimo jump/vicino di
si. Il nostro obiettivo è calcolare la
probabilità che almeno uno dei vicini dei vicini
di s abbia un jump in I. PPrJk(si)?I per
qualche 1 i p e 0 k lt b
I
2p
2p1
s
t
d
2p d lt 2p1 p gt (log n) / log (log n) I
(d-d, d d Sp
I primi p vicini
Un jump qualsiasi n2b
23
Neighbor of Neighbor routing(NON)
  • Claim
  • Per ogni nodo si ? S, la probabilità che un
  • vicino di si ? I è almeno d/2p.
  • PPrJk(si)?I per qualche 0 k lt b d/2p
  • Prova
  • Consideriamo il generico vicino di s, si.
  • Denotiamo con di la distanza fra si e t.
  • Sia pi tale che 2pi di lt 2pi1
  • Due casi
  • d-dsi2pi

2p d lt 2p1 p gt (log n) / log (log n) I
(d-d, d d Sp
did
pip
di
2pi
2pi1
si
d-d
I
s
t
d
24
Neighbor of Neighbor routing(NON)
  • Claim
  • Per ogni nodo si ? S, la probabilità che un
  • vicino di si ? I è almeno d/2p.
  • PPrJk(si)?I per qualche 0 k lt b d/2p
  • Prova
  • d-dsi2pi
  • Lunico jump di si che può cadere in I è il jump
    (pi1)-esimo, infatti il jump (pi1)-esimo
    ?si2pi, si2pi1).
  • In particolare il jump (pi1)-esimo appartiene a
    I con probabilità I/2pi d/2pi d/2p

2p d lt 2p1 p gt (log n) / log (log n) I
(d-d, d d Sp did, pip
di
2pi
2pi1
si
d-d
I
s
t
d
pip
25
Neighbor of Neighbor routing(NON)
  • Claim
  • Per ogni nodo si ? S, la probabilità che un
  • vicino di si ? I è almeno d/2p.
  • PPrJk(si)?I per qualche 0 k lt b d/2p
  • Prova
  • d-dltsi2pi

2p d lt 2p1 p gt (log n) / log (log n) I
(d-d, d d Sp did, pip
d
di
2pi1
2pi
si
d-d
I
s
t
26
Neighbor of Neighbor routing(NON)
  • Claim
  • Per ogni nodo si ? S, la probabilità che un
  • vicino di si ? I è almeno d/2p.
  • PPrJk(si)?I per qualche 0 k lt b d/2p
  • Prova
  • d-dltsi2pi
  • In questo caso sia il jump p-esimo che il jump
    (p1)-esimo possono cadere in I.
  • Sia I A ? B dove A(d-d, si2pi) e
    Bsi2pi,d
  • Ovviamente ABd.

2p d lt 2p1 p gt (log n) / log (log n) I
(d-d, d d Sp did, pip
d
di
2pi
2pi1
si
d-d
I
s
t
A
B
27
Neighbor of Neighbor routing(NON)
  • Claim
  • Per ogni nodo si ? S, la probabilità che un
  • vicino di si ? I è almeno d/2p.
  • PPrJk(si)?I per qualche 0 k lt b d/2p
  • Prova
  • d-dlt2pi
  • Sia Q levento il pi-esimo jump di si cade in I
  • Sia R levento il (pi1)-esimo jump di si cade
    in I
  • Siamo interessati a calcolare la
    PrQ?RPrQPrR-PrQ?R

2p d lt 2p1 p gt (log n) / log (log n) I
(d-d, d d Sp did, pip
d
di
2pi
2pi1
si
d-d
I
s
t
A
B
Q
R
Q?R
28
Neighbor of Neighbor routing(NON)
  • Claim
  • Per ogni nodo si ? S, la probabilità che un
  • vicino di si ? I è almeno d/2p.
  • PPrJk(si)?I per qualche 0 k lt b d/2p
  • Prova
  • d-dlt2pi
  • Caso 2.a Bgt2pi-1
  • Valutimo solo PrR PrQ?R
  • PrRB/2pigt1/2gtd/2p

2p d lt 2p1 p gt (log n) / log (log n) I
(d-d, d d Sp did, pip
d
di
2pi
2pi1
si
d-d
I
s
t
A
B
Q
R
Q?R
29
Neighbor of Neighbor routing(NON)
  • Claim
  • Per ogni nodo si ? S, la probabilità che un
  • vicino di si ? I è almeno d/2p.
  • PPrJk(si)?I per qualche 0 k lt b d/2p
  • Prova
  • d-dlt2pi
  • Caso 2.b B2pi-1
  • PrQ?R PrQPrR-PrQ?R

2p d lt 2p1 p gt (log n) / log (log n) I
(d-d, d d Sp did, pip
d
di
2pi
2pi1
si
d-d
I
s
t
A
B
B2pi-1
30
Neighbor of Neighbor routing(NON)
Dove eravamo rimasti? Il nostro obiettivo
è calcolare la probabilità che almeno uno dei
vicini dei vicini di s abbia un jump in
I. PPrJk(si)?I per qualche 1 i p e 0 k lt
b
Pd/2p
d2p
p gt (log n) / log (log n)
P 1-e-1
(1-1/x)xe-1
31
Neighbor of Neighbor routing(NON)
Con probabilità P1-e-1 in due hop riduciamo
lintrvallo da d a d (log log n) / log n
Poichè 1-e-1 gt 0.5 funziona in media almeno una
volta su due In media con 22 4 hop riduciamo
lintrvallo da d a d (log log n) / log
n. Quanti hop ci servono 4 log log n / (log
log n)d O(log n / (log log n)) d al massimo
n-1 4 log log n / (log log n) n-1 O(log n /
(log log n)) Il nostro obiettivo
è calcolare la probabilità che almeno uno dei
vicini dei vicini di s abbia un jump in
I. PPrJk(si)?I per qualche 1 i p e 0 k lt
b
p (log n) / log (log n)
O(log n / (log log n))
32
Neighbor of Neighbor routing(NON)
Nel caso in cui il ring non è pieno? Ridurre la
distanza da 2b-1 a 2b/n impiega O(log n / log log
n) passi. Quanti nodi ci sono in 2b/n
identificatori? Utilizzando il Chernoff bound si
può dimostrare che in 2b/n identificatori ci
sono al più O(log n / log log n)
nodi WHP. Quindi anche usando solo i successori
in totale si effettuano O(log n / log log n)
passi.
33
Neighbor of Neighbor routing(NON)
  • Cost of Neighbor of Neighbor lists
  • Memory O(log2n)
  • Maintenance O(log n) must be updated
  • Neighbor lists should be maintained (open
    connection, pinging, etc.)
  • In practice, a Chord ring will never be in a
    stable state instead, joins and departures will
    occur continuously, interleaved with the
    stabilization algorithm. The ring will not have
    time to stabilize before new changes happen.
    Chord

34
Neighbor of Neighbor routing(NON)
  • Vantaggi
  • Algoritmo di routing locale
  • Algoritmo di routing semplice
  • Efficiente
  • Non è necessaria la stima di log n
  • Svantaggi
  • Come mantenere la lista dei vicini dei vicini?
  • No fast bootstrap
Write a Comment
User Comments (0)
About PowerShow.com