54
Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati • Gennaro Cordasco [email protected] http://www.dia.unisa.it/~cordasco – Laboratorio ISISLAB 2 (L8 a Baronissi)

Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – [email protected]@dia.unisa.it – cordascocordasco

Embed Size (px)

Citation preview

Page 1: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Sistemi Peer To Peer (P2P) Avanzati

• Gennaro Cordasco– [email protected]– http://www.dia.unisa.it/~cordasco– Laboratorio ISISLAB2 (L8 a Baronissi)

Page 2: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

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

Autori: I. Stoica, R. Morris, D. Liben-Nowell, D. R. Karger, M. F. Kaashoek, F. Dabek, H.

Balakrishnan

MIT and Berkleyhttp://www.pdos.lcs.mit.edu/chord/

Page 3: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Outline

• Motivazioni• Idea• Protocollo • Valutazione delle prestazioni: lookup

Page 4: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Obiettivi

• Load Balance• Decentralization• Scalability• Availability• Flexibility

Page 5: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Lookup

• Come trovare risorse in un sistema completamente decentralizzato?

• La lookup è semplicemente una operazione, a disposizione di tutti i peer di un sistema P2P, che data una chiave (una risorsa), restituisce il gestore/responsabile della risorsa.

• Possiamo vedere l’operazione lookup come una funzione (dinamica) che prende in input una chiave (un identificatore a 160 bit) e restituisce un indirizzo IP.

Lookup(id)IP address

Page 6: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Lookup

• Come trovare risorse in un sistema completamente decentralizzato?

il Lookup è il problema fondamentale

Internet

PublisherKey=“LetItBe”

Value=MP3 data

Lookup(“LetItBe”)

N1

N2 N3

N5N4Client ?

Page 7: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Lookup

• DHTs (Tapestry, Pastry, Chord, CAN,…)

• Qual’è il modo migliore di realizzare il servizio di lookup?

Internet

PublisherKey=“LetItBe”

Value=MP3 data

Lookup(“LetItBe”)

N1

N2 N3

N5N4Client

Page 8: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord

• Quale è il miglior modo per costruire le tabelle di routing?

• Come facciamo a mantenere sempre corrette le tabelle di routing in situazioni “molto” dinamiche?

• Come gestire l’ingresso (join) e l’uscita (leave) dei nodi?

• Quale è il miglior algoritimo di routing?

Page 9: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Consistent Hashing

• Fondamentalmente, l’architettura di Chord è basata su un ring di 2m identificatori [0, 2m-1] (di solito m = 160)

• Chord usa Consistent Hashing per assegnare identificatori sia ai nodi/peers sia alle risorse

• Consistent Hashing permette:– bilanciamento del carico sui nodi (con N nodi e K risorse,

ogni nodo gestisce circa (1+)K/N chiavi (risorse), dove =O(log N))

– basso numero di operazioni di manutenzione a seguito di join/leave dei nodi (quando entra l’N+1th nodo nel sistema circa O(K/N) chiavi (risorse) devono cambiare posizione)

• Discuteremo in dettaglio Consisten Hashing nelle prossime lezioni

Page 10: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Overview

• La tabella di routing relativa alle risorse è distribuita su tutti i nodi attivi del sistema

• Per risolvere una lookup è necessario che i nodi si scambino informazioni

• Prestazioni: In una rete “stabile” di N nodi, ogni nodo mantiene informazioni relative a O(log N) vicini e risolve qualsiasi lookup con al più O(log N) messaggi

• Tuttavia anche se la rete non è “stabile” con poca informazione (1 solo link) il protocollo Chord garantisce la correttezza della lookup

Page 11: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Identificatori

• Lo spazio degli identificatori a m bit è utilizzato sia per le risorse che per i nodi

• identificatore di Chiave = SHA-1(Risorsa)

• identificatore di Nodo = SHA-1(indirizzo IP)

chiave=“LetItBe” ID=60SHA-1

IP=“198.10.10.1” ID=123SHA-1

Page 12: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Identificatori

• Gli identificatori ottenuti utilizzando Consistent Hashing vengono mappati su un ring circolare modulo 2m

m=6000000

101000100000

011000

010000

001000

110000

111000

Page 13: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord

• Il responsabile di una risorsa x con ID k è il primo nodo che si incontra procedendo in senso orario a partire da k.

