1 / 28

Distributed Hash Tables

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. Introdução.

deiondre
Download Presentation

Distributed Hash Tables

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 .www .dcc 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 • Tabelas Hash: • Mapeiam chaves em valores (dados) chave valor Espírito Santo Vitória 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 • 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 • 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 0 • 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 • 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 ) 0 1 2 4 8 16 f[i] = m + 2(i – 1)

  15. O sucessor 0 • Nó sucessor (k) • Responsável porarmazenar a chave K • Proximo nó nosentido horário 1 7 Sucessor(1)=1 6 Sucessor(6)=0 2 Sucessor(2)=3 5 3 4

  16. Finger Table e sucessor • Valores armazenadosna Finger Table respeitam sucessor

  17. Localizando um dado (cont) • Busca por k consiste em achar o sucessor(k) • Procura inicia naFinger-table 0 Finger Table 1 2

  18. Localizando um dado (cont) 0 • Se o nó não tem informações suficientes • Recorre ao nó n’ mais próximo de k que o preceda • n’ possuiinformações mais localizadassobre k • n’ continua abusca … Finger Table nó 0 8 Finger Table nó 8 15 16

  19. Localizando um dado (cont) • No máximoO( 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 numespaço cartesianod-dimencional • Nó responsável por umaárea • Pesquisa repassada paravizinho mais próximogeometricamente 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 vizinhocom maior prefixo • Custos: • Busca:O( log N ) • Manutenção/EstadoO( log N ) 01001001

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

  24. Referências • Gerais • 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 • http://www.pdos.lcs.mit.edu/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. 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

More Related