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)

Slides:



Advertisements
Presentazioni simili
Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco
Advertisements

Lezione 8.
Lezione 5. Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi Abbiamo detto abbastanza KoordeNeighbor of Neighbor routing (NON)
Ancora esercizi!!! Chernoff Bound allora
Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi Abbiamo detto abbastanza KoordeNeighbor of Neighbor routing (NON)
Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi KoordeNeighbor of Neighbor routing (NON)
Lezione 5 Domande: Laverage path length di Chord con 2^b identificatori e N=2^b nodi è (giustificare la risposta) Laverage path length di Chord con 2^b.
Domande Consideriamo un grafo di de bruijn con base k, ed N = k^b nodi, quale delle seguenti affermazioni è vera (giustificare la risposta) Il grado di.
Sistemi P2P avanzati Lezione 4 Consisten Hashing Altri sistemi P2P uniformi F-Chord :-)
Prof.ssa Rossella Petreschi Lezione del 29/10/2012 del Corso di Algoritmi e Strutture Dati Riferimenti: Capitolo 19 del testo Cormen, Leiserson, Rivest,
La seguente matrice è una matrice delle distanze di un’istanza del problema del Commesso Viaggiatore. Calcolare un lower bound per il valore del ciclo.
Huffman Canonico: approfondimento. Come abbiamo visto, Huffman canonico ci permette di ottenere una decompressione più veloce e con un uso più efficiente.
Prof.ssa Rossella Petreschi Lezione del 29 /10/2014 del Corso di Algoritmica Lezione n°8.
Alberi. Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo Fosco Dora Drogo Dudo.
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
x : variabile indipendente
SUMMERMATHCAMP TARVISIO, AGOSTO 2017
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi
= 2x – 3 x Definizione e caratteristiche
Insiemi di numeri e insiemi di punti
Progettare algoritmi veloci usando strutture dati efficienti
Inserzione e Cancellazione
Definizione di logaritmo
Branch and Bound Lezione n°19 Prof.ssa Rossella Petreschi
Branch and Bound Lezione n°14 Prof.ssa Rossella Petreschi
x : variabile indipendente
Progettare algoritmi veloci usando strutture dati efficienti
Algoritmi di stima con perdita di pacchetti in reti di sensori wireless: modellizzazione a catene di Markov, stima e stima distribuita Chiara Brighenti,
Analisi di sequenze di operazioni Union-Find
DISTRIBUZIONI TEORICHE DI PROBABILITA’
Lezione n°9 Prof.ssa Rossella Petreschi
Il calcolo della probabilità
Alberi binari Definizione Sottoalberi Padre, figli
Lezione n°17 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi
x : variabile indipendente
B-alberi e alberi autoaggiustanti
Insiemi di punti: altre caratteristiche
Complessità ammortizzata degli algoritmi Union Find
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Usi (meno scontati) della visita DFS
Sistemi Peer to Peer Gennaro Cordasco
Statistica descrittiva bivariata
K4 è planare? E K3,3 e K5 sono planari? Sì!
Lezione n°12 Prof.ssa Rossella Petreschi
Gli automi.
I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI Numeri.
ABBINAMENTO Lezione n°13
32 = 9 x2 = 9 x = 3 32 = 9 √9 = 3 L’estrazione di radice
Algoritmi per il flusso nelle reti
Lezione n°6 Prof.ssa Rossella Petreschi
Branch and Bound Lezione n°18 Prof.ssa Rossella Petreschi
Introduzione agli Algoritmi e alle Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Usi (meno scontati) della visita DFS
Algebra di Boole e Funzioni Binarie
Progettare algoritmi veloci usando strutture dati efficienti
Sistemi Peer to Peer Gennaro Cordasco
Algoritmi e Strutture Dati
Esercizio Dato un albero binario, definiamo altezza minimale di un nodo v la minima distanza di v da una delle foglie del suo sottoalbero, definiamo invece.
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Lezione n°7 Splay-Trees e Heaps Prof.ssa Rossella Petreschi
Il problema del flusso nelle reti
Unione per ranghi compressi
Algoritmi e Strutture Dati
HeapSort Stesso approccio incrementale del selectionSort Tipo di dato
Statistica descrittiva bivariata
Transcript della presentazione:

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)

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

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;

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

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

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

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.

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

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;

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

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

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ò

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

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

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

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!!!

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

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 … … …

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

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.

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. 4+4+1). Allora ap,1 = 1 , ap,2 = 2 e ap,3 = 0.

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).

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

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

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

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; 00010000010110100 00110001101000000 10001010100100000 00000110001000011 Alcuni esempi 6 contenitori e 12 biglie

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; 00010000010110100 00110001101000000 10001010100100000 00000110001000011 Alcuni esempi 6 contenitori e 12 biglie

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

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.

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.

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. 

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;

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

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

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 (0.72021 log n, 0.72021 log n)

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)

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)

Fine Lezione 5