Distributed Hash Tables

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

A study of the performance Potential of DHT-based Overlays
Binding Amarração de endereços de Protocolos
Algoritmos distribuídos para ambientes virtuais de larga escala
Sistemas distribuídos
Sistemas Distribuídos:Definições e Caracteristicas
Proposta de Projeto de Pesquisa Edmar P. Araújo Neto.
Sistemas Distribuídos
Profa. Ana Cristina Benso da Silva Disciplina: Redes de Computadores
Roteamento Parte #1 Profa. Ana Cristina Benso da Silva Disciplina: Redes de Computadores.
Hash Extensivel Rápido acesso a dados com um custo mínimo de processamento (overhead cost).
Peer to Peer Referência:
ArcToolbox Carlos Ruberto Fragoso Júnior www. ctec. ufal
Introdução Redes LAN - abrangência: edifícios e campos.
Pesquisa em Memória Primária
Pesquisa em Memória Primária
APLICAÇÕES PEER-TO-PEER
Apresentado por Walfredo Cirne
Web Caching with Consistent Hashing. Problemas com a Web Redes congestionadas Servidores atolados.
Árvores Binárias de Pesquisa (ABP)
CAP-223 Árvore através de uma Árvore Binária A BCDE FGHIJK A BC D E FGHIJK.
SISTEMAS DISTRIBUÍDOS Princípios e Paradigmas 2ª Edição ANDREW S
Sistemas Distribuídos
Arquivos Invertidos André Ferreira da Silva Jimy Marques Madeiro
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Aula prática 12 Listas Encadeadas
Kraemer CCNA 1 – Roteamento e Sub-redes. Kraemer Roteamento e Sub-redes Introdução Protocolo roteado Visão geral de roteamento Endereçamento de sub-redes.
Aprendizado Baseado em Instâncias – Algoritmo k-NN
Tapestry Henrique Denes Hilgenberg Fernandes. Agenda Introdução Estado da arte A API DOLR Malha de roteamento – Da perspectiva de um único nó – Caminho.
Busca Rápida Baseada em Similaridade para Redes Par-a-Par Fast Similarity Search in Peer-to-Peer Networks NOMS 2008 Autores: Thomas Bocek Ela Hunt David.
Pedro Savarese Guilherme Nóbrega Felipe Carregosa
Aplicações peer-to-peer
MapReduce Conceitos e Aplicações
Streaming de vídeo em Redes P2P
Algoritmos e Estrutura de Dados III
Mineração da Web Recuperação de Informação
Árvores Balanceadas Liliane Rose Benning Salgado.
Sistemas Distribuídos
Nomeação Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos.
T RAFFIC C ONTROL THROUGH B ILATERAL C OOPERATION BETWEEN N ETWORK O PERATORS AND P EERS IN P2P N ETWORKS Controle de tráfego por meio de Cooperação Bilateral.
Sistemas Operacionais
Equipamentos de Rede - Roteamento
ICORI Instalação e configuração de computadores em redes locais e Internet Pedro Amaro –
Módulo 3 Implantação do IPv6.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Protocolos de Roteamento Vetor de Distância Protocolos e Conceitos.
1 Efficient Phrase Querying with an Auxiliary Index (SIGIR) 2002 Trabalho realizado por: Trabalho realizado por: João Casteleiro Alves João Casteleiro.
Nomeação.
Roteamento Baseado em Crédito/Punição Rafael dos Santos Alves.
Difusão de Informação em Meio Sem-fio (2)  Índice exponencial;  Índice baseado em localização;  Programação de broadcast de dados por demanda;  Sistema.
B ACKUP DISTRIBUÍDO Tecnologias envolvidas. A GENDA DHT – Distributed Hash Tables Segmentação de arquivos Segurança e compartilhamento de blocos Verificar.
Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 1 CMP157 – Programação.
ZigBee Tiago Souza Azevedo CPE Roteamento em Redes de Computadores
Infra-Estrutura de Software
Um Sistema Peer-to- Peer para Armazenamento Distribuído de Arquivos Daniel Mauricio Sthor Lauro Luis Costa Lucas Nascimento Ferreira Departamento de Informática.
Tipos de Rotas Disciplina de Redes de Computadores II
Sumário 1 SQL Embutida 2 Processamento de Consultas
Measurement, Modeling and Analysis of a Peer-to-Peer File- Sharing Workload Gummadi et al – SOSP´03 Tiago Alves Macambira.
Redes de transporte Uma rede ou grafo consiste num número finito de pontos chamados nós ou vértices interligados por arcos. Muitos sistemas, físicos ou.
Análise do Impacto do uso de Proxy-Caches em redes P2P Aluno: Tiago Alves Macambira Orientador: Dorgival Olavo Guedes Neto.
Multilayer Failure Detection Method for Network Services Based on Distributed Components Eisuke Hirota, Kazuhiko Kinoshita, Hideki Tode, Koso Murakami,
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.
Redes P2P: CHORD Nuno Manuel Ferreira Gonçalves Universidade Federal do Paraná.
Sistemas Distribuídos
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 1 Tópicos  Introdução  Um exemplo  Características da abordagem de banco de dados  Vantagens.
COMUNICAÇÃO ENTRE OS MÓDULOS PROCESSADORES
Sistema de Arquivos Distribuídos (SAD)- Características Serviços de nomes e diretórios Prof. Dr. Norian Marranghello Grupo 13 Guilherme Eberhart Jorge.
Redes de Computadores e Aplicações – Camada de Rede Protocolos de Roteamento IGOR ALVES.
Sistemas Distribuídos
INE5408 Estruturas de Dados Árvores B - Estrutura e peculiaridades -Algoritmos de inserção, pesquisa e deleção.
Transcrição da apresentação:

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

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

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

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.

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

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

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

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

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.

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

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

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)

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

Finger Table e sucessor Valores armazenados na Finger Table respeitam sucessor

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

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

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

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

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)

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 01001001

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

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

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

FIM Dúvidas?!

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... http://citeseer.nj.nec.com/cache/papers/cs/25855/http:zSzzSzwww.cs.rice.eduzSzConferenc eszSzIPTPS02zSz174.pdf/ratnasamy02routing.pdf