La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Lezione 5 Domande: L’average path length di Chord con 2^b identificatori e N=2^b nodi è (giustificare la risposta) (b) (b/2) (log(N)) (Nessuna delle precedenti)

Presentazioni simili


Presentazione sul tema: "Lezione 5 Domande: L’average path length di Chord con 2^b identificatori e N=2^b nodi è (giustificare la risposta) (b) (b/2) (log(N)) (Nessuna delle precedenti)"— Transcript della presentazione:

1 Lezione 5 Domande: L’average path length di Chord con 2^b identificatori e N=2^b nodi è (giustificare la risposta) (b) (b/2) (log(N)) (Nessuna delle precedenti) Dimostrare che x -> ax+b (mod N) non è una funzione hash consistente Descrivere la famiglia dei protocolli F-Chord (suggerimento: mostrare semplicemente le differenze rispetto a Chord)

2 Riepilogo alcune definizioni
Sistema distribuito nel quale ogni nodo ha identiche capacità e responsabilità e tutte le comunicazioni sono potenzialmente simmetriche; Siamo interessati ai sistemi P2P di seconda generazione, quelli che supportano DHT (Distributed Hash Table); P2P Puro; Analizzeremo alcuni protocolli Chord like; Si basano sul ring; Utilizzano consistent hashing; Join/Leave uguali a Chord; Cambiano i vicini (finger) e l’algoritmo di routing; Es: Chord

3 P2P: Scalabilità Il lavoro richiesto a un determinato nodo nel sistema non deve crescere (o almeno cresce lentamente) in funzione del numero di nodi nel sistema; La scalabilità di un protocollo dipende: dalla topologia della rete; dall’algoritmo di routing. Obiettivi: Minimizzare il numero di messaggi necessari per fare lookup; Minimizzare, per ogni nodo, le informazioni relative agli altri nodi;

4 Condizioni necessarie
Dal punto di vista topologico Consideriamo una rete P2P come un grafo G=(V,E), dove V è l’insieme dei nodi nel sistema e E rappresenta l’insieme delle interconnessioni fra essi: Minimizzare, per ogni nodo, le informazioni relative agli altri nodi: minimizzare il grado dei nodi; Minimizzare il numero di messaggi necessari per fare lookup: Minimizzare il diametro; Minimizzare l’average path lenght (APL), vale a dire, la distanza media fra due nodi nel grafo. Condizioni necessarie ma non sufficienti

5 Es. Chord Consideriamo un anello con n=2b nodi;
Ogni nodo x ha un etichetta a b bit che denotiamo con id(x); I vicini del nodo x sono i nodi (x+2i) mod 2b  i = 0,1,…,b-1; jump 000 111 001 110 010 101 011 b=3 100

6 Es. Chord Quanto valgono: grado? diametro? average path lenght? 000
111 001 110 010 101 011 b=3 100 Quanto valgono: grado? diametro? average path lenght? Il grado è b = log n

7 000 Es. Chord 111 001 110 010 101 011 b=3 100 Dati due nodi x e y la loro distanza d(x,y) è uguale al numero di “1” che ci sono nella stringa binaria (y-x) mod 2b. Infatti i jump necessari per passare dal nodo x al nodo y sono quelli relativi alla posizione degli “1” nella stringa binaria (y-x) mod 2b.

8 d(x,y) può essere diverso da d(y,x)
000 Es. Chord 111 001 110 010 Il diametro è b = log n 101 011 b=3 100 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). 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). d(x,y) può essere diverso da d(y,x) Chord non è simmetrico

9 diametro Anello n -1 Chord e altri Grafo completo O(log n) 1 1 O(log n) n -1 grado n è il numero dei peer;

10 N denota l’insieme dei nodi
000 Es. Chord 111 001 110 010 101 011 b=3 100 Quanto vale l’average path lenght? N denota l’insieme dei nodi

11 Per semplicità consideriamo un sistema Chord like
Sistemi P2P uniformi k=grado l=diametro Denotiamo con Jx,i l’iesimo jump del nodo x; Un sistema P2P viene detto uniforme, se per ogni coppia di nodi x e y, si ha Jx,i = Jy,i  i =1,2,…,k. Chord è uniforme? APL sistemi uniformi: Si a è un generico nodo  N

12 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. Lo vediamo fra un pò

13 Es. Chord Quanto vale l’average path lenght? 000 111 001
Scegliamo come nodo sorgente il nodo a=00…0; La distanza fra a e il generico nodo x è uguale al numero di bit a 1 nella codifica binaria di x; 110 010 101 011 b=3 100 00…0 00…1 11…0 11…1 a