m=61

81014

nodi

risorse

21

243032

4851

5654

3838

42

Page 14: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord

• Esempio leave (nodo 14)

m=61

81014

nodi

risorse

21

243032

4851

5654

3838

42

Page 15: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord

• Esempio join (nodo 26)

m=61

810

nodi

risorse

21

2430

32

4851

5654

3838

42

26

Page 16: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Lookup• Ogni nodo ha informazioni su tutti gli altri• Supponiamo che il nodo 8 è interessato alla

chiave 54: poiché il nodo 8 conosce tutti i nodi, è in grado di sapere senza fare nessuna richiesta che la chiave 54 è gestita dal nodo 56

• Richiede info globali• Tabella di routing N• Costo lookup O(1) msg• Manutenzione:

Praticamente ingestibile!!!

m=61

810

nodi

risorse

21

2430

32

4851

5654

3838

42

26

Page 17: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Lookup(2)• Ogni nodo conosce solo il proprio

successore• Supponiamo che il nodo 8 è interessato

alla chiave 54: ogni nodo conosce solo il proprio successore e quindi la query attraversa l’anello in senso orario finché non raggiunge il predecessore della destinazione

• Richiede poche info:• Tabella di routing 1 entry• Costo lookup O(N) msg

m=61

810

nodi

risorse

21

2430

32

4851

5654

3838

42

26

Page 18: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Simple Key location

Il nodo n chiama lookup(id)

Il nodo 8 chiama lookup(54)

Page 19: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Correttezza Routing

• Ogni nodo n di Chord mantiene log N successori del nodo n più il

predecessore • Questo insieme di nodi viene usato per

dimostrare la correttezza del Routing1

810

nodi

risorse

21

24

51

5654

3838

Page 20: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Lookup(3)• Ogni nodo conosce, al più, altri m nodi nel

sistema (fingers)• Mostreremo che w.h.p. il numero di finger è

O(log N)• La distanza cresce esponenzialmente• In particolare, il finger i del nodo n punta al

responsabile (successor) della chiave n+2i-1 m=61

810

nodi

risorse

21

2430

32

4851

5654

3838

42

26

Page 21: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Ricapitolando• Ogni nodo n di Chord mantiene la connessione

con log N successori (successors) del nodo n più il predecessore

• Inoltre, ogni nodo conosce, al più, altri O(log N) w.h.p, nodi nel sistema (fingers)

• In totale ogni nodo mantiene

log N +1 + O(log N)=O(log N) connessioni m=61

810

nodi

risorse

21

2430

32

4851

5654

3838

42

26

Page 22: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Tavola dei finger

ID Resp.

8+1=9 14

8+2=11 14

8+8=16 21

8+16=24 24

8+32=40 42

8+4=12 14

m=6

indice Nodo

1 14

2 21

4 32

5 38

6 42

3 24

Successors

Predecessor

Nodo 1

Page 23: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

01

2

3

4

15

14

13

11

12

89

10

7

6

5

141

210

successor(1)=1

0

successor(2)=3

successor(6)=6

successor(9)=9

successor(10)=13

successor(14)=15

6

9

successor(0)=0

Page 24: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

01

2

3

4

15

14

13

11

12

89

10

7

6

5

141

210

0

6

9

i succ

node

1 2 3

2 3 3

3 5 6

4 9 9

i succ

node

1 10 13

2 11 13

3 13 13

4 1 1

i succ

node

1 14 15

2 15 15

3 1 1

4 5 6

Qualcuno vuol provare a descrivere la tabella di routing del nodo 9?

? ?

? ?? ?? ?

Page 25: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Algoritmo LookupIl nodo n chiama

lookup(id)

Page 26: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

01

2

3

4

15

14

13

11

12

89

10

7

6

5

14

i succ

node

1 2 3

2 3 3

3 5 6

4 9 9

i succ

node

1 10 13

2 11 13

3 13 13

4 1 1

i succ

node

1 14 15

2 15 15

3 1 1

4 5 6

Page 27: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Join e StabilizationCrea Anello Vuoto

Join n=N26,

n’=qualunque nodo attivo

Stabilizen=N26n=N21

Page 28: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Join e Stabilization

• Altre operazioni periodiche ma utilizzate con frequenza minore sono fix.finger e check.predecessor

