Distributed Hash Tables Danielle Santos da Silva Marcelo
Distributed Hash Tables Danielle Santos da Silva Marcelo Borghetti Soares Tiago Alves Macambira
Roteiro Introdução n DHTs n Chord n Outros algoritmos para DHT n Aplicações usando DHT n
Introdução Lookup Problem: Dado um conjunto de nós dinâmicos, como achar um determinado dado armazenado nesse sistema? n Como solucionar o problema? n ¨ Base de Dados Centralizada ¨ Sistemas Hierárquicos ¨ Sistemas Híbridos ¨ DHTs
Introdução: Base de Dados Centralizada n Características: ¨ Pouca escalabilidade; ¨ Problemas flexibilidade; ¨ Ponto único de falha; ¨ Caro e vulnerável. n Ex. : ¨ Napster; ¨ Audiogalaxy; ¨ Google.
Introdução: Sistema Hierárquico. n Características: . com . org . . br ¨ Escalabilidade; ¨ Balanceamento de carga desigual; ¨ Pontos críticos de falha: dependência dos elementos próximos à raiz. n Ex. : DNS. . com . ufmg . dcc . com www. dcc. ufmg. br
Introdução: Sistema Simétricos n Características: ¨ Rede auto-organizável em uma estrutura de malha eficiente; ¨ Balanceamento do custo da busca; ¨ Abordagem de busca tipo “Broadcast”: sem escalabilidade. n Ex. : Gnutella.
Introdução: Sistema Híbridos n Características: ¨ Escalabilidade; ¨ Sem garantias de obtenção de objetos; n Ex. : ¨ Ka. Za. A (Supernode); ¨ Gnutella (Superpeer).
Tabelas Hash: Definição n Tabelas Hash: ¨ Mapeiam chaves em valores (dados) chave Vitória valor Espírito Santo Porto Alegre Rio Grande do Sul Fortaleza Ceará
DHT: Definição n n 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
DHT: Definições n Robusta ¨ Trabalham n com redes muito grandes Escalável ¨ Mantêm poucas informações localmente ¨ Buscas percorrem nó máximo O( log N ) nós n Carga Balanceada
DHT: Funcionamento n n n Operação lookup(key) Repassar uma consulta para nó apropriado Os nos mantem informações sobre outros nós em tabelas de roteamento.
Chord Completamente decentralizado n Simétrico n Pode localizar dados usando apenas O(Log N) mensagens n Roteamento distribuído n Application-Layer Overlay Network n
Identificandos Nós e Dados 0 n Identificadores de m -bits 1 7 ¨ Hash ¨ SHA-1, n MD 5 Espaço de m-bits de Identificadores 6 2 ¨ Círculo 5 4 3
Finger-Table Tabela de roteamento n m-entradas n ¨ Espaçamento ¨ O( 0 1 Exponencial Log N ) 2 4 8 16
O sucessor 0 n Nó sucessor (k) ¨ Responsável n 7 por armazenar a chave K Proximo nó nó sentido horário 1 Sucessor(1)=1 6 Sucessor(6)=0 Sucessor(2)=3 5 4 3 2
Localizando um dado (cont) n Busca por k consiste em achar o sucessor(k) 0 ¨ Procura inicia na Finger-table Finger Table Start Int. Suc. 1 [1, 2) 1 2 [2, 4) 3 1 2
Localizando um dado (cont) 0 n Se o nó não tem informações suficientes Finger Table nó 0 ¨ Recorre Start Int. Suc. 1 [1, 2) 1 ao nó n’ mais 8 próximo de k 16 ¨ n’ possui mais informação local sobre Finger Table nó 8 k Start Int. Suc. 8 [8, 9) 15 9 [9, 10) 15 10 [10, 12) 15 12 [12, 16) 15 16 [16, 0] 16 … [8, 16) 8 [16, 0] 16 16 8 15
Localizando um dado (cont) n No máximo O( Log N ) Passos ¨ Expaçamento exponencial ¨ Distância cai pela metade a cada passo
Outros Algoritmos para DHT CAN n Pastry n Symphony n
Aplicações n Substitutos para o DNS ¨ n Sistemas de arquivos Distribuídos ¨ n n CFS, The Chord Project Application-level Multicast ¨ n Serving DNS using a Peer-to-Peer Lookup Service , Cox, Muthitachareon and Morris Application-level Multicast using CAN File-sharing Etc. . .
Referências n http: //www. pdos. lcs. mit. edu/chord/
FIM n Dúvidas? !
RESUMÃO n Introdução ¨ Lookup Problem n n DHTs ¨ ¨ n Napster, gnutella, kaaza, DHT O que são caracteristicas Aspectos comuns Aplicações Algoritmos para DHT ¨ ¨ CAN, Pastry Chord n Caracterização ¨ ¨ ¨ n Aplicações ¨ ¨ n Limites inferiores para busca Roteamento Estrutura espacial para mapeamento das chaves Application-layer multicast Etc. . . Questões em aberto. . . ¨ http: //citeseer. nj. nec. com/cache/papers/cs/25855/http: z. Szwww. cs. rice. eduz. Sz. Conferenc esz. Sz. IPTPS 02 z. Sz 174. pdf/ratnasamy 02 routing. pdf
- Slides: 24