14 Fault tolerance and degree
k=grado l=diametro Fault tolerance and degree Il grado di una rete P2P soggetta a fallimenti deve essere almeno Ω(log n). Infatti, Ω(log n) risulta essere il minimo valore che permette alla rete di rimanere connessa anche nelle condizioni più proibitive; Sketch: Supponiamo che tutti i nodi della rete possono fallire con probabilità ½; Ovviamente un nodo rimane disconnesso se tutti i suoi vicini si disconnettono contemporaneamente; Vogliamo che la probabilità che un nodo non si disconnetta sia ≥ 1-1/n; Pr[un nodo non si disconnette]=1-(1/2)k ≥ 1-1/n  1/n ≥(1/2)k  2k ≥ n  k ≥ log n In realtà la prova è un po’ più complicata, ma questa rende bene l’idea

15 Stiamo cercando dei Lower Bound
P2P: grado e diametro Abbiamo visto che il grado di una rete P2P soggetta a fallimenti deve essere almeno Ω(log n). Esistono in letteratura molti protocolli che hanno grado e diametro pari a O(log n). E’ possibile fare di meglio? Fissiamo il grado pari O(log n), qual è il minimo diametro che riusciamo ad ottenere? Fissiamo il grado pari O(log n), qual è il minimo APL che riusciamo ad ottenere? Chord, tapestry, pasty… Stiamo cercando dei Lower Bound

16 Ma allora Chord non è ottimale!!!
k=grado l=diametro P2P: Lower Bound Teorema Dato un grafo G=(V,E) con |V| = n e grado k = O(log n), allora il diametro l = Ω(log n / log (log n)). Prova Dato che il grado è k e il diametro è l, ogni nodo può raggiungere al massimo altri nodi (compreso il nodo stesso). Poiché il grafo deve essere connesso, allora kl+1 > n  l > logk (n) - 1 = Ω(log n / log (log n)). Con argomentazioni analoghe si può dimostrare che anche l’APL è Ω(log n / log (log n)) in quanto la maggior parte dei nodi si trova a distanza l-O(1). Ma allora Chord non è ottimale!!!

17 Il grado in ingresso della radice è n-1
P2P: Lower Bound (Esempio 1) r k = log n; Ogni nodo ha grado k (k-1 figli e la radice dell’albero); r raggiunge qualsiasi nodo in al più logk-1 n = O(log n / log (log n)) passi. Il diametro è 1 + logk-1 n =O(log n / log (log n)). k-1 Il grado in ingresso della radice è n-1

18 P2P: Lower Bound (Esempio 2)
k = log n; 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ù logk/2 -1 n = O(log n / log (log n)) passi. Ogni nodo raggiunge r in al più logk/2 -1 n = O(log n / log (log n)) passi Il diametro è O(log n / log (log n)). k/2 -1

19 P2P: Lower Bound (Esempio 3)
k = 6; Ogni nodo ha grado(entrante più uscente) 6 ( 2 ai figli e 1 al padre (x2)); r raggiunge qualsiasi nodo in al più log n passi. Ogni nodo raggiunge r in al più log n passi Il diametro è 2 log n. 2 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

20 P2P: Lower Bound sistemi uniformi
Teorema Consideriamo un sistema P2P uniforme con n nodi, sia k il numero dei vicini che ogni nodo mantiene, allora il lower bound per il diametro è 1/2log n (l ≥ 1/2log n ) se k  1/2log n. Prova Sia J = {Ji}1i k Consideriamo senza perdita di generalità un nodo x e calcoliamo tutte le n path fra x e tutti gli altri nodi.

21 P2P: Lower Bound sistemi uniformi
x compreso Sia P = {tutte le path da x agli altri n nodi} Sia f: P(N{0})k+1  p  P denotiamo con ap,i il numero di jump di taglia Ji usati nella path p con 1  i  k. Es Sia J={1,4,15} Sia p una path dal nodo 0 al nodo 9, (es ). Allora ap,1 = 1 , ap,2 = 2 e ap,3 = 0.

22 P2P: Lower Bound sistemi uniformi
x compreso Sia P = {tutte le path da x agli altri n nodi} Sia f: P(N{0})k+1 Ovviamente poiché l è il diametro della rete. Definiamo f(p):=(ap,0,ap,1,…ap,k).

23 P2P: Lower Bound sistemi uniformi
P = {tutte le path da x agli altri n nodi} f: P(N{0})k+1 f(p):=(ap,0,ap,1,…ap,k) Claim f è iniettiva (one to one) Prova Per assurdo supponiamo che esistano p e q  P tali che ap,i = aq,i  0  i  k. Quindi partendo dal nodo x, entrambe le path terminano nello stesso nodo destinazione. Assurdo: per definizione le path in P terminano in nodi diversi. Dominio Codominio