Page 29: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Risultati

• LemmaDato un qualunque intervallo di ampiezza

2m/N, il numero di ID di nodi atteso in questo intervallo è 1 e O(log N) w.h.p.

Page 30: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Risultati• Teorema

Il numero dei nodi che deve essere contattato per risolvere una lookup è O(log N) w.h.p.,

DimSupponiamo che il nodo n deve

risolvere una lookup per l’id kSiano p e s, rispettivamente, il

predecessore e il successore dell’ID k

Se np e ns, n non è in grado di risolvere da solo la query

n

k

p

s

Page 31: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Risultati• Teorema

Il numero dei nodi che deve essere contattato per risolvere una lookup è O(log N) w.h.p.

Dim…n contatta, quindi, il più vicino

predecessore di k a lui noto (il più grande finger che non va oltre k).

Sia i tale che p [n+2i-1, n+2i)Poiché tale intervallo contiene

almeno un nodo (p) il nodo n contattera l’i-esimo finger f. Ovviamente tale nodo, ha ID minore o uguale di p.

Per definizione di finger la distanza fra n e f è almeno 2i-1

n

id

p

f

s

Page 32: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Risultati• Teorema

Il numero dei nodi che deve essere contattato per risolvere una lookup è O(log N) w.h.p.

Dim…Per definizione di finger la

distanza fra n e f è almeno 2i-1

Inoltre f e p sono entrambi nell’intervallo [n+2i-1, n+2i), quindi la loro distanza è al più 2i-

1

In altre parole, f è più vicino a p che a n, e quindi ad ogni hop la distanza “almeno” si dimezza

n

id

p

f

s

Page 33: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Risultati• Teorema

Il numero dei nodi che deve essere contattato per risolvere una lookup è O(log N) w.h.p.

Dim….Ad ogni hop la distanza “almeno” si

dimezzaLa distanza maggiore fra due ID è

2m-1, poiché tale distanza ad ogni hop si dimezza, in m hop siamo in grado di eseguire qualunque lookup

n

id

p

f

s

Page 34: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Risultati• Teorema

Il numero dei nodi che deve essere contattato per risolvere una lookup è O(log N) w.h.p..

Dim Sappiamo che ad ogni hop la distanza, in termini di id fra

sorgente e destinazione si dimezza.Supponiamo di effettuare log N hops, dopo questi passi la

distanza dalla destinazione si riduce ad al più 2m / 2 logN = 2m/N.

Sappiamo dal lemma precedente che in un tale intervallo ci sono al più O(log N) nodi w.h.p.

Quindi effettuando altri O(log N) passi (anche usando solo i successori negli ultimi O(log N) passi) arriviamo alla destinazione.

In totale log N + O(log N) = O(log N) passi.

Page 35: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

La Lookup impiega O(log N) hop

32

10

5

20

110

99

80

60

Lookup(19)

19

Page 36: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Risultati• Abbiamo detto che i nodi di Chord mantengono O(log N)

informazioni relative ad altri nodi, d’altra parte abbiamo detto che un nodo può avere m fingers.

• In realtà, è possibile mostrare che non tutti gli m i finger sono nodi distinti. Quello che accade è che, w.h.p., i primi m-2logN finger cadono tutti sul successore del nodo.

• Infatti un lemma analogo a quello mostrato in precedenza permette di dimostrare che che la distanza minima fra due nodi (w.h.p.) è almeno 2m/N2

• Abbiamo detto che il finger i del nodo n cade nel successore dell’ID n+2i-1

• Di conseguenza, per ogni i ≤ m - 2log N +1, il responsabile dell’ID n+2i-1 ≤ n+ 2m/N2 cade nel successore di n.

• In totale il numero dei nodi distinti che bisogna mantenere nella tabella di routing è m – (m - 2log N) = O(log N)

Page 37: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Risultati• Lemma

Dato un qualunque intervallo di ampiezza 2m/N, il numero di ID di nodi atteso in questo intervallo è 1 ed O(log N) w.h.p.

Dim

Abbiamo necessita di alcuni risultati intermedi:– Disuguaglianza di Marcov

• Sia X una variabile casuale a valori positivi, allora per ogni a>0:

E[X] a Pr[Xa]

Page 38: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Disuguaglianza di MarcovDisuguaglianza di MarcovSia X una variabile casuale a valori positivi,

allora per ogni a>0:E[X] a Pr[Xa]

DimProviamo per una variabile casuale discreta che

assume valori da 1 a k (è il nostro caso):

k

ai

ixax ]Pr[]Pr[

k

ai

a

i

k

i

ixiixiixixE ]Pr[]Pr[]Pr[][1

11

Page 39: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Disuguaglianza di MarcovDisuguaglianza di MarcovSia X una variabile casuale a valori positivi,

allora per ogni a>0:E[X] a Pr[Xa]

DimProviamo per una variabile casuale discreta che

assume valori da 1 a k (è il nostro caso):

k

ai

k

ai

k

ai

ixaixaixixE ]Pr[]Pr[]Pr[][

]Pr[][ axaxE

Page 40: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Risultati• Lemma

Dato un qualunque intervallo di ampiezza 2m/N, il numero di ID di nodi atteso in questo intervallo è 1 e O(log N) w.h.p.

DimAbbiamo necessita di alcuni risultati intermedi:– Disuguaglianza di Marcov– Chernoff BoundSiano X1, X2, …,Xn prove ripetute indipendenti tali che

per 1 ≤ i ≤ n, Pr[Xi=1]=pi, 0 < pi < 1.

Se allora

]Pr[][ axaxE

n

i i

n

ii pXEXX

11

0,][,

)1()1(])1(Pr[

eX

Page 41: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chernoff Bound• Chernoff Bound

Siano X1, X2, …,Xn prove ripetute indipendenti tali che per 1 ≤ i ≤ n, Pr[Xi=1]=pi, 0 < pi < 1.

Se allora

Dim

per ogni reale positivo t.Se applichiamo la disuguaglianza di Marcov a destra si ottiene

n

i i

n

ii pXEXX

11

0,][,

)1()1(])1(Pr[

eX

)])1(exp()Pr[exp(])1(Pr[ ttXX

))1(exp(

)][exp(])1(Pr[

t

tXEX

]Pr[][ axaxE

a

xEax

][]Pr[

exp(x)=ex

Page 42: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chernoff Bound• Chernoff Bound

Siano X1, X2, …,Xn prove ripetute indipendenti tali che per 1 ≤ i ≤ n, Pr[Xi=1]=pi, 0 < pi < 1.

Se allora

Dim…

n

i i

n

ii pXEXX

11

0,][,

)1()1(])1(Pr[

eX

))1(exp(

)][exp(])1(Pr[

t

tXEX

n

i i

n

ii

n

i i tXEtXEXtEtXE1

11

)][exp()]exp([)][exp()][exp(

Poichè le Xi sono indipendenti, anche le exp(tXi) lo sono.

Page 43: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chernoff Bound• Chernoff Bound

Siano X1, X2, …,Xn prove ripetute indipendenti tali che per 1 ≤ i ≤ n, Pr[Xi=1]=pi, 0 < pi < 1.

Se allora

Dim…

La variabile exp(tXi) assume valore et con probabilità pi e 1 con probabilità 1-pi.

n

i i

n

ii pXEXX

11

0,][,

)1()1(])1(Pr[

eX

))1(exp(

)][exp(])1(Pr[

t

tXEX

n

i itXEtXE1

)][exp()][exp(

Page 44: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chernoff Bound• Chernoff Bound

Siano X1, X2, …,Xn prove ripetute indipendenti tali che per 1 ≤ i ≤ n, Pr[Xi=1]=pi, 0 < pi < 1.

Se allora

Dim

La variabile exp(tXi) assume valore et con probabilità pi e 1 con probabilità 1-pi.

n

i i

n

ii pXEXX

11

0,][,

)1()1(])1(Pr[

eX

))1(exp(

)][exp(])1(Pr[

t

tXEX

n

i

ti

n

i it

i

n

i i eppeptXEtXE111

))1(1()1()][exp()][exp(

Page 45: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chernoff Bound• Chernoff Bound

Siano X1, X2, …,Xn prove ripetute indipendenti tali che per 1 ≤ i ≤ n, Pr[Xi=1]=pi, 0 < pi < 1.

Se allora

Dim…

Poichè 1+x<ex

n

i

ti eptXE

1))1(1()][exp(

n

i i

n

ii pXEXX

11

0,][,

)1()1(])1(Pr[

eX

))1(exp(

)][exp(])1(Pr[

t

tXEX

))1(exp())1(exp())1(exp())1(1(111

tn

i

ti

n

i

ti

n

i

ti eepepep

Page 46: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chernoff Bound• Chernoff Bound

Siano X1, X2, …,Xn prove ripetute indipendenti tali che per 1 ≤ i ≤ n, Pr[Xi=1]=pi, 0 < pi < 1.

Se allora

Dim…

la espressione a destra assume il valore minimo per t=ln(1+δ). Sostituendo otteniamo il Teorema.

n

i i

n

ii pXEXX

11

0,][,

)1()1(])1(Pr[

eX

))1(exp(

))1(exp(])1(Pr[

t

eX

t

Page 47: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Risultati• Lemma

Dato un qualunque intervallo di ampiezza 2m/N, il numero di ID di nodi atteso in questo intervallo è 1 e O(log N) w.h.p.

DimAbbiamo necessita di alcuni risultati intermedi:– Disuguaglianza di Marcov– Chernoff BoundDefiniamo

)1()1(])1(Pr[

eX

)1()1(),(

eF

Page 48: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Risultati• Lemma

Dato un qualunque intervallo di ampiezza 2m/N, il numero di ID di nodi atteso in questo intervallo è 1 e O(log N) w.h.p.

Dim

E quindi per >2e-1,

)1()1(),(

eF

)1(

)1(

1

)1( )1()1()1(),(

eee

F

)1(2),( F

Page 49: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Risultati

• LemmaDato un qualunque intervallo di ampiezza 2m/N,

il numero di ID di nodi atteso in questo intervallo è 1 e O(log N) w.h.p.

Dim

La precedente relazione può essere utilizzata per risolvere il problema:

Per quali valori di δ la probabilità che X>(1+δ)μ è trascurabile ?

)1(2),( F

Page 50: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Risultati

• LemmaDato un qualunque intervallo di ampiezza 2m/N,

il numero di ID di nodi atteso in questo intervallo è 1 e O(log N) w.h.p.

Dim

Modelliamo il nostro esperimento come il lancio di N palline in N contenitori. Sia Yi il numero di palline cadute nell’i-esimo contenitore.

Siamo in presenza di prove ripetute indipendenti. La probabilità di successo pi=1/N.

La media risulta banalmente 1.

)1(2),( F

2m/N

Page 51: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Chord: Risultati

• LemmaDato un qualunque intervallo di ampiezza 2m/N, il

numero di ID di nodi atteso in questo intervallo è 1 e O(log N) w.h.p.

Dim

La probabilità che il numero di palline in un contenitore sia k log2 N è limitata dalla relazione

Con δ = k log2N -1. Sostituendo otteniamo

kNF

1),(

)1(2),( F

2m/N

)1(2),( F Altamente improbabil

e

Page 52: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Ricapitolando

• Le chiavi sono mappate su un array circolare costituito da 2m identificatori;• Il nodo responsabile di una determinata chiave è il primo nodo che la

succede in senso orario;• Ogni nodo n di Chord mantiene due insiemi di vicini:

– Il primo contiene gli m successori del nodo n più il predecessore. Questo insieme viene usato per dimostrare la correttezza del Routing;

– Un insieme di n nodi costituito dai responsabili delle chiavi distanziate esponenzialmente dal nodo n, vale a dire l’insieme delle chiavi che si trovano a distanza 2i da n dove 0 i m-1. Questo insieme viene usato per dimostrare l’efficienza del Routing;

m=3

Page 53: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

• Le informazioni che il nodo deve mantenere sugli altri nodi sono log N + m + 1 (O(log N) WHP);

• Il numero di messaggi necessari per fare lookup è m (O(log N) WHP);• L’algoritmo di routing effettua a ogni step il passo più grande che

riesce a fare, senza mai superare il target;

Il costo che si paga quando un nodo lascia o si connette alla rete è di O(log2N) messaggi WHP;

L’algoritmo in pratica simula un Ipercubo, inoltre si comporta molto bene in un sistema dinamico.

000

101

100

011

010

001

110

111 110

Ricapitolando

Page 54: Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – cordasco@dia.unisa.itcordasco@dia.unisa.it – cordascocordasco

Sistemi P2P avanzati

Fine Lezione 2

• Domande??