distributed hash tables danielle santos da silva marcelo borghetti soares tiago alves macambira

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

Upload: gabriela-caiado-lisboa

Post on 07-Apr-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

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