A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Distributed Hash Tables

Apresentações semelhantes


Apresentação em tema: "Distributed Hash Tables"— Transcrição da apresentação:

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

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

3 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 Centralizada Sistemas Hierárquicos Sistemas Híbridos DHTs

4 Introdução: Base de Dados Centralizada
Características: Pouca escalabilidade; Problemas flexibilidade; Ponto único de falha; Caro e vulnerável. Ex.: Napster; Audiogalaxy; Google.

5 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 .www www .dcc.ufmg.br

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

7 Introdução: Sistema Híbridos
Características: Escalabilidade; Sem garantias de obtenção de objetos; Ex.: KaZaA (Supernode); Gnutella (Superpeer).

8 Tabelas Hash: Definição
Mapeiam chaves em valores (dados) chave valor Vitória Espírito Santo Porto Alegre Rio Grande do Sul Fortaleza Ceará

9 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

10 DHT: Definições Robusta Escalável Carga Balanceada
Trabalham com redes muito grandes Escalável Mantêm poucas informações localmente Buscas percorrem nó máximo O( log N ) nós Carga Balanceada

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

12 Chord Algoritmo para DHT Custos: Application-Layer Overlay Network
Completamente decentralizado Simétrico Roteamento distribuído Custos: Buscas: O( log N ) mensagens Manutenção/Estado: O( log N ) entradas Application-Layer Overlay Network

13 Identificandos Nós e Dados
Identificadores de m-bits Hash SHA-1, MD5 Espaço de m-bits Círculo de Identificadores 1 7 6 2 5 3 4

14 Finger-Table Tabela de roteamento m-entradas Tabela de roteamento
Espaçamento Exponencial Baseado em Skip Lists O( Log N ) Tabela de roteamento m-entradas Espaçamento Exponencial Baseado em Skip Lists O( Log N ) 1 2 4 8 16 f[i] = m + 2(i – 1)

15 O sucessor Nó sucessor (k) Proximo nó no sentido horário
Nó sucessor (k) Responsável por armazenar a chave K Proximo nó no sentido horário 1 7 Sucessor(1)=1 6 Sucessor(6)=0 2 Sucessor(2)=3 5 3 4

16 Finger Table e sucessor
Valores armazenados na Finger Table respeitam sucessor

17 Localizando um dado (cont)
Busca por k consiste em achar o sucessor(k) Procura inicia na Finger-table Finger Table 1 Start Int. Suc. 1 [1,2) 2 [2,4) 3 2

18 Localizando um dado (cont)
Se o nó não tem informações suficientes Recorre ao nó n’ mais próximo de k que o preceda n’ possui informações mais localizadas sobre k n’ continua a busca … Finger Table nó 0 Start Int. Suc. 1 [1,2) 8 [8,16) 16 [16,0] 8 Finger Table nó 8 Start Int. Suc. 8 [8,9) 15 9 [9,10) 10 [10,12) 12 [12,16) 16 [16,0] 15 16

19 Localizando um dado (cont)
No máximo O( Log N ) Passos Expaçamento exponencial Distância cai pela metade a cada passo

20 Outros Algoritmos para DHT
A maior diferêncas entre os diversos algoritmos para DHT estrutura de dados usada para roteamento Chord : Skiplist Propriedades são muito semelhantes entre os diversos algoritmos Outros exemplos CAN; Pastry; Symphony; Koorde, etc

21 Outros Algoritmos: CAN
Nodos Mapeados num espaço cartesiano d-dimencional Nó responsável por uma área Pesquisa repassada para vizinho mais próximo geometricamente do ponto Custos Busca: O( dN1/d ) Manutenção/Estado: O( d ) (1,1) (0,1) (0.6, 0.7) (0,0) (1,0)

22 Outros Algoritmos: Pastry
Identificadores de m-bits em base 2b Matriz de de vizinhança Repassa busca para vizinho com maior prefixo Custos: Busca: O( log N ) Manutenção/Estado O( log N ) 1 00 01 10 11 000

23 Aplicações Substitutos para o DNS Sistemas de arquivos Distribuídos
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...

24 Referências Gerais Chord
Looking Up Data in P2P Systems, Balakrishnan, Kaashoek, Stoica, Karger, Morris. Communications of the ACM – Feb/2003 Routing Algorithms for DHTs: Some Open Questions. Ratnasamy, Shenker, Stoica Chord A Scalable Peer-to-peer Lookup Service for Internet Applications Building Peer-to-Peer Systems With Chord, a Distributed Lookup Service

25 Anexo: Skip Lists Estrutura de dados probabilística
Pode ser usada no lugar de árvores balancedas A probabilidade e uma skiplist ser não-balanceada é irrelavante Algoritmos para fazer CRUD em Skip Lists são mais simples e eficientes Referência A Probabilistic Alternative to Balanced Trees, Bill Pugh

26 FIM Dúvidas?!

27

28 RESUMÃO Introdução DHTs Algoritmos para DHT Questões em aberto...
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 Application-layer multicast Etc... Questões em aberto... eszSzIPTPS02zSz174.pdf/ratnasamy02routing.pdf


Carregar ppt "Distributed Hash Tables"

Apresentações semelhantes


Anúncios Google