24 P2P: Lower Bound sistemi uniformi
Poiché f è iniettiva, la dimensione del codominio è maggiore o uguale alla dimensione del dominio (vale a dire |C| ≥ |D|=n). Quanto vale la dimensione del codominio? La dimensione del codominio è uguale al numero di vettori (a0,a1,…,ak) tali che a0+a1+…+ak =l

25 P2P: Lower Bound sistemi uniformi
Supponiamo di avere l biglie uguali e k+1 contenitori diversi. La dimensione del codominio è uguale al numero di modi in cui è possibile disporre l biglie identiche in k+1 contenitori diversi. l k+1

26 P2P: Lower Bound sistemi uniformi
Primo contenitore vuoto Secondo contenitore 3 biglie Terzo contenitore 1 biglia Quarto contenitore 1 biglia Quinto contenitore 2 biglie Sesto contenitore 5 biglie Rappresentiamo con “0” le biglie e separiamo con “1” i contenitori Con k “1” possiamo rappresentare k+1 contenitori, mentre con l “0” possiamo rappresentare l biglie; Alcuni esempi 6 contenitori e 12 biglie

27 Alcuni esempi 6 contenitori e 12 biglie
P2P: Lower Bound sistemi uniformi La dimensione del codominio è uguale al numero di combinazioni di k elementi su l+k; La dimensione del codominio è uguale al numero di combinazioni di l elementi su l+k; Alcuni esempi 6 contenitori e 12 biglie

28 P2P: Lower Bound sistemi uniformi
Sappiamo che Ci rimane da dimostrare che se k 1/2log n allora l ≥ 1/2log n .

29 P2P: Lower Bound sistemi uniformi
Proviamo che l≥k Per assurdo l<k E’ facile osservare che è crescente in l, quindi Assurdo Stirling approx Per ipotesi k  1/2log n.

30 P2P: Lower Bound sistemi uniformi
Proviamo che l ≥ 1/2log n Per assurdo l < 1/2log n E’ facile osservare che è crescente in k, quindi Assurdo, quindi l ≥ 1/2log n CVD.

31 Solo conti, abbastanza noiosi.
P2P: Lower Bound sistemi uniformi Teorema Consideriamo un sistema P2P uniforme con n nodi, sia k il numero dei vicini che ogni nodo mantiene, allora il diametro è Ω(log n) se k = O(log n). Prova La prima parte è identica al teorema precedente Solo conti, abbastanza noiosi.

32 diametro Anello n -1 Chord e altri Grafo completo LB O(log n) O(log n/ log(log n)) 1 1 O(log n) n -1 grado n è il numero dei peer;

33 Grafico funzione binomiale
y 1 n/2 n-1 x

34 l=k è la scelta migliore
Come scegliere l e k? Supponiamo di avere un limite sulla somma di grado e diametro Es l+k = 16 Quali sono i valori di l e k ottimali? l=k è la scelta migliore

35 E’ possibile fare meglio di Chord, si può arrivare a
Alcune osservazioni Chord è asintoticamente ottimo Uniforme Facili da implementare e da analizzare; Algoritmo di routing semplice (greedy); Non c’è congestione sui nodi; Fast bootstrap: Routing locale; GAP Chord (log n, log n) LB (½ log n, ½ log n) E’ possibile fare meglio di Chord, si può arrivare a ( log n, log n)

36 Lezione 5 Domande: Consideriamo un sistema P2P con N nodi e grado k = O(log N), quale delle seguenti affermazioni è vera. (giustificare la risposta) il diametro è (log N) il diametro è almeno ½ log N il diametro è (log N / log log N) Nessuna delle precedenti Dato un sistema P2P uniforme con N nodi, grado k e diametro l, (giustificare la risposta) k è O(log N) se l è O(log N) l è (log N) se k è O(log N) l è (log N/ log log N) se k è O(log N)

37 Lezione 5 Domande: Quale delle seguenti affermazioni è vera (giustificare la risposta) I protocolli P2P uniformi sono più efficienti Non esiste un sistema P2P asintoticamente ottimo Chord è un sistema non uniforme Nessuna delle precedenti Consideriamo l’insieme dei protocolli P2P uniformi, quale delle seguenti affermazioni è vera . (giustificare la risposta) Chord è un sistema P2P asintoticamente ottimo (rispetto al tradeoff grado - diametro) Non esiste un sistema P2P asintoticamente ottimo (rispetto al tradeoff grado - diametro) Non esiste un sistema che offre prestazioni migliori del protocollo Chord (rispetto al tradeoff grado - diametro)

38 Fine Lezione 5


Scaricare ppt "Lezione 5 Domande: L’average path length di Chord con 2^b identificatori e N=2^b nodi è (giustificare la risposta) (b) (b/2) (log(N)) (Nessuna delle precedenti)"

Presentazioni simili


Annunci Google