Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco

Slides:



Advertisements
Presentazioni simili
Premessa: si assume di aver risolto (correttamente
Advertisements

Algoritmi e Strutture dati Mod B
Algoritmi e Strutture Dati
Il problema del cammino minimo tra 2 nodi in un grafo non cooperativo
Il problema del minimo albero ricoprente in un grafo non cooperativo
Alberi binari di ricerca
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Università degli Studi di Roma Tor Vergata
Scenario Archi di un grafo controllati da agenti egoistici
Meccanismi one-parameter. Riepilogo Archi di un grafo controllati da agenti egoistici Solo lagente conosce il peso associato al proprio arco Obiettivo:
Meccanismi one-parameter. Riepilogo Archi di un grafo controllati da agenti egoistici Solo lagente conosce il peso associato al proprio arco Obiettivo:
Informatica 3 Codifica binaria.
Il problema del minimo albero ricoprente in un grafo con archi privati
Algoritmi e strutture Dati - Lezione 7
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 4 Ordinamento: Heapsort Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 6 Il problema.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Capitolo 9 Il problema della gestione di insiemi disgiunti (Union-find) Algoritmi e Strutture Dati.
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Algoritmi e Strutture Dati (Mod. A)
Alberi di Ricorrenza Gli alberi di ricorrenza rappresentano un modo conveniente per visualizzare i passi di sostitu- zione necessari per risolvere una.
Trovare il percorso minimo da b ad ogni altro vertice
Algoritmi e strutture dati
Ricerca della Legge di Controllo
Seminario su clustering dei dati – Parte II
Peer To Peer (o quasi) Gennaro Cordasco.
? Peer To Peer (P2P) Kademlia pastry can jxta napster fiorana
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
Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – –
Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi Abbiamo detto abbastanza KoordeNeighbor of Neighbor routing (NON)
Autori: I. Stoica, R. Morris, D. Liben-Nowell, D. R. Karger, M. F
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley Chord: A Scalable Peer-to-peer Lookup Service for Internet.
Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi KoordeNeighbor of Neighbor routing (NON)
Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – –
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.
QuickSort Quick-Sort(A,s,d) IF s < d THEN q = Partiziona(A,s,d) Quick-Sort(A,s,q-1) Quick-Sort(A,q + 1,d)
Corso di Matematica Discreta I Anno
Intelligenza Artificiale Algoritmi Genetici
P2P (o quasi): Peer To Peer (o quasi) Gennaro Cordasco.
Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – –
Sistemi P2P avanzati Lezione 3 Chord seconda parte.
Sistemi P2P Facciamo un piccolo test Quanti successori ha un nodo nel protocollo Chord? (m) (1) (log N) (nessun prec.) Aumentando il numero di identificatori.
Sistemi P2P avanzati Lezione 4 Consisten Hashing Altri sistemi P2P uniformi F-Chord :-)
Sistemi P2P Facciamo un piccolo test Quanti successori ha un nodo nel protocollo Chord? (m) (1) (log N) (nessun prec.) Aumentando il numero di identificatori.
Sistemi Peer To Peer (P2P)
Limiti al trasferimento di informazione u Il tempo necessario per trasmettere dellinformazione dipende da: –la velocita di segnalazione (cioe quanto velocemente.
Reti L-S 2005 Servizio per la ricerca distribuita basato sul protocollo Rossi Daniele
Diagramma degli stati che descrive il comportamento della rete.
Cassaforte Asincrona di Mealy
Main tools of the probabilistic method with applications in graph theory Attività formativa - Yuri Faenza Supervisore: Prof. B. Scoppola CdLS in Ingegneria.
Strutture dati per insiemi disgiunti
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Cerchiamo di rispondere alla seconda domanda 2)La soluzione trovata con lalgoritmo goloso è ottima o esistono anche soluzioni con più di quattro attività?
Ispezione lineare La funzione hash h(k,i) si ottiene da una funzione hash ordinaria h'(k) ponendo L’esplorazione inizia dalla cella h(k,0) = h'(k) e continua.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Risoluzione di Problemi con gli algoritmi Ricorsivi
Capitolo 9 Il problema della gestione di insiemi disgiunti (Union-find) Algoritmi e Strutture Dati.
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Overlay network strutturate per applicazioni peer to peer Lorenzo Castelli.
Capitolo 13 Cammini minimi Algoritmi e Strutture Dati.
Codici prefissi Un codice prefisso è un codice in cui nessuna parola codice è prefisso (parte iniziale) di un’altra Ogni codice a lunghezza fissa è ovviamente.
Flusso di Costo Minimo Applicazione di algoritmi: Cammini Minimi Successivi (SSP) Esercizio 1 Sia data la seguente rete di flusso, in cui i valori riportati.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Algoritmi Avanzati a.a.2010/2011 Prof.ssa Rossella Petreschi Complessità e Trasportabilità Lezione n°3.
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)
Sistemi Peer to Peer Gennaro Cordasco
Transcript della presentazione:

Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco Laboratorio ISISLAB2 (L8 a Baronissi) Laboratorio ISISLAB2 (L8 a Baronissi)

P2P: 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; 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 lalgoritmo di routing; Cambiano i vicini (finger) e lalgoritmo 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; dalla topologia della rete; dallalgoritmo di routing. dallalgoritmo di routing.Obiettivi: Minimizzare il numero di messaggi necessari per fare lookup; Minimizzare il numero di messaggi necessari per fare lookup; Minimizzare, per ogni nodo, le informazioni relative agli altri nodi; Minimizzare, per ogni nodo, le informazioni relative agli altri nodi;

Dal punto di vista topologico Consideriamo una rete P2P come un grafo G=(V,E), dove V è linsieme dei nodi nel sistema e E rappresenta linsieme delle interconnessioni fra essi: Minimizzare, per ogni nodo, le informazioni relative agli altri nodi: Minimizzare, per ogni nodo, le informazioni relative agli altri nodi: minimizzare il grado dei nodi; minimizzare il grado dei nodi; Minimizzare il numero di messaggi necessari per fare lookup: Minimizzare il numero di messaggi necessari per fare lookup: Minimizzare il diametro; Minimizzare laverage 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=2 b nodi; Ogni nodo x ha un etichetta a b bit che denotiamo con id(x); I vicini del nodo x sono i nodi (x+2 i ) mod 2 b i = 0,1,,b-1; jump b=3

Es. Chord Quanto valgono: grado? grado? diametro? diametro? average path lenght? average path lenght? b=3 Il grado è b = log n

Es. Chord 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 2 b. 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 2 b b=3

Es. Chord 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: (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) b=3 d(x,y) può essere diverso da d(y,x) Chord non è simmetrico Il diametro è b = log n

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

Es. Chord Quanto vale laverage path lenght? b=3 N denota linsieme dei nodi

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

Sistemi P2P uniformi 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 che si trovano fra sorgente e destinazione; 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. 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: Fast bootstrap: Poiché tutti i nodi utilizzano gli stessi jump, è possibile utilizzare la tabella di routing del proprio predecessore per velocizzare notevolmente loperazione di join; Svantaggi: Sfortunatamente non sono gli algoritmi più efficienti. Sfortunatamente non sono gli algoritmi più efficienti. Lo vediamo fra un pò

Es. Chord Quanto vale laverage path lenght? 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; b=3 a 00…0 00…1 … 11…0 11…1

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à ½; Supponiamo che tutti i nodi della rete possono fallire con probabilità ½; Ovviamente un nodo rimane disconnesso se tutti i suoi vicini si disconnettono contemporaneamente; 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; 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 Pr[un nodo non si disconnette]=1-(1/2) k 1-1/n 1/n (1/2) k 2 k n k log n In realtà la prova è un po più complicata, ma questa rende bene lidea k=grado l=diametro

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 diametro che riusciamo ad ottenere? Fissiamo il grado pari O(log n), qual è il minimo APL che riusciamo ad ottenere? Fissiamo il grado pari O(log n), qual è il minimo APL che riusciamo ad ottenere? Stiamo cercando dei Lower Bound Chord, tapestry, pasty …

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 k l+1 > n Poiché il grafo deve essere connesso, allora k l+1 > n l > log k (n) - 1 = Ω(log n / log (log n)). l > log k (n) - 1 = Ω(log n / log (log n)). Con argomentazioni analoghe si può dimostrare che anche lAPL è Ω(log n / log (log n)) in quanto la maggior parte dei nodi si trova a distanza l-O(1). Ma allora Chord non è ottimale!!! k=grado l=diametro

P2P: Lower Bound (Esempio 1) k = log n; Ogni nodo ha grado k (k-1 figli e la radice dellalbero); r raggiunge qualsiasi nodo in al più log k-1 n = O(log n / log (log n)) passi. Il diametro è 1 + log k-1 n =O(log n / log (log n)). … …… k-1 r 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ù log k/2 -1 n = O(log n / log (log n)) passi. Ogni nodo raggiunge r in al più log k/2 -1 n = O(log n / log (log n)) passi Il diametro è O(log n / log (log n)). … …… k/2 -1 r

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

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 = { i k Sia J = {J i } 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 Sia P = { Sia P = {tutte le path da x agli altri n nodi} P (N {0}) k+1 Sia f: P (N {0}) k+1 p P denotiamo con a p,i il numero di jump di taglia J i usati nella path p con 1 i k. p P denotiamo con a p,i il numero di jump di taglia J i usati nella path p con 1 i k. Es Sia J={ 1,4,15 } Sia J={ 1,4,15 } Sia p una path dal nodo 0 al nodo 9, (es ). Sia p una path dal nodo 0 al nodo 9, (es ). Allora a p,1 = 1, a p,2 = 2 e a p,3 = 0. Allora a p,1 = 1, a p,2 = 2 e a p,3 = 0. x compreso

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

P2P: Lower Bound sistemi uniformi Claim f è iniettiva (one to one) Prova Per assurdo supponiamo che esistano p e q P tali che a p,i = a q,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. DominioCodominio P = { P = {tutte le path da x agli altri n nodi} P (N {0}) k+1 f: P (N {0}) k+1 f(p):=(a p,0,a p,1,…a p,k )

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 (a 0,a 1,…,a k ) tali che a 0 +a 1 +…+a k =l La dimensione del codominio è uguale al numero di vettori (a 0,a 1,…,a k ) tali che a 0 +a 1 +…+a k =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. … … k+1 l

P2P: Lower Bound sistemi uniformi 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 Primo contenitore vuoto Secondo contenitore 3 biglie Terzo contenitore 1 biglia Quarto contenitore 1 biglia Quinto contenitore 2 biglie Sesto contenitore 5 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

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 lk 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 Proviamo che l 1/2 log n Per assurdo 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.

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.

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

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

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

Alcune osservazioni Chord è asintoticamente ottimo Uniforme Uniforme Facili da implementare e da analizzare; Algoritmo di routing semplice (greedy); Non cè congestione sui nodi; Fast bootstrap: Routing locale; GAP GAP 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 ( log n, log n)

Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi Abbiamo detto abbastanza KoordeNeighbor of Neighbor routing (NON)