24
Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Embed Size (px)

Citation preview

Page 1: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Distributed Hash Tables

Danielle Santos da SilvaMarcelo Borghetti SoaresTiago Alves Macambira

Page 2: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Roteiro

Introdução DHTs Chord Outros algoritmos para DHT Aplicações usando DHT

Page 3: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Introdução

Lookup Problem: Dado um conjunto de nós dinâmicos, como achar um determinado dado armazenado nesse sistema?

Como solucionar o problema?Base de Dados CentralizadaSistemas HierárquicosSistemas HíbridosDHTs

Page 4: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Introdução: Base de Dados Centralizada

Características:Pouca escalabilidade;Problemas flexibilidade;Ponto único de falha;Caro e vulnerável.

Ex.:Napster;Audiogalaxy;Google.

Page 5: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Introdução: Sistema Hierárquico

Características:Escalabilidade;Balanceamento

de carga desigual;Pontos críticos de

falha: dependência dos elementos pró-ximos à raiz.

Ex.: DNS.

.

.com .org ... .br

.com .ufmg

.dcc .com

www .dcc.ufmg.br

Page 6: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Introdução: Sistema Simétricos

Características:Rede auto-organizável

em uma estrutura de malha eficiente;

Balanceamento do custo da busca;

Abordagem de busca tipo “Broadcast”: sem escalabilidade.

Ex.: Gnutella.

Page 7: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Introdução: Sistema Híbridos

Características:Escalabilidade;Sem garantias de

obtenção de objetos; Ex.:

KaZaA (Supernode);Gnutella (Superpeer).

Page 8: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Tabelas Hash: Definição

Tabelas Hash: Mapeiam chaves em valores (dados)

chave valor

Vitória Espírito Santo

Porto Alegre Rio Grande do Sul

Fortaleza Ceará

Page 9: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

DHT: Definição

Distributed Hash Tables Dados distribuídos em

múltiplos nós Nós mantêm informações

sobre seus vizinhos Operações

Pesquisa Inserção Deleção

Page 10: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

DHT: Definições

RobustaTrabalham com redes muito grandes

EscalávelMantêm poucas informações localmenteBuscas percorrem nó máximo O( log N ) nós

Carga Balanceada

Page 11: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

DHT: Funcionamento

Operação lookup(key) Repassar uma consulta

para nó apropriado

Os nos mantem informações sobre outros nós em tabelas de roteamento.

Page 12: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Chord

Completamente decentralizado Simétrico Pode localizar dados usando apenas

O(Log N) mensagens Roteamento distribuído Application-Layer Overlay Network

Page 13: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Identificandos Nós e Dados

Identificadores de m-bitsHashSHA-1, MD5

Espaço de m-bitsCírculo de

Identificadores

0

7

6

5

43

2

1

Page 14: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Finger-Table

Tabela de roteamento m-entradas

Espaçamento ExponencialO( Log N )

Tabela de roteamento m-entradas

Espaçamento ExponencialO( Log N )

0 1 2 4 8 16

Page 15: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

O sucessor

Nó sucessor (k)Responsável por

armazenar a chave K

Proximo nó nósentido horário

0

7

6

5

43

2

1

Sucessor(6)=0Sucessor(2)=3

Sucessor(1)=1

Page 16: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Localizando um dado (cont)

Busca por k consiste em achar o sucessor(k) Procura inicia na

Finger-table

0

2

1Finger TableStart Int. Suc.

1 [1,2) 1

2 [2,4) 3

Page 17: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Localizando um dado (cont)

Se o nó não tem informações suficientes Recorre ao nó n’ mais

próximo de k n’ possui mais

informação local sobre k

0

16

8

15

Finger Table nó 0Start Int. Suc.

1 [1,2) 1

8 [8,16) 8

16 [16,0] 16

Finger Table nó 8Start Int. Suc.

8 [8,9) 15

9 [9,10) 15

10 [10,12) 15

12 [12,16) 15

16 [16,0] 16

Page 18: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Localizando um dado (cont)

No máximo O( Log N ) PassosExpaçamento exponencialDistância cai pela metade a cada passo

Page 19: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Outros Algoritmos para DHT

CAN Pastry Symphony

Page 20: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Aplicações

Substitutos para o DNS Serving DNS using a Peer-to-Peer Lookup Service , Cox,

Muthitachareon and Morris Sistemas de arquivos Distribuídos

CFS, The Chord Project Application-level Multicast

Application-level Multicast using CAN File-sharing Etc...

Page 21: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

Referências

http://www.pdos.lcs.mit.edu/chord/

Page 22: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira
Page 23: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

FIM

Dúvidas?!

Page 24: Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira

RESUMÃO Introdução

Lookup Problem Napster, gnutella, kaaza, DHT

DHTs O que são caracteristicas Aspectos comuns Aplicações

Algoritmos para DHT CAN, Pastry Chord

Caracterização Limites inferiores para busca Roteamento Estrutura espacial para mapeamento das chaves

Aplicações Application-layer multicast Etc...

Questões em aberto... http://citeseer.nj.nec.com/cache/papers/cs/25855/

http:zSzzSzwww.cs.rice.eduzSzConferenceszSzIPTPS02zSz174.pdf/ratnasamy02routing.pdf