Sistemi P2P avanzati Lezione 4 Consisten Hashing Altri sistemi P2P uniformi F-Chord :-)

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture Dati
Advertisements

Algoritmi e Strutture Dati
                      Insertion-Sort
Il problema del minimo albero ricoprente in un grafo non cooperativo
1 2. Introduzione alla probabilità Definizioni preliminari: Prova: è un esperimento il cui esito è aleatorio Spazio degli eventi elementari : è linsieme.
Routing Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
Hash Tables Indirizzamento diretto Tabelle Hash Risoluzioni di collisioni Indirizzamento aperto.
Algoritmi e Strutture Dati
Capitolo 1 Unintroduzione informale agli algoritmi Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti lineari.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Algoritmi Paralleli e Distribuiti a.a. 2008/09
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.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Capitolo 7 Tavole hash Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati (Mod. B)
Trovare il percorso minimo da b ad ogni altro vertice
Algoritmi e strutture dati
1 2. Analisi degli Algoritmi. 2 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo:
Ricerca della Legge di Controllo
Seminario su clustering dei dati – Parte II
Peer To Peer (o quasi) Gennaro Cordasco.
Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco
Lezione 8.
1 © Alberto Montresor Algoritmi e Strutture Dati Capitolo 7 - Tabelle hash Alberto Montresor Università di Trento This work is licensed under the Creative.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
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.
Errata Corrige. DHT Routing (Tapestry) Tabella di routing (base k=4, digit d=4) Consideriamo il nodo x con id (x 1, x 2, x 3, x 4 ): (1+x 1, *, *, *)
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.
Heap allocation e garbage collector di Oberon Algoritmo Quick Fit e garbage collector mark and sweep.
Intelligenza Artificiale
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 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)
Reti L-S 2005 Servizio per la ricerca distribuita basato sul protocollo Rossi Daniele
Elementi di Informatica di base
Radix-Sort(A,d) // A[i] = cd...c2c1
Algoritmi e Strutture Dati
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Passo 3: calcolo del costo minimo
Algoritmi e Strutture Dati
Outline Database P2P e stato dellarte delle strutture di indice Obiettivi dellarchitettura P-Ring Soluzioni di P-Ring Verifiche sperimentali dei risultati.
Capitolo 7 Tavole hash Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Implementazione di dizionari Problema del dizionario dinamico Scegliere una struttura dati in cui memorizzare dei record con un campo key e alcuni altri.
GLI ALGORITMI VISIBILE SUL BLOG INFORMATICA ANNO SCOLASTICO 2013 / 2014 GABRIELE SCARICA 2°T.
Ordinamento in tempo lineare Il limite inferiore Ω(n log n) vale per tutti gli algoritmi di ordinamento generali, ossia per algoritmi che non fanno alcuna.
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Capitolo 7 Tavole hash Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo La ricorsione 15 Approccio ricorsivo, esercizi sulla.
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 P2P avanzati Lezione 4 Consisten Hashing Altri sistemi P2P uniformi F-Chord :-)

Sistemi P2P avanzati Partendo dalla figura, descrivere la procedura Join Descrivere le varie tecniche di replicazione e analizzarne vantaggi e svantaggi Descrivere PNS e PRS In una rete inizialmente stabile, se assumiamo che ciascun nodo cade con probabilità ½, allora la lookup impiega (N) (½ log N) (m) (nessuna prec.) Facciamo un piccolo test a c b

Sistemi P2P avanzati Outline Consistent Hashing -Definizione -Desiderata -Proprietà -Esempio -Altri Sistemi -Tapestry -CAN -Viceroy F-Chord –Idea –P2P uniformi –Risultati

Sistemi P2P avanzati Una chiave (risorsa) è memorizzata nel primo nodo che segue in senso orario ID a 7-bit 0 IP= Chiave=LetItBe Consistent Hashing [Karger et al 97]

Sistemi P2P avanzati Consistent Hashing [Karger et al 97]

Sistemi P2P avanzati Consistent Hashing [Karger et al 97] Nasce come una tecnica per replicare i dati nei sistemi C/S Problema: memorizzare una copia dei dati messi a disposizione dal Server su un pool di Client –Load balancing –Fast recovery Le funzioni Hash mappano chiavi (risorse) in interi.

Sistemi P2P avanzati Consistent Hashing [Karger et al 97] Con N Client una possibile funzione è x -> ax+b (mod N) Cosa accade se varia N? –Buona parte dei dati va riposizionata Se la usassimo in un sistema P2P? –N varia continuamente –nessuno sa precisamente quanto vale N

Sistemi P2P avanzati x -> ax+b (mod N) In particolare se varia N: –è assicurato un bilanciamento sul numero di dati per posizione –molti dati devono cambiare posizione –il numero di posizioni che un dato può potenzialmente raggiungere non è limitato Consistent Hashing [Karger et al 97]

Sistemi P2P avanzati Consistent Hashing [Karger et al 97] Desiderata – Vogliamo che quando N varia (cioè un nodo entra o esce dal sistema) la quantità di dati che viene rimappata nel sistema è bassa le posizioni in cui un generico dato (risorsa) è mappato sono limitate i dati vengono assegnati in maniera bilanciata su tutti i nodi

Sistemi P2P avanzati Consistent Hashing [Karger et al 97] In altre parole, per definizione un Consistent Hashing deve godere di opportune proprietà: Bilanciamento Monotonicità Spread Carico

Sistemi P2P avanzati Sia I linsieme delle risorse e B linsieme delle possibili posizioni (I = | I |). Ovviamente le possibili configurazioni del sistema sono 2 B Quello che cerchiamo è una funzione f:2 B I -> B Se V è una configurazione (V 2 B ) è ovvio che f(V,id) V, per qualsiasi id Consistent Hashing [Karger et al 97]

Sistemi P2P avanzati Bilanciamento: Per ogni sottoinsieme V di posizioni (nodi) ed I dati, il numero di dati per ogni posizione è O(I/|V|) con alta probabilità. Monotonicità: Se al variare di N le posizioni (i nodi) disponibili passano da V 1 a V 2 con V 1 V 2, la migrazione dei dati deve avvenire solo verso posizioni appartenenti a V 2 \V 1, ma non a V 1. Se V 1 V 2, f(V 2, i) V 1 allora f(V 1, i) = f(V 2, i) Consistent Hashing [Karger et al 97] I dati si devono muovere solo se è necessario

Sistemi P2P avanzati Spread: Al variare di N, il numero di posizioni che un dato può assumere è limitato. Carico: Al variare di N, il numero di dati che una posizione accoglie è limitato. Consistent Hashing [Karger et al 97]

Sistemi P2P avanzati Funzioni Hashing Consistenti esistono ? Siano K(x) ed N(x) due funzioni casuali che hanno come codominio lintervallo [0,1). Definiamo la seguente funzione Hash: Utilizziamo K(x) per mappare le chiavi Utilizziamo N(x) per mappare i nodi F: La chiave i viene memorizzata nel nodo j se la differenza |K(i)-N(j)| è la minima su tutti i nodi j. Consistent Hashing [Karger et al 97]

Sistemi P2P avanzati 0 1 F precedentemente definito: Bilanciamento ? Monotonicità ? Spread ? Carico ? Consistent Hashing [Karger et al 97]

Sistemi P2P avanzati DHT Routing (Tapestry) Realizzazione dinamica dellalgoritmo di Plaxton et al.(che non si adattava a sistemi dinamici); Supponendo che le chiave è costituita da un intero positivo lalgoritmo di routing corregge a ogni passo un singolo digit alla volta; Per fare ciò un nodo deve avere informazioni sui nodi responsabili dei prefissi della sua chiave; (O(log N) nodi) Il numero di messaggi necessari per fare lookup è O(log N); Lalgoritmo in pratica simula un Ipercubo;

Sistemi P2P avanzati DHT: Routing (CAN) I nodi sono mappati su un toro d-dimensionale; A ogni nodo è associato un sottoinsieme di questo spazio d-dimensionale; Ogni nodo mantiene la lista dei nodi responsabili dei sottospazi che confinano con il proprio sottospazio; Ogni nodo ha O(d) vicini (due per ogni dimensione); Il routing avviene in passi, in media ; Da notare che se usiamo d = log N dimensioni abbiamo O(log N) vicini e il routing ha costo:

Sistemi P2P avanzati DHT: Routing (Viceroy) I nodi sono mappati su una butterfly e contemporaneamente su un array circolare; Ogni nodo ha un identificatore addizionale chiamato livello; Tre tipi di link: General link: predecessore e successore sullarray circolare (2 link); Level ring: connette i nodi di uno stesso livello (2 link); Butterfly link: realizza la butterfly (2 link); Ogni nodo ha O(1) vicini; Il routing avviene in O(log N) passi in media e O(log 2 N) passi WHP;

Sistemi P2P avanzati DHT: Routing (Viceroy)

Sistemi P2P avanzati F-Chord: performance metrics Tre parametri per la misura delle performances: –Dimensione della tabella di routing (degree) Memoria utilizzata Misura inoltre il costo per la stabilizzazione della rete successiva a joins/leaves di nodi –Diametro e Lunghezza media delle path Velocità nel reperire i dati

Sistemi P2P avanzati Uniform Routing Algorithm Consideriamo un ring di 2 m identificatori, etichettati da 0 a 2 m -1 Sia N=2 m, un algoritmo di routing si dice uniforme se per ogni nodo n, n è connesso con y iff n+z è connesso con y+z (i.e. : tutte le comunicazioni sono simmetriche). –Vantaggi Facili da implementare Lalgoritmo greedy è sempre ottimale Non cè congestione sui nodi –Svantaggi Sono meno potenti (De Bruijn Graph e Neighbor of Neighbor Greedy routing sono più potenti)

Sistemi P2P avanzati Asymptotic tradeoff curve 1 1 N -1 O(log N) Chord et al. Totally connected graph Ring O(log N) Diameter Uniform Routing algorithm Non-Uniform Routing algorithm

Sistemi P2P avanzati Idea (consideriamo un ring [0,1)) 1-2x=0 x=1/21-x-x 2 =0 x=1/ x x2x2 S 1 =1 S i =(1/2) (i-1) … S d1/n d log 2 N S 1 =1 (1/ ) 2(i-1) S i (1/ ) (i-1) … S d1/n d log N Chord x

Sistemi P2P avanzati The Idea(2) Possiamo usare solo i jump x i con i dispari (x, x 3, x 5, x 7, …) 1 x2x2 x xx3x3 x3x3 x2x2 x2x2 x x2x2 d = (1/2)log N = (1/2)log N

Sistemi P2P avanzati The Idea(3) Costruiamo un nuovo algoritmo di routing uniforme, basato su una nuova tecnica, in particolare il nuovo schema è basato sui numeri di Fibonacci. Fib(i) denota l i-th numero di Fibonacci. Ricordiamo che dove è il golden ratio and [ ] rappresenta lintero più vicino Chord

Sistemi P2P avanzati Fib-Chord Formalmente Sia N (Fib(m-1), Fib(m)]. Lo schema usa m-2 jumps (fingers) di taglia Fib(i) per i = 2,3, …, m-1 Fib-Chord –Diametro : –Grado : Fib-Chord

Sistemi P2P avanzati F-Chord( ) Fib(2i), for i = 1,2, …, (1- )(m-2) Fib(i), for i = 2 (1- )(m-2) +2, …, m-1 F-Chord( ) usa (m-2) jumps F-Chord( ) Fib-Chord even jumps all jumps [1/2,1]

Sistemi P2P avanzati Property of F-Chord [CGHNS04] Grado: F-Chord( ) usa (m-2) jumps Diametro: Theorem For any value of, the diameter of F-Chord( ) is m/ log N Lunghezza media delle path: Theorem The average path length of the F-Chord( ) scheme is bounded by log N + (1- ) log N

Sistemi P2P avanzati F-Chord(1/2) Fib-Chord = F-Chord(1) –Diametro : –Grado : F-Chord(1/2) –Diametro : –Grado : Fib-Chord F-Chord(1/2)

Sistemi P2P avanzati The Lower Bound E possibile mostrare che log N è un bound sulla somma grado e diametro per ogni sistema P2P uniforme con N identificatori. Theorem Let N(,d) denote the maximum number of consecutive identifiers obtainable trough a uniform algorithm using up to jumps (i.e. degree ) and diameter d. For any 0, d 0, it holds that N(,d) Fib( +d+1) F-Chord(1/2) is optimal

Sistemi P2P avanzati Average path length Fib-Chord: log N F-Chord(1/2): log N Theorem For each [ , ] the F-Chord( ) schemes improve on Chord in all parameters (number of jumps, diameter, and average path length) Chord is better

Sistemi P2P avanzati hops x log n Graphical results Lower is better