sistemi peer to peer (p2p) avanzati gennaro cordasco gennaro cordasco cordasco[@]dia.unisa.it...

36
Sistemi Peer To Peer Sistemi Peer To Peer (P2P) Avanzati (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco cordasco [@]dia.unisa.it [@]dia.unisa.it http://www.dia.unisa.it/~cordasco http://www.dia.unisa.it/~cordasco Laboratorio ISISLAB2 (L8 a Laboratorio ISISLAB2 (L8 a Baronissi) Baronissi)

Upload: nerina-verde

Post on 01-May-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

Sistemi Peer To Peer (P2P) Sistemi Peer To Peer (P2P) AvanzatiAvanzati

Gennaro CordascoGennaro Cordasco cordascocordasco[@]dia.unisa.it[@]dia.unisa.it http://www.dia.unisa.it/~cordascohttp://www.dia.unisa.it/~cordasco Laboratorio ISISLAB2 (L8 a Baronissi)Laboratorio ISISLAB2 (L8 a Baronissi)

Page 2: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: Alcune definizioniSistema distribuito nel quale ogni nodo ha identiche Sistema distribuito nel quale ogni nodo ha identiche capacità e responsabilità e tutte le comunicazioni sono capacità e responsabilità e tutte le comunicazioni sono potenzialmente simmetriche;potenzialmente simmetriche;Siamo interessati ai sistemi P2P di seconda Siamo interessati ai sistemi P2P di seconda generazione, quelli che supportano DHT (Distributed generazione, quelli che supportano DHT (Distributed Hash Table);Hash Table);P2P Puro;P2P Puro;

Analizzeremo alcuni protocolli Chord like;Analizzeremo alcuni protocolli Chord like; Si basano sul ring;Si basano sul ring; Utilizzano consistent hashing;Utilizzano consistent hashing; Join/Leave uguali a Chord;Join/Leave uguali a Chord; Cambiano i vicini (finger) e l’algoritmo di routing; Cambiano i vicini (finger) e l’algoritmo di routing;

Es: Chord

Page 3: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: ScalabilitàIl lavoro richiesto a un determinato nodo nel Il lavoro richiesto a un determinato nodo nel sistema non deve crescere (o almeno cresce sistema non deve crescere (o almeno cresce lentamente) in funzione del numero di nodi nel lentamente) in funzione del numero di nodi nel sistema;sistema;La scalabilità di un protocollo dipende:La scalabilità di un protocollo dipende: dalla topologia della rete;dalla topologia della rete; dall’algoritmo di routing. dall’algoritmo di routing.

Obiettivi:Obiettivi: Minimizzare il numero di messaggi necessari per Minimizzare il numero di messaggi necessari per

fare lookup;fare lookup; Minimizzare, per ogni nodo, le informazioni relative Minimizzare, per ogni nodo, le informazioni relative

agli altri nodi;agli altri nodi;

Page 4: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

Dal punto di vista topologico

Consideriamo una rete P2P come un Consideriamo una rete P2P come un grafo G=(V,E), dove V è l’insieme dei grafo G=(V,E), dove V è l’insieme dei nodi nel sistema e E rappresenta nodi nel sistema e E rappresenta l’insieme delle interconnessioni fra essi:l’insieme delle interconnessioni fra essi: Minimizzare, per ogni nodo, le informazioni Minimizzare, per ogni nodo, le informazioni

relative agli altri nodi:relative agli altri nodi: minimizzare il grado dei nodi;minimizzare il grado dei nodi;

Minimizzare il numero di messaggi Minimizzare il numero di messaggi necessari per fare lookup:necessari per fare lookup:

Minimizzare il diametro;Minimizzare il diametro;Minimizzare l’average path lenght (APL), vale a Minimizzare l’average path lenght (APL), vale a dire, la distanza media fra due nodi nel grafo. dire, la distanza media fra due nodi nel grafo.

Condizioni necessarie ma non sufficienti

Page 5: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

Es. ChordConsideriamo un anello con n=2Consideriamo un anello con n=2bb nodi; nodi;

Ogni nodo x ha un etichetta a b bit che Ogni nodo x ha un etichetta a b bit che denotiamo con id(x);denotiamo con id(x);

I vicini del nodo x sono i nodi (x+2I vicini del nodo x sono i nodi (x+2ii) mod 2) mod 2bb i = 0,1, ,b-1; i = 0,1, ,b-1;

jump

000

101

100

011

010

001

110

111

b=3

Page 6: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

Es. Chord

Quanto valgono:Quanto valgono: grado?grado? diametro?diametro? average path lenght?average path lenght?

000

101

100

011

010

001

110

111

b=3

Il grado è b = log n

Page 7: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

Es. Chord

Dati due nodi x e y la loro distanza d(x,y) è Dati due nodi x e y la loro distanza d(x,y) è uguale al numero di “1” che ci sono nella stringa uguale al numero di “1” che ci sono nella stringa binaria (y-x) mod 2binaria (y-x) mod 2bb..

Infatti i jump necessari per passare dal nodo x al Infatti i jump necessari per passare dal nodo x al nodo y sono quelli relativi alla posizione degli “1” nodo y sono quelli relativi alla posizione degli “1” nella stringa binaria (y-x) mod 2nella stringa binaria (y-x) mod 2bb. .

000

101

100

011

010

001

110

111

b=3

Page 8: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

Es. Chord

Calcoliamo la distanza tra il nodo 3 e il nodo 6:Calcoliamo la distanza tra il nodo 3 e il nodo 6: (6-3) mod 8 = 3 = 011 (un jump da 2 e uno da 1). (6-3) mod 8 = 3 = 011 (un jump da 2 e uno da 1).

Calcoliamo la distanza tra il nodo 6 e il nodo 3:Calcoliamo la distanza tra il nodo 6 e il nodo 3: (3-6) mod 8 = 5 = 101 (un jump da 4 e uno da 1).(3-6) mod 8 = 5 = 101 (un jump da 4 e uno da 1).

000

101

100

011

010

001

110

111

b=3

d(x,y) può essere diverso da d(y,x)

Chord non è simmetrico

Il diametro è b = log n

Page 9: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

grado

diametro

1

1

n -1

n -1

O(log n)

O(log n)

Chord e altriGrafo

completo

Anello

n è il numero dei peer;

Page 10: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

Es. Chord

Quanto vale l’average path lenght?Quanto vale l’average path lenght?

000

101

100

011

010

001

110

111

b=3

2

,

),(

n

yxd

APL Nyx

N denota l’insieme dei

nodi

Page 11: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

Sistemi P2P uniformi

Denotiamo con JDenotiamo con Jx,ix,i l’iesimo jump del nodo x; l’iesimo jump del nodo x;

Un sistema P2P viene detto uniforme, se per Un sistema P2P viene detto uniforme, se per ogni coppia di nodi x e y, si ha Jogni coppia di nodi x e y, si ha Jx,i x,i = J= Jy,i y,i i =1,2,i =1,2,

…,k.…,k.

Chord è uniforme?Chord è uniforme?

APL sistemi uniformi: APL sistemi uniformi:

n

xad

n

xadn

n

yxd

APL NxNxNyx

),(),(),(

22

,

Si

k=gradol=diametro

a è un generico nodo N

Per semplicità consideriamo un

sistema Chord like

Page 12: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

Sistemi P2P uniformiVantaggi:Vantaggi:

Facili da implementare e da analizzare;Facili da implementare e da analizzare; Algoritmo di routing semplice (greedy);Algoritmo di routing semplice (greedy); Routing locale, la procedura di lookup interessa solo i nodi Routing locale, la procedura di lookup interessa solo i nodi

che si trovano fra sorgente e destinazione; che si trovano fra sorgente e destinazione; Non c’è congestione sui nodi, vale a dire il traffico generato Non c’è congestione sui nodi, vale a dire il traffico generato

dai messaggi di lookup è più o meno uguale per tutti i nodi.dai messaggi di lookup è più o meno uguale per tutti i nodi. Fast bootstrap:Fast bootstrap:

Poiché tutti i nodi utilizzano gli stessi jump, è possibile utilizzare Poiché tutti i nodi utilizzano gli stessi jump, è possibile utilizzare la tabella di routing del proprio predecessore per velocizzare la tabella di routing del proprio predecessore per velocizzare notevolmente l’operazione di join;notevolmente l’operazione di join;

Svantaggi:Svantaggi: Sfortunatamente non sono gli algoritmi più efficienti.Sfortunatamente non sono gli algoritmi più efficienti.

Lo vediamo fra un pò

Page 13: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

Es. ChordQuanto vale l’average Quanto vale l’average path lenght?path lenght?

Scegliamo come nodo Scegliamo come nodo sorgente il nodo a=00…0;sorgente il nodo a=00…0;

La distanza fra a e il generico La distanza fra a e il generico nodo x è uguale al numero di bit nodo x è uguale al numero di bit a 1 nella codifica binaria di x;a 1 nella codifica binaria di x;

2

,

),(

n

yxd

APL Nyx

000

101

100

011

010

001

110

111

b=3n

xadAPL Nx

),(

a

00…0

00…1

11…0

11…1

2

log

2

22

),(nb

n

b

n

xadAPL

b

Nx

Page 14: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

Fault tolerance and degreeIl grado di una rete P2P soggetta a fallimenti deve Il grado di una rete P2P soggetta a fallimenti deve essere almeno essere almeno ΩΩ((log n).log n).Infatti, Infatti, ΩΩ((log n) risulta essere il minimo valore che log n) risulta essere il minimo valore che permette alla rete di rimanere connessa anche nelle permette alla rete di rimanere connessa anche nelle condizioni più proibitive;condizioni più proibitive;Sketch:Sketch:

Supponiamo che tutti i nodi della rete possono fallire con Supponiamo che tutti i nodi della rete possono fallire con probabilità ½;probabilità ½;

Ovviamente un nodo rimane disconnesso se tutti i suoi vicini Ovviamente un nodo rimane disconnesso se tutti i suoi vicini si disconnettono contemporaneamente;si disconnettono contemporaneamente;

Vogliamo che la probabilità che un nodo non si disconnetta Vogliamo che la probabilità che un nodo non si disconnetta sia sia ≥ 1-1/n;≥ 1-1/n;

Pr[un nodo non si disconnette]=1-(1/2)Pr[un nodo non si disconnette]=1-(1/2)kk ≥ 1-1/n ≥ 1-1/n 1/n ≥(1/2)1/n ≥(1/2)k k 2 2kk ≥ n ≥ n k ≥ log n k ≥ log n

In realtà la prova è un po’ più

complicata, ma questa rende bene

l’idea

k=gradol=diametro

Page 15: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: grado e diametroAbbiamo visto che il grado di una rete P2P Abbiamo visto che il grado di una rete P2P soggetta a fallimenti deve essere almeno soggetta a fallimenti deve essere almeno ΩΩ((log n).log n).Esistono in letteratura molti protocolli che Esistono in letteratura molti protocolli che hanno grado e diametro pari a O(log n).hanno grado e diametro pari a O(log n).E’ possibile fare di meglio?E’ possibile fare di meglio? Fissiamo il grado pari O(log n), qual è il minimo Fissiamo il grado pari O(log n), qual è il minimo

diametro che riusciamo ad ottenere?diametro che riusciamo ad ottenere? Fissiamo il grado pari O(log n), qual è il minimo Fissiamo il grado pari O(log n), qual è il minimo

APL che riusciamo ad ottenere?APL che riusciamo ad ottenere?

Stiamo cercando dei Lower Bound

Chord, tapestry, pasty…

Page 16: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: Lower BoundTeoremaTeoremaDato un grafo G=(V,E) con |V| = n e grado k = O(log n), Dato un grafo G=(V,E) con |V| = n e grado k = O(log n), allora il diametro l = allora il diametro l = ΩΩ(log n / log (log n)).(log n / log (log n)).ProvaProva

Dato che il grado è k e il diametro è l, ogni nodo può raggiungere Dato che il grado è k e il diametro è l, ogni nodo può raggiungere al massimo altri nodi (compreso il nodo stesso).al massimo altri nodi (compreso il nodo stesso).

Poiché il grafo deve essere connesso, allora kPoiché il grafo deve essere connesso, allora k l+1l+1 > > n n l > logl > logkk (n) - 1 = (n) - 1 = ΩΩ(log n / log (log n)).(log n / log (log n)).

Con argomentazioni analoghe si può dimostrare che anche l’APL Con argomentazioni analoghe si può dimostrare che anche l’APL è è ΩΩ(log n / log (log n)) in quanto la maggior parte dei nodi si trova (log n / log (log n)) in quanto la maggior parte dei nodi si trova a distanza l-O(1).a distanza l-O(1).

Ma allora Chord non è ottimale!!!

k=gradol=diametro

11

0 1

1

lll

i

i kk

kk

Page 17: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: Lower Bound (Esempio 1)

k = log n;k = log n;

Ogni nodo ha grado k (k-1 figli e la radice dell’albero);Ogni nodo ha grado k (k-1 figli e la radice dell’albero);

r raggiunge qualsiasi nodo in al più r raggiunge qualsiasi nodo in al più loglogk-1k-1 n = O(log n / log (log n)) passi. n = O(log n / log (log n)) passi.

Il diametro è 1 + Il diametro è 1 + loglogk-1k-1 n =O(log n / log (log n)). n =O(log n / log (log n)).

… …

k-1

r

Il grado in ingresso della radice è n-1

Page 18: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: Lower Bound (Esempio 2)

k = log n;k = log n;

Ogni nodo ha grado(entrante più uscente) k ( k/2 -1 ai figli e 1 al padre (x2));Ogni nodo ha grado(entrante più uscente) k ( k/2 -1 ai figli e 1 al padre (x2));r raggiunge qualsiasi nodo in al più r raggiunge qualsiasi nodo in al più loglogk/2 -1k/2 -1 n = O(log n / log (log n)) passi. n = O(log n / log (log n)) passi.Ogni nodo raggiunge r in al più logOgni nodo raggiunge r in al più logk/2 -1k/2 -1 n = O(log n / log (log n)) passi n = O(log n / log (log n)) passiIl diametro è OIl diametro è O(log n / log (log n)).(log n / log (log n)).

… …

k/2 -1

r

Page 19: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: Lower Bound (Esempio 3)

k = 6;k = 6;

Ogni nodo ha grado(entrante più uscente) 6 ( 2 ai figli e 1 al padre (x2));Ogni nodo ha grado(entrante più uscente) 6 ( 2 ai figli e 1 al padre (x2));r raggiunge qualsiasi nodo in al più r raggiunge qualsiasi nodo in al più log n passi.log n passi.Ogni nodo raggiunge r in al più log n passiOgni nodo raggiunge r in al più log n passiIl diametro è 2 Il diametro è 2 log n.log n.

… …

2

r

La mole di traffico che spetta al nodo r è

nettamente maggiore rispetto agli altri nodi

La rete si disconnette se uno qualsiasi dei nodi

(escluse le foglie) fallisce

Page 20: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: Lower Bound sistemi uniformi

Teorema Teorema Consideriamo un sistema P2P uniforme con n Consideriamo un sistema P2P uniforme con n nodi, sia k il numero dei vicini che ogni nodo nodi, sia k il numero dei vicini che ogni nodo mantiene, allora il lower bound per il diametro è mantiene, allora il lower bound per il diametro è 1/21/2log nlog n (l ≥ 1/2 (l ≥ 1/2log nlog n ) se k ) se k 1/2 1/2log nlog n..

ProvaProva

Sia Sia JJ = { = {Ji}1i i kk

Consideriamo senza perdita di generalità un nodo Consideriamo senza perdita di generalità un nodo x e calcoliamo tutte le n path fra x e tutti gli altri x e calcoliamo tutte le n path fra x e tutti gli altri nodi.nodi.

Page 21: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: Lower Bound sistemi uniformi

Sia Sia PP = { = {tutte le path da x agli altri n nodi}Sia f: PP(N(N{0}){0})k+1k+1

p p P P denotiamo con adenotiamo con ap,ip,i il numero di jump di il numero di jump di taglia Jtaglia Jii usati nella path p con 1 usati nella path p con 1 i i k. k.

Es Es Sia Sia J={J={1,4,151,4,15}} Sia p una path dal nodo 0 al nodo 9, (es. 4+4+1).Sia p una path dal nodo 0 al nodo 9, (es. 4+4+1).

Allora aAllora ap,1p,1 = 1 , a = 1 , ap,2p,2 = 2 e a = 2 e ap,3 p,3 = 0. = 0.

x compreso

Page 22: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: Lower Bound sistemi uniformi

Sia Sia PP = { = {tutte le path da x agli altri n nodi}

Sia f: PP(N(N{0}){0})k+1k+1

Ovviamente Ovviamente poiché l è il diametro poiché l è il diametro della rete.della rete.

DefiniamoDefiniamo

f(p):=(af(p):=(ap,0p,0,a,ap,1p,1,…a,…ap,kp,k).).

lak

iip

1,

x compreso

.0 ovviamente e 0,1

,0,

p

k

iipp aala

Page 23: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: Lower Bound sistemi uniformi

ClaimClaimf è iniettiva (one to one)f è iniettiva (one to one)ProvaProvaPer assurdo supponiamo che esistano p e q Per assurdo supponiamo che esistano p e q P P tali che tali che aap,ip,i = a = aq,iq,i 0 0 i i k. k.

Quindi partendo dal nodo x, entrambe le path terminano Quindi partendo dal nodo x, entrambe le path terminano nello stesso nodo destinazione.nello stesso nodo destinazione.Assurdo: per definizione le path in Assurdo: per definizione le path in PP terminano in nodi terminano in nodi diversi. diversi.

Dominio Codominio

.1

,1

, i

k

iiqi

k

iip JaJa

PP = { = {tutte le path da x agli altri n nodi}

f: PP(N(N{0}){0})k+1k+1

f(p):=(af(p):=(ap,0p,0,a,ap,1p,1,…a,…ap,kp,k))

Page 24: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: Lower Bound sistemi uniformi

Poiché f è iniettiva, la dimensione del codominio Poiché f è iniettiva, la dimensione del codominio è maggiore o uguale alla dimensione del dominio è maggiore o uguale alla dimensione del dominio (vale a dire |C| ≥ |D|=n).(vale a dire |C| ≥ |D|=n).

Quanto vale la dimensione del codominio?Quanto vale la dimensione del codominio?

La dimensione del codominio è uguale al numero La dimensione del codominio è uguale al numero di vettori (adi vettori (a00,a,a11,…,a,…,akk) tali che a) tali che a00+a+a11+…+a+…+ak k =l =l

Page 25: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: Lower Bound sistemi uniformi

Supponiamo di avere l biglie uguali e k+1 Supponiamo di avere l biglie uguali e k+1 contenitori diversi.contenitori diversi.

La dimensione del codominio è uguale al numero La dimensione del codominio è uguale al numero di modi in cui è possibile disporre l biglie di modi in cui è possibile disporre l biglie identiche in k+1 contenitori diversi.identiche in k+1 contenitori diversi.

k+1

l

Page 26: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: Lower Bound sistemi uniformi

Rappresentiamo con “0” le biglie e separiamo con Rappresentiamo con “0” le biglie e separiamo con “1” i contenitori“1” i contenitori

Con k “1” possiamo rappresentare k+1 contenitori, Con k “1” possiamo rappresentare k+1 contenitori, mentre con l “0” possiamo rappresentare l biglie;mentre con l “0” possiamo rappresentare l biglie;

00010000010110100

00110001101000000

10001010100100000

00000110001000011

Alcuni esempi 6 contenitori e 12 biglie

Primo contenitore vuotoSecondo contenitore 3 biglie

Terzo contenitore 1 bigliaQuarto contenitore 1 bigliaQuinto contenitore 2 biglieSesto contenitore 5 biglie

Page 27: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: Lower Bound sistemi uniformi

La dimensione del codominio è uguale al numero La dimensione del codominio è uguale al numero di combinazioni di k elementi su l+k;di combinazioni di k elementi su l+k;

La dimensione del codominio è uguale al numero La dimensione del codominio è uguale al numero di combinazioni di l elementi su l+k;di combinazioni di l elementi su l+k;

00010000010110100

00110001101000000

10001010100100000

00000110001000011

Alcuni esempi 6 contenitori e 12 biglie

Page 28: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: Lower Bound sistemi uniformiSappiamo cheSappiamo che

Ci rimane da dimostrare che se k Ci rimane da dimostrare che se k 1/21/2log nlog n allora l ≥ 1/2allora l ≥ 1/2log nlog n . .

(1)

||

||

nl

kl

k

kl

nC

l

kl

k

klC

Page 29: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: Lower Bound sistemi uniformi

Proviamo che l≥kProviamo che l≥k

Per assurdo l<kPer assurdo l<k

E’ facile osservare che è crescente in l, E’ facile osservare che è crescente in l, quindi quindi

Assurdo Assurdo

nl

kl

k

kl

k

kl

k

kk

k

kl

nk

k

k

k

kk

kk

ekkekk

ekk

kk

k

k

k

k

kk

k

kl

kk

k

k

k

k

kkkk

kk

22

2

2

2

2

22

22)2()2(2

22

)2()2(22

!!

)!2(2

nl

kl

k

kl

Stirling approxxx

e

xxx

e

xx

22!2

Per ipotesi Per ipotesi k k 1/2 1/2log nlog n..

Page 30: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: Lower Bound sistemi uniformi

Proviamo che l ≥ Proviamo che l ≥ 1/21/2log nlog nPer assurdo l < Per assurdo l < 1/21/2log nlog n

E’ facile osservare che è crescente in k, E’ facile osservare che è crescente in k, quindi quindi

Assurdo, quindi l ≥ Assurdo, quindi l ≥ 1/21/2log nlog n CVD. CVD.

kl

nl

kl

k

kl

k

kl

nl

ll

k

kl l

22

Page 31: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

P2P: Lower Bound sistemi uniformi

Teorema Teorema

Consideriamo un sistema P2P uniforme con n Consideriamo un sistema P2P uniforme con n nodi, sia k il numero dei vicini che ogni nodo nodi, sia k il numero dei vicini che ogni nodo mantiene, allora il diametro è mantiene, allora il diametro è ΩΩ(log n) se k = (log n) se k = O(log n).O(log n).

ProvaProva

La prima parte è identica al teorema precedenteLa prima parte è identica al teorema precedente

nl

kl

k

kl

Solo conti, abbastanza noiosi.

Page 32: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

grado

diametro

1

1

n -1

n -1

O(log n)

O(log n)

Chord e altriGrafo

completo

Anello

n è il numero dei peer;

LB

O(log n/ log(log n))

Page 33: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

Grafico funzione binomialeGrafico funzione binomialen

l

kl

k

kl

y

x

n

x

y

1 n/2 n-1

Page 34: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

Come scegliere l e k?Come scegliere l e k?n

l

kl

k

kl

yx

n

Supponiamo di avere un limite sulla somma di grado e diametro

Es l+k = 16

Quali sono i valori di l e k ottimali?

0

2000

4000

6000

8000

10000

12000

14000

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

L

l=k è la scelta

migliore

Page 35: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

Alcune osservazioni

Chord è asintoticamente ottimoChord è asintoticamente ottimo UniformeUniforme

Facili da implementare e da analizzare;Facili da implementare e da analizzare;

Algoritmo di routing semplice (greedy);Algoritmo di routing semplice (greedy);

Non c’è congestione sui nodi;Non c’è congestione sui nodi;

Fast bootstrap:Fast bootstrap:

Routing locale;Routing locale; GAPGAP

Chord (log n, log n)Chord (log n, log n)

LB (½ log n, ½ log n)LB (½ log n, ½ log n)

E’ possibile fare meglio di Chord, si può arrivare a

(0.72021 log n, 0.72021 log n)

Page 36: Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco cordasco[@]dia.unisa.it cordasco[@]dia.unisa.itcordasco[@]dia.unisa.it cordasco

Ricapitolando….Sistemi P2P puri

Sistemi Uniformi Sistemi Non uniformi

Abbiamo detto abbastanza

Koorde Neighbor of Neighbor routing (NON)