Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Lezione 8
2
Chernoff Bound Siano X1,…Xn n variabili casuali indipendenti tali che
Pr[Xi =1]=pi Pr[Xi =0]=1-pi E[Xi]= pi Consideriamo la variabile casuale e poniamo = E[X]= Allora abbiamo > 0 0<pi<1
3
Chernoff Bound Esempio Supponiamo di lanciare 100 volte una moneta
Sia Xi la variabile casuale Abbiamo quindi Pr[Xi=1]=1/2 e E[Xi]=1/2 per tutte le i. Allora conta il numero delle teste in 100 lanci. =E[X]=50 Calcoliamo un upper bound sulla probabilità che X>60 Pr[X>60]=Pr[X>(1+0.2) ]<(e0.2/1.21.2)500.393
4
Chernoff Bound Nella lezione precedente ci siamo posti una domanda
Quanti nodi ci sono in 2b/n identificatori? Nel nostro sistema ci sono n nodi. Pr[Xi=1]=(2b/n)/2b=1/n Pr[Xi=0]=1- Pr[Xi=1]=(n-1)/n E[Xi]=1/n T 2b/n
5
Chernoff Bound 2b/n X conta quanti nodi cadono in T =E[X]=1/n*n=1
Proviamo che non ci sono più di O(logn / log log n) nodi. 4 ln n / ln ln n = O(log n / log log n) =1 Chernoff bound e/4<1 n>e2e
6
H-Chord Chord Sia n=2b, per ogni 0 ≤ i < b, il nodo x è connesso ai nodi (x+2i) mod 2b; Il grado è b; Il diametro è b; APL è b/2; R-Chord n=2b [MNW04] Sia n=2b, per ogni 0 ≤ i < b, sia rx(i) un intero scelto in maniera casuale dall’intervallo [0,2i), il nodo x è connesso ai nodi (x+2i+rx(i)) mod 2b; H-Chord Sia H() una funzione di hash (es SHA) che mappa un identificatore in nell’intervallo [0,1), il nodo x è connesso con i nodi x+2i+H(x)2i mod 2b;
7
H-Chord R-Chord vs H-Chord R-Chord 2i 2i+1 2i+2 H-Chord 2i 2i+1 2i+2
8
H-Chord Claim Per ogni nodo si S, la probabilità che un
vicino di si I è almeno d’/2p. P’=Pr[Jk(si)I per qualche 0 ≤ k < 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 < 2pi+1 Due casi: d-d’≥si+2pi 2p ≤ d < 2p+1 p > (log n) / log (log n) I = (d-d’, d] d’= |S|=p di≤d pi≤p di 2pi 2pi+1 si d-d’ I s t d
9
H-Chord Claim Per ogni nodo si S, la probabilità che un
vicino di si I è almeno d’/2p. P’=Pr[Jk(si)I per qualche 0 ≤ k < b] ≥ d’/2p Prova d-d’≥si+2pi L’unico jump di si che può cadere in I è il jump (pi+1)-esimo, infatti il jump (pi+1)-esimo [si+2pi, si+2pi+1). In particolare il jump (pi+1)-esimo appartiene a I con probabilità |I|/2pi = d’/2pi ≥ d’/2p 2p ≤ d < 2p+1 p > (log n) / log (log n) I = (d-d’, d] d’= |S|=p di≤d, pi≤p di 2pi 2pi+1 si d-d’ I s d t pi≤p
10
H-Chord Claim Per ogni nodo si S, la probabilità che un
vicino di si I è almeno d’/2p. P’=Pr[Jk(si)I per qualche 0 ≤ k < b] ≥ d’/2p Prova d-d’<si+2pi 2p ≤ d < 2p+1 p > (log n) / log (log n) I = (d-d’, d] d’= |S|=p di≤d, pi≤p d di 2pi+1 2pi si d-d’ I s t
11
H-Chord Claim Per ogni nodo si S, la probabilità che un
vicino di si I è almeno d’/2p. P’=Pr[Jk(si)I per qualche 0 ≤ k < b] ≥ d’/2p Prova d-d’<si+2pi In questo caso sia il jump p-esimo che il jump (p+1)-esimo possono cadere in I. Sia I = A B dove A=(d-d’, si+2pi) e B=[si+2pi,d] Ovviamente |A|+|B|=d’. 2p ≤ d < 2p+1 p > (log n) / log (log n) I = (d-d’, d] d’= |S|=p di≤d, pi≤p d di 2pi 2pi+1 si d-d’ I s t A B
12
H-Chord Claim Per ogni nodo si S, la probabilità che un
2p ≤ d < 2p+1 p > (log n) / log (log n) I = (d-d’, d] d’= |S|=p di≤d, pi≤p A=(d-d’, si+2pi) B=[si+2pi,d] Claim Per ogni nodo si S, la probabilità che un vicino di si I è almeno d’/2p. P’=Pr[Jk(si)I per qualche 0 ≤ k < b] ≥ d’/2p Prova d-d’<2pi Sia C l’insieme (si+2pi+1 – 2|A|,si+2pi+1) In H-Chord se il (pi+1)-esimo jump di si cade in C allora il pi-esimo jump di si cade in A. Siamo interessati a calcolare la probabilità che il (pi+1)-esimo jump di si cade in C o in B. d di 2pi 2pi+1 si d-d’ I s t A B C
13
Ma questa volta QR è vuoto.
H-Chord 2p ≤ d < 2p+1 p > (log n) / log (log n) I = (d-d’, d] d’= |S|=p di≤d, pi≤p A=(d-d’, si+2pi) Claim Per ogni nodo si S, la probabilità che un vicino di si I è almeno d’/2p. P’=Pr[Jk(si)I per qualche 0 ≤ k < b] ≥ d’/2p Prova d-d’<2pi Sia Q l’evento “il (pi+1)- esimo jump di si cade in C” Sia R l’evento “il (pi+1)-esimo jump di si cade in B” Siamo interessati a calcolare la Pr[QR]=Pr[Q]+Pr[R]-Pr[QR] d di 2pi 2pi+1 si d-d’ I s t A B C Ma questa volta QR è vuoto. Q R QR
14
H-Chord Claim Per ogni nodo si S, la probabilità che un
2p ≤ d < 2p+1 p > (log n) / log (log n) I = (d-d’, d] d’= |S|=p di≤d, pi≤p A=(d-d’, si+2pi) Claim Per ogni nodo si S, la probabilità che un vicino di si I è almeno d’/2p. P’=Pr[Jk(si)I per qualche 0 ≤ k < b] ≥ d’/2p Prova d-d’<2pi Pr[QR]= Pr[Q]+Pr[R]-Pr[QR] =Pr[Q]+Pr[R] d di 2pi 2pi+1 si d-d’ I s t A B C
15
O almeno può stimare le posizioni dei vicini del nostro vicino
H-Chord Perchè H-Chord e non R-Chord? Svantaggi R-Chord Come mantenere la lista dei vicini dei vicini? No fast bootstrap In H-Chord non c’è nessun fattore random, in particolare ogni nodo conoscendo il suo vicino conosce i vicini del suo vicino. O almeno può stimare le posizioni dei vicini del nostro vicino
16
La funzione di hash è uguale per tutti i nodi
H-Chord Dato un nodo x, x conosce il suo vicino y, dato y, x può calcolare H(y) e quindi può calcolare per ogni 0≤i<b y+2i+H(y)2i. Tuttavia, quando il ring non è pieno, x non conosce l’esatta posizione dei vicini dei vicini ma ne ha una buona stima. La funzione di hash è uguale per tutti i nodi H-Chord 2i 2i+1 2i+1 2i+2
17
H-Chord
18
H-Chord
19
H-Chord Perchè H-Chord e non Chord? Svantaggi R-Chord
Come mantenere la lista dei vicini dei vicini? No fast bootstrap Non è possibile fare fast bootstrap perché le tabelle di routing sono diverse, tuttavia se due nodi x, y generano due valori hash abbastanza vicini (H(x)H(y)) allora le loro tabelle sono simili. I problemi sono: Cosa vuol dire “abbastanza vicini” Come trovare un vicino con hash “abbastanza vicino”
20
Sistemi P2P uniformi Vantaggi: Svantaggi:
Facili da implementare e da analizzare; Algoritmo di routing semplice (greedy); Routing locale, la procedura di lookup interessa solo i nodi che si trovano fra sorgente e destinazione; Non c’è congestione sui nodi, vale a dire il traffico generato dai messaggi di lookup è più o meno uguale per tutti i nodi. Fast bootstrap: Poiché tutti i nodi utilizzano gli stessi jump, è possibile utilizzare la tabella di routing del proprio predecessore per velocizzare notevolmente l’operazione di join; Svantaggi: Sfortunatamente non sono gli algoritmi più efficienti.
21
Koorde base k Scegliendo k = O(log n): Svantaggi Grado = O(log n)
10 b=2 k=3 Koorde base k 11 01 12 00 20 02 Scegliendo k = O(log n): Grado = O(log n) APL = O(log n / log (log n)) Svantaggi Bisogna stimare n a priori; Non è possibile cambiare il grado in un sistema attivo; E’ molto complicato stabilizzare la rete; 21 22
22
R-Chord Vantaggi: Svantaggi Algoritmo di routing locale
Algoritmo di routing semplice Efficiente Non è necessaria la stima di log n L’algoritmo di stabilizzazione è identico a quello di Chord Svantaggi Come mantenere la lista dei vicini dei vicini? No fast bootstrap
23
H-Chord Vantaggi Svantaggi Algoritmo di routing locale
Algoritmo di routing semplice Efficiente Non è necessaria la stima di log n L’algoritmo di stabilizzazione è identico a quello di Chord Svantaggi No fast bootstrap ???? Hc-Chord
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.