tipos e arquiteturas - std29006 engenharia de...

Post on 11-Jul-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Tipos e arquiteturasSTD29006 – Engenharia de Telecomunicações

Prof. Emerson Ribeiro de Mello

http://docente.ifsc.edu.br/mello/std

30 DE MARÇO DE 2020

Tipos de Sistemas Distribuídos

Sistemas de computação distribuídos

Cluster: agrupamento de máquinas

Aglomerado de computadores semelhantesMesmo sistema operacional e conectados através de uma rede local

O administrador é dono de todo do cluster

Usado para processamento paralelo – no primário distribui tarefaspara os demais nós

Ex: cluster Beowulf criado pela NASA em 1994

1/37

Cluster: agrupamento de máquinas

Summit - EUA - O mais rápido atualmente – 148.6 PFlop/s2.414.592 núcleos

2/37

Cluster: agrupamento de máquinas

Sunway TaihuLight - China - O mais rápido em 2017 – 93 PFlop/s10.649.600 núcleos, memória: 1.310.720 GB

2/37

Cluster: agrupamento de máquinas

Tupã - Brasil - Em 2010 ficou na posição 29/500 – 258TFlop/sR$ 23 milhões e é 2.580 mais rápido que um core i7

2/37

Cluster: agrupamento de máquinas

Santos Dumont - Brasil - 1,1 PFlop/s18.144 núcleos, 756 nós computacionais

http://sdumont.lncc.br

2/37

Cluster: agrupamento de máquinas

Cluster Beowulf - simples, porém acessível

2/37

Cluster: agrupamento de máquinas

Cluster com Playstation3Em 2010 a força aérea americana fez um com 1.760 PS3, obtendo

500TFlop/s – posição 33/500

2/37

Cluster: agrupamento de máquinas

Cluster com 32 raspberry PI Linux

2/37

Cluster: agrupamento de máquinas

2/37

Cluster: agrupamento de máquinas

2/37

Cluster: agrupamento de máquinas

2/37

Grades computacionais ou Grid

GridAmbientes heterogêneos: cada nó pode ter um hardware, S.O., rede,domínio administrativo e políticas de segurança diferentes

Middleware é responsável por prover abstração para estaheterogeneidade

Grids geralmente são usadas para constituir Organizações VirtuaisDiversas instituições colaboram com seus recursos (cluster,armazenamento, etc.)

Políticas de uso determinam quanto tempo cada organização poderáusar a grid

3/37

Cloud Computing ou Computação em Nuvem

Permite que recursoscomputacionais possam serprovidos de maneira rápida ecom mínimo esforço degerenciamento por parte doprovedor de serviço

Permite adicionar ou removerrecursos de acordo com ademanda

Similar as redes de energia ede telefonia

4/37

Cloud Computing ou Computação em Nuvem

Ofere como serviço aplicações, bem como softwares e hardwaresque hospedam estas aplicações

A “nuvem” é conjunto de hardware e software no datacenter

Modelo de implantaçãoNuvem privada

Toda a nuvem a construída dentro dos limites de uma instituição e évoltada exclusivamente para seus usuários

Ex: Nuvem USP – http://goo.gl/bK24Xr

Nuvem públicaOferece os serviços e a tarifação é feita de acordo com o uso

A nuvem armazena dados de diferentes clientes

Ex: Amazon EC2 – http://goo.gl/iGKA8K

5/37

Cloud Computing ou Computação em Nuvem

6/37

Cloud Computing ou Computação em Nuvem

6/37

Cloud Computing ou Computação em Nuvem

6/37

Cloud Computing ou Computação em Nuvem

6/37

Cloud Computing ou Computação em Nuvem

6/37

Sistemas distribuídos ubíquos – IoT

7/37

Sistemas distribuídos ubíquos – IoT

7/37

Fog computing – computação em névoa

Nuvem

8/37

Fog computing – computação em névoa

Névoa

8/37

Fog computing – computação em névoa

8/37

Fog computing – computação em névoa

8/37

Fog computing – computação em névoa

Poder do processamentomais perto do limite daborda da rede

Dados, computação,medição são distribuídos ecolocados nos locais maisadequados e eficientes

Redução da quantidade dedados transmitidos

8/37

Sistemas de informação distribuídos

Processamento de Transações

Sistema do hotel indisponível, ou o hotel não tem mais vaga (acessoconcorrente de diversos clientes)

9/37

Processamento de Transações

Sistema do hotel indisponível, ou o hotel não tem mais vaga (acessoconcorrente de diversos clientes)

9/37

Processamento de Transações

Sistema do hotel indisponível, ou o hotel não tem mais vaga (acessoconcorrente de diversos clientes)

9/37

Processamento de Transações

Sistema do hotel indisponível, ou o hotel não tem mais vaga (acessoconcorrente de diversos clientes)

9/37

Processamento de Transações

Transações tem por objetivo garantir a integridade de recursosRecurso acessado por diversos processos de forma concorrente

Processo realizando operações sobre um ou mais recursos

Modo de operação das transações1 Indicar início da transação

2 Realizar operações sobre os recursos

3 Indicar o término da transaçãocommit – tenta salvar as alterações

abort – ignora as alterações e volta para os valores originais

Ou todas as operações na transação são executadas ou nenhuma delasserá executada

10/37

Características das Transações

AtômicaPara um observador externo, a transação é indivisível

É executada em sua totalidade ou não executa

ConsistenteToda transição leva o sistema de um estado válido para um outroestado válido

IsoladaTransações concorrentes não geram interferência entre si

DuráveisUma vez que a transação foi concluída com sucesso (commit), entãoas modificações feitas por ela são permanentes

11/37

Sistemas distribuídos ubíquos

Formado por dispositivos móveis pequenos, alimentados por bateriae com conexão sem fio

Ex: Laptop, tablet, celular, dispositivos de automação residencial oupara saúde, rede de sensores sem fio

Requisitos para sistemas ubíquosReagir a mudanças do contexto

O dispositivo deve estar continuamente ciente das mudanças noambiente

Encorajar composições ad hocDeve ser fácil cooperar com outros dispositivos

Compartilhamento de recursos é algo implícitoProver facilidades para compartilhar informações

12/37

Arquiteturas paraSistemas Distribuídos

Arquiteturas para Sistemas DistribuídosOrganização dos Sistemas Distribuídos

Estilos de arquitetura – formas de projetar o software do SDCamadas

Objetos

Eventos

Espaço de dados compartilhados

Arquitetura de sistema – organização do SD em máquinas reaisCentralizados

Descentralizados

Híbridos

13/37

Arquitetura de softwareEstilos de arquitetura

Estilos são definidos por componentes de software (processos) e comoestes se conectam uns aos outros

Baseada emcamadasBaseada em objetosBaseada em eventosEspaço de dadoscompartilhados

14/37

Arquitetura de softwareEstilos de arquitetura

Estilos são definidos por componentes de software (processos) e comoestes se conectam uns aos outros

Baseada emcamadasBaseada em objetosBaseada em eventosEspaço de dadoscompartilhados

Databasewith Web pages

Querygenerator

Rankingcomponent

HTMLgenerator

User interface

Keyword expression

Database queries

Web page titleswith meta-information

Ranked listof page titles

HTML pagecontaining list

Processinglevel

User-interfacelevel

Data level

Processos das camadas superiores invocamprocessos das camadas inferioresSemelhante à pilha TCP/IP

14/37

Arquitetura de softwareEstilos de arquitetura

Estilos são definidos por componentes de software (processos) e comoestes se conectam uns aos outros

Baseada emcamadasBaseada em objetosBaseada em eventosEspaço de dadoscompartilhados

Cada objeto contém um estado e écapaz de realizar operações que podemser invocadas por outros objetosO objeto seria um componente desoftwareOs conectores entre os objetos podemser representadas por chamadas deprocedimento remoto (RPC)

14/37

Arquitetura de softwareEstilos de arquitetura

Estilos são definidos por componentes de software (processos) e comoestes se conectam uns aos outros

Baseada emcamadasBaseada em objetosBaseada em eventosEspaço de dadoscompartilhados

Comunicação entre os processos é feitaatravés de eventos, que podem ou nãoconter dadosO barramento de eventos (middleware) éo responsável pelo transporteEx: Sistema publish/subscribe

Processos registram o interesse emdeterminados eventos (subscribe)Processos publicam eventosMiddleware notifica somente osprocessos que assinaram aqueleevento

14/37

Arquitetura de softwareEstilos de arquitetura

Estilos são definidos por componentes de software (processos) e comoestes se conectam uns aos outros

Baseada emcamadasBaseada em objetosBaseada em eventosEspaço de dadoscompartilhados

desacoplamento espacial – um processonão precisa referenciar diretamente um outro

14/37

Arquitetura de softwareEstilos de arquitetura

Estilos são definidos por componentes de software (processos) e comoestes se conectam uns aos outros

Baseada emcamadasBaseada em objetosBaseada em eventosEspaço de dadoscompartilhados

Semelhante ao baseado em eventos,porém os dados persistem nomiddlewareAcontece também o desacoplamentotemporal

Dados persistem, mesmo se osprocessos não estiverem mais ativos

14/37

Arquitetura Centralizada – modelo cliente-servidor

Aplicação é modelada como um conjunto de serviço que sãoprovidos pelos servidores e um conjunto de clientes que acessamesses serviços

Cliente envia um pedido ao servidor e aguarda por sua resposta

Clientes precisam conhecer os servidores, porém o inverso não éverdade

Em um sistema distribuído, é possível que um servidor também sejacliente de um outro servidor

15/37

Arquitetura Centralizada – modelo cliente-servidor

Problemas com múltiplos clientes e um único servidor

Servidor pode se tornar um gargalo e ponto único de falhas

16/37

Arquitetura Centralizada – modelo cliente-servidor

Solução: Múltiplos servidores

16/37

Arquitetura Centralizada – modelo cliente-servidor

Múltiplas camadas – Servidor torna-se cliente de outro servidor

16/37

Arquitetura de sistemaCentralizada – modelo cliente-servidor

Cliente e servidor executando em máquinas distintas é a organizaçãomais comum

User interface User interface User interface

Application

User interface

Application

User interface

Application

Database

ApplicationApplication Application

Database Database Database Database Database

User interface

(a) (b) (c) (d) (e)

Client machine

Server machine

(a) Cliente como terminal burro – Ex: XorgAo cliente cabe apenas apresentar a interface gráfica

17/37

Arquitetura de sistemaCentralizada – modelo cliente-servidor

Cliente e servidor executando em máquinas distintas é a organizaçãomais comum

User interface User interface User interface

Application

User interface

Application

User interface

Application

Database

ApplicationApplication Application

Database Database Database Database Database

User interface

(a) (b) (c) (d) (e)

Client machine

Server machine

(b) Cliente fica somente com o frontendToda lógica da aplicação fica no servidor

17/37

Arquitetura de sistemaCentralizada – modelo cliente-servidor

Cliente e servidor executando em máquinas distintas é a organizaçãomais comum

User interface User interface User interface

Application

User interface

Application

User interface

Application

Database

ApplicationApplication Application

Database Database Database Database Database

User interface

(a) (b) (c) (d) (e)

Client machine

Server machine

(c) Parte da lógica da aplicação fica no clienteEx: Validações sobre preenchimento de formulários seria feita antesde enviar pela rede

17/37

Arquitetura de sistemaCentralizada – modelo cliente-servidor

Cliente e servidor executando em máquinas distintas é a organizaçãomais comum

User interface User interface User interface

Application

User interface

Application

User interface

Application

Database

ApplicationApplication Application

Database Database Database Database Database

User interface

(a) (b) (c) (d) (e)

Client machine

Server machine

(d) Toda a aplicação fica no cliente e esta invoca o servidor de Banco deDados

Organização bem comum em sistemas de gestão comercial, etc.

17/37

Arquitetura de sistemaCentralizada – modelo cliente-servidor

Cliente e servidor executando em máquinas distintas é a organizaçãomais comum

User interface User interface User interface

Application

User interface

Application

User interface

Application

Database

ApplicationApplication Application

Database Database Database Database Database

User interface

(a) (b) (c) (d) (e)

Client machine

Server machine

(e) Cliente armazena parte do banco de dadosEx: Cache do navegador web

17/37

Arquitetura de sistemaCentralizada – modelo cliente-servidor

User interface User interface User interface

Application

User interface

Application

User interface

Application

Database

ApplicationApplication Application

Database Database Database Database Database

User interface

(a) (b) (c) (d) (e)

Client machine

Server machine

1 Qual destas seria maisfácil manter?

2 Qual destas está emevidência atualmente?

Clientes leves – thin clientMaior facilidade para manter

Aplicar atualizaçãoPior desempenho

depende da latência da rede

Clientes pesados – fat clientDificuldade para manter

Diferentes versões de S.OConflitos com outrossoftwaresInstalação e atualizaçãodemandam mais tempo

Melhor desempenhoNão depende muito da rede

18/37

Arquitetura de sistemaCentralizada – modelo cliente-servidor

User interface User interface User interface

Application

User interface

Application

User interface

Application

Database

ApplicationApplication Application

Database Database Database Database Database

User interface

(a) (b) (c) (d) (e)

Client machine

Server machine

1 Qual destas seria maisfácil manter?

2 Qual destas está emevidência atualmente?

Clientes leves – thin clientMaior facilidade para manter

Aplicar atualizaçãoPior desempenho

depende da latência da rede

Clientes pesados – fat clientDificuldade para manter

Diferentes versões de S.OConflitos com outrossoftwaresInstalação e atualizaçãodemandam mais tempo

Melhor desempenhoNão depende muito da rede

18/37

Arquitetura Descentralizada – (Peer-to-Peer – P2P)

Motivação

Evitar ponto único de falhasEscalabilidadeAproveitar recursos de todos os nós participantes da rede

CaracterísticasTodo nó na rede possui a mesmafuncionalidade

Pode acessar serviços de outros nós,bem como prover

Nós são autônomos e não confiáveisRede dinâmica

Nós ingressam e saem da rede a todoinstante

19/37

Arquitetura Descentralizada – (Peer-to-Peer – P2P)

Potenciais benefícios

Escala para um grande número de nósOrganização dinâmica diante de ingressos e egressos na redeBalanceamento de cargaProcessamento em paraleloAlta disponibilidade por meio de replicação dos recursos nos nós

Qual topologia seria mais escalável?

Redes P2P são comumenteutilizadas para distribuição deconteúdo

20/37

Arquitetura Descentralizada – (Peer-to-Peer – P2P)

Potenciais benefícios

Escala para um grande número de nósOrganização dinâmica diante de ingressos e egressos na redeBalanceamento de cargaProcessamento em paraleloAlta disponibilidade por meio de replicação dos recursos nos nós

Qual topologia seria mais escalável?

Redes P2P são comumenteutilizadas para distribuição deconteúdo

20/37

Arquitetura Descentralizada – (Peer-to-Peer – P2P)

Aplicações descentralizadas necessitamestabelecer previamente um canal decomunicação

O estabelecimento de canais de comunicaçãoentre os nós de um sistema distribuído,resulta em uma rede sobreposta (overlay)

Rede lógica construída sobre uma rede físicaexistente

2. Redes Overlay: Conceitos e Experiencias 10

2.2 Redes Overlay

Uma rede overlay e uma rede logica construıda sobre uma rede fısica existente. Este nao eexatamente um conceito novo: a propria Internet foi inicialmente implementada sobre a rede publicade telefonia, e ainda hoje boa parte dos seus dados trafegam por circuitos telefonicos.

A figura 2.1 mostra um exemplo de como uma rede overlay se sobrepoe a uma rede fısica. Cadano da rede overlay e tambem um no da rede fısica. Tipicamente, a rede fısica e a propria Internet(geralmente a camada IP), e os nos overlay sao implementados por hosts, nao por roteadores. Umaconexao entre dois nos da rede overlay e chamada de enlace virtual, e corresponde a rota entre osrespectivos nos na rede fısica. Cada no e responsavel por processar e rotear pacotes segundo criteriosespecıficos da rede overlay. As conexoes entre os nos do overlay sao implementadas na rede fısicausando alguma forma de tunelamento (isto e, os pacotes da rede overlay sao encapsulados em pacotesda rede subjacente), e nao necessitam seguir nenhuma topologia predeterminada. Assim como emuma camada de rede tıpica, as funcoes principais de uma rede overlay sao o encaminhamento depacotes, que determina como os nos da rede processam um pacote em transito para que ele chegueao seu destino, e o roteamento, que e o processo atraves do qual o conhecimento sobre as diferentesrotas entre nos da rede e calculado, armazenado e disseminado.

rede física

rede overlay

Figura 2.1: Rede overlay sobreposta a uma rede fısica

Recentemente, um numero crescente de autores passou a defender a ideia de que a Internet estaengessada em razao de seu proprio sucesso: a rede que um dia foi essencialmente academica e porisso afeita a experiencias tornou-se uma infra-estrutura cuja estabilidade hoje e crıtica para um grandenumero de pessoas e organizacoes, e que portanto tornou-se refrataria a experimentacoes fora da ca-mada de aplicacao [Peterson et al., 2002]. Exemplos claros desse fenomeno podem ser vistos na len-tidao na transicao do IPv4 para o IPv6 e na dificuldade de se implementar suporte nativo a IPmulticastnos backbones da rede. As redes overlay oferecem uma solucao para driblar esse engessamento: emvez de propor alteracoes aos protocolos fundamentais da Internet, pesquisadores e desenvolvedorespodem implementar novas funcionalidades em um overlay construıdo sobre a propria Internet.

Outro benefıcio da migracao de funcionalidades para a camada de aplicacao proporcionada pelasredes overlay e que os roteadores podem se ocupar apenas de tarefas basicas, como o encaminhamento

21/37

Arquitetura Descentralizada – Topologias de redes P2P

Não estruturadasExemplos: Napster e Gnutella

Não estruturadas com super-nósExemplos: Kazaa

EstruturadasExemplos: Chord, Tapestry

22/37

Redes P2P não estruturadas – Busca por conteúdo

Arquivos são mantidos emcada nó da redeLista de arquivos são enviadospara o servidor central doNapsterServidor retorna a lista de IPsque possuem o arquivoTransferência de arquivos entre2 clientes

23/37

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood)

24/37

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood)

24/37

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood)

24/37

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood)

24/37

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood)

24/37

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood)

24/37

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood)

24/37

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood)

24/37

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood + tabelacache)

24/37

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood + tabelacache)

24/37

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood + tabelacache)

24/37

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood + tabelacache)

24/37

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood + tabelacache)

24/37

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Protocolosepidêmicossão maiseficientes. Ex:gossip

24/37

Redes P2P não estruturadas com Ultrapeers – Ex: Kazaa

final

initial

Busca por inundação émuito custosa

Supernós concentramíndices de seus vizinhos

Temos aqui duas redes sobrepostas: uma para os supernós e outrapara os nós comuns

Como determinar quem será supernó?

25/37

Redes P2P não estruturadas com Ultrapeers – Ex: Kazaa

query

final

initial

Busca por inundação émuito custosa

Supernós concentramíndices de seus vizinhos

Temos aqui duas redes sobrepostas: uma para os supernós e outrapara os nós comuns

Como determinar quem será supernó?

25/37

Redes P2P não estruturadas com Ultrapeers – Ex: Kazaa

query

final

initial

Busca por inundação émuito custosa

Supernós concentramíndices de seus vizinhos

Temos aqui duas redes sobrepostas: uma para os supernós e outrapara os nós comuns

Como determinar quem será supernó?

25/37

Redes P2P não estruturadas com Ultrapeers – Ex: Kazaa

final

initial

Busca por inundação émuito custosa

Supernós concentramíndices de seus vizinhos

Temos aqui duas redes sobrepostas: uma para os supernós e outrapara os nós comuns

Como determinar quem será supernó?

25/37

Redes P2P não estruturadas com Ultrapeers – Ex: Kazaa

queryHit

final

initial

Busca por inundação émuito custosa

Supernós concentramíndices de seus vizinhos

Temos aqui duas redes sobrepostas: uma para os supernós e outrapara os nós comuns

Como determinar quem será supernó?

25/37

Redes P2P não estruturadas com Ultrapeers – Ex: Kazaa

queryHit

final

initial

Busca por inundação émuito custosa

Supernós concentramíndices de seus vizinhos

Temos aqui duas redes sobrepostas: uma para os supernós e outrapara os nós comuns

Como determinar quem será supernó?

25/37

Tabelas de dispersão (Hash table)

Função hash sobre um valor (V) para encontrar a posição (índice)onde será armazenado

Para buscar: Dado uma chave (K), retornará um valor (V)

1 Map<String, Filme> catalogo = new HashMap<>();

2 Filme objeto = new Filme("Titulo");

3 catalogo.put("film~ao", objeto);

45 Filme res = catalogo.get("film~ao");

26/37

Redes P2P estruturadas – Distributed Hash Table (DHT)

Algoritmo de hash serve para determinar em qual nó (índice) seráarmazenado um valor

Mapeia chaves (K) ⇒ Nós

Apresentam mecanismos que controlam a topologia da rede edistribuem os recursos por nós específicos

Adequado para ambientes de larga escala

Buscam tendem a ser mais eficientes do que nas redes nãoestruturadas

Aplicações que usam DHTTracker distribuído do BitTorrent, eDonkey, Freenet

27/37

Chord – protocolo e algoritmo para P2P DHT

Especifica como as chaves (K) sãoatribuídas aos nós

Como um nó descobrirá o valor (V)para uma dada chave (K)

Cada nó ocupa uma posição no círculoposição= hash(IP) mod n

Figura ao lado mostra uma rede com4 nós (1, 6, 11 e 13)

Sucessor

O sucessor de um identificador é o primeiro nó no sentido horáriocujo ID é igual ou sucede o identificador

Quais os sucessores dos Ids: 12, 1, 4 e 8?

28/37

Chord – protocolo e algoritmo para P2P DHT

Especifica como as chaves (K) sãoatribuídas aos nós

Como um nó descobrirá o valor (V)para uma dada chave (K)

Cada nó ocupa uma posição no círculoposição= hash(IP) mod n

Figura ao lado mostra uma rede com4 nós (1, 6, 11 e 13)

Sucessor

O sucessor de um identificador é o primeiro nó no sentido horáriocujo ID é igual ou sucede o identificador

Quais os sucessores dos Ids: 12, 1, 4 e 8?

28/37

Chord

Cada nó mantém um ponteiro para o seu nó sucessor

O sucessor do nó n é sucessor(n+1)O sucessor de 1 é:

O sucessor de 6 é:

O sucessor de 11 é:

O sucessor de 13 é:

29/37

Chord

Cada nó mantém um ponteiro para o seu nó sucessor

O sucessor do nó n é sucessor(n+1)O sucessor de 1 é: sucessor(2) = 6

O sucessor de 6 é: sucessor(7) = 11

O sucessor de 11 é: sucessor(12) = 13

O sucessor de 13 é: sucessor(14) = 1

29/37

DHT Chord – adicionando dados na rede

Cada nó é responsável por armazenar um subconjunto de todos osíndices (chave,valor)O resultado da função hash sobre um dado irá indicar em qual nóessa informação será armazenada

Exemplo

Chaves no Nó 114, 15, 0 e 1

Chaves no Nó 62, 3, 4, 5 e 6

Chaves no Nó 117, 8, 9, 10 e 11

Chaves no Nó 1312 e 13

30/37

DHT Chord – adicionando dados na rede

31/37

DHT Chord – adicionando dados na rede

31/37

DHT Chord – ingresso de um nó na rede na posição 8

AntesChaves no Nó 1

14, 15, 0 e 1Chaves no Nó 6

2, 3, 4, 5 e 6Chaves no Nó 11

7, 8, 9, 10 e 11Chaves no Nó 13

12 e 13

Depois

Chaves no Nó 114, 15, 0 e 1

Chaves no Nó 62, 3, 4, 5 e 6

Chaves no Nó 87 e 8

Chaves no Nó 119, 10 e 11

Chaves no Nó 1312 e 13

32/37

DHT Chord – ingresso de um nó na rede na posição 8

33/37

DHT Chord – ingresso de um nó na rede na posição 8

33/37

DHT Chord – busca por um recurso na rede

Calcule o hash(K) e envia mensagem de sucessor para sucessor atéatingir o nó sucessor de K

Complexidade da busca O(n) (linear) (pior caso com N nós)

Nó 1 busca por “música”

hash("musica") = 9

Busca percorre os nós 1, 6 e 11

Nó 11 responde para nó 1

34/37

DHT Chord - otimizando buscas com finger table

Cada nó possui Finger table (tabela de roteamento) que contémponteiro para sucessores(n+ 2i−1), onde i = 1 . . . j e sendo j onúmero de linhas na finger table

log2(N) saltos de qualquer nó para qualquer outro nó

Complexidade da busca O(log n)

Exemplo: log2(10.000.000) ' 23

35/37

DHT Chord - otimizando buscas com finger table

Cada nó possui Finger table (tabela de roteamento) que contémponteiro para sucessores(n+ 2i−1), onde i = 1 . . . j e sendo j onúmero de linhas na finger table

log2(N) saltos de qualquer nó para qualquer outro nó

Complexidade da busca O(log n)

Exemplo: log2(10.000.000) ' 23

35/37

Híbrida: Combina centralizada com descentralizada

Nó central mantém um índice sobre os demais nós ativos na rede eos recursos disponibilizados por essesEx: Bittorrent

Arquivos são fracionados em blocos e esses são compartilhadosRequisitante obtém blocos sem ordem específica

Arquivo .torrent contém informações sobre o trackerTracker – servidor que mantém a lista de nós ativos para umdeterminado .torrent

Onde está ponto críticode falha ou gargalo dedesempenho?

R: trackers

36/37

Híbrida: Combina centralizada com descentralizada

Nó central mantém um índice sobre os demais nós ativos na rede eos recursos disponibilizados por essesEx: Bittorrent

Arquivos são fracionados em blocos e esses são compartilhadosRequisitante obtém blocos sem ordem específica

Arquivo .torrent contém informações sobre o trackerTracker – servidor que mantém a lista de nós ativos para umdeterminado .torrent

Onde está ponto críticode falha ou gargalo dedesempenho?

R: trackers

36/37

Híbrida: Combina centralizada com descentralizada

Nó central mantém um índice sobre os demais nós ativos na rede eos recursos disponibilizados por essesEx: Bittorrent

Arquivos são fracionados em blocos e esses são compartilhadosRequisitante obtém blocos sem ordem específica

Arquivo .torrent contém informações sobre o trackerTracker – servidor que mantém a lista de nós ativos para umdeterminado .torrent

Onde está ponto críticode falha ou gargalo dedesempenho?

R: trackers

36/37

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

top related