La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Sistemi P2P avanzati Lezione 4 Consisten Hashing Altri sistemi P2P uniformi F-Chord :-)"— Transcript della presentazione:

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

2 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

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

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

5 Sistemi P2P avanzati Consistent Hashing [Karger et al 97]

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

7 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

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

9 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

10 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

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

12 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

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

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

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

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

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

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

19 Sistemi P2P avanzati DHT: Routing (Viceroy)

20 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

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

22 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

23 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

24 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

25 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. 12 4 8 16 32 64 Chord

26 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 : 123 5 8 13 21 34 55 89 Fib-Chord

27 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( ) 2 5 13 34 89 Fib-Chord 1 3 8 21 55 even jumps all jumps [1/2,1]

28 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/2 0.72021 log N Lunghezza media delle path: Theorem The average path length of the F-Chord( ) scheme is bounded by 0.39812 log N + (1- )0.24805 log N

29 Sistemi P2P avanzati F-Chord(1/2) Fib-Chord = F-Chord(1) –Diametro : –Grado : F-Chord(1/2) –Diametro : –Grado : 2 5 13 34 89 Fib-Chord 1 3 8 21 55 F-Chord(1/2)

30 Sistemi P2P avanzati The Lower Bound E possibile mostrare che 1.44042 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

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

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


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

Presentazioni simili


Annunci Google