27
SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio N. Nishitani 5889578 Lucio Caceres Trazzi 5890100

SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

Embed Size (px)

Citation preview

Page 1: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

SSC-150 Sistemas Computacionais Distribuídos 

Prof. Responsável:  Marcos José SantanaEstagiário: Luis Nakamura

Fernando Soares de Paiva                               5889690    André Toshio N. Nishitani                               5889578Lucio Caceres Trazzi                                        5890100

Page 2: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

Replicação em Sistemas Distribuídos    Vantagens   Modelos de  Consistência

Replicação e Posicionamento de Conteúdo Técnicas de Replicação 

Page 3: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

Diferentes tipos de redundância:

• Redundância Temporal: repetir uma mesma tarefa até que um resultado válido seja obtido.

• Redundância de Valores: replicar um dado armazenado ou enviado pela rede.

• Redundância Espacial: usar várias réplicas de um componente de hardware ou software.

Page 4: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

• Desempenho

• Disponibilidade 

• Transparência

• Tolerância a falhas

• Balanceamento de cargas

• Consistência   

Page 5: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

• Desempenho  A replicação aumenta o paralelismo, compartilhando a  carga de trabalho entre servidores.

A replicação também pode melhorar os tempos de resposta ao permitir ter processamento concorrente de pedidos por vários servidores simultâneamente.

Page 6: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

• Disponibilidade  Os usuários em geral exigem serviços de alta disponibilidade, e a  replicação garante uma maior disponibilidade, mesmo com a falha de servidores.

Exemplo: Se um servidor fica indisponível durante 8 horas acada ano (disponibilidade de 0,999), se criarmos 3 réplicasteremos uma parada total de 3,15 segundos em um século(disponibilidade de 1-0,001³= 0,999999999)

Page 7: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

• Transparência  

o Cliente não percebe a existência de replicações. 

o Cliente espera receber um único valor de resposta, independente da quantidade e da organização das replicas.

 o Front End: Comunica-se com os servidores de réplicas

e clientes, tornando o processo transparente ao cliente.

Page 8: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

• Tolerância a Falhas Evita a utilização de arquivos desatualizados e/ou danificados, pois o sistema possui várias cópias do mesmo arquivo.

No caso de uma sabotagem, a própria redundância do sistema é uma proteção, pois sabotar um servidor não será suficiente.

Page 9: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

• Balanceamento de cargas   Proporciona um melhor tempo de resposta.

Diminuiu as chances de se ter um servidor sobrecarregado com várias requisições.

Page 10: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

 Consistência • As operações realizadas sobre as réplicas dos dados

devem produzir resultados semelhantes. 

• Utiliza-se modelos de consistência para especificar o resultado das operações que são suportadas.

Page 11: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

 Consistência • Usuários devem seguir regras determinadas pelo modelo

para manter a consistência do sistema

• Visão de Dadoso Objetivo de fornecer cópias idênticas para todos os

cliente • Visão do Cliente

o Cada cliente vê as cópias como vistas por ele pela última vez

Page 12: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

• Consistência Estritao Qualquer leitura de qualquer replica retorna o valor da

escrita mais recente no dado. 

• Consistência Causalo P1 escreve X, P2 lê X e escreve Y. A leitura de X e

escrita de Y potencialmente relacionadas.o Escritas potencialmente relacionadas devem ser

realizadas na mesma ordem.

Page 13: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

• Consistência Linear o As operações realizadas sobre um dado devem ser

vistas nas réplicas na mesma ordem respeitando a linha de tempo.

 • Consistência Sequêncial

o As operações realizadas sobre um dado devem ser vistas nas réplicas na mesma ordem. 

o Não precisa respeitar a linha de tempo.

• Consistência FIFOo Escritas realizadas por um mesmo processo devem ser

vistas na mesma ordem,porém escritas de processos diferentes podem ser vistas em ordem diferentes.

Page 14: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

• Consistência Fracao Utiliza variável de sincronização.o Nenhum acesso à variável de sincronização é

permitido até que todas as escritas terminem.o Nenhum acesso aos dados é permitido até que todos

acessos à variável de sincronização tenha terminado. • Consistência Liberal 

o Operações "release" e "acquire"o Antes de escrita ou leitura na região compartilhada é

realizada uma operação "acquire" e depois da realização do processo é realizada a operação de "release"

Page 15: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

• Consistência de Entradao Utiliza também as operações "release" e "acquire"o Cada região compartilhada é associada a uma variável

de sincronização• Consistência Eventual

o Garante que o mesmo cliente verá sempre dados consistentes 

•  Leitura Monotônicao Realizada uma leitura, leituras subsequentes receberão o

mesmo valor ou um valor mais atual• Gravação Monotônica

o A escrita é completada antes que se possa realizar outra

Page 16: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

• Leitura da Própria Escritao Leitura realizadas depois da própria escrita deve obter o

mesmo resultado da escrita.o Atualização de senha

  • Escrita Após Leitura

o Antes de ser escrito, o dado é atualizado para o valor mais recente.

Page 17: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

• Estáticao Os arquivos não são atualizados nem sofrem

modificações.o A implementação é simples.

• Dinâmicao Os arquivos sofrem modificações com o decorrer do

tempo.

Page 18: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

  Três tipos diferentes de réplicas organizadaslogicamente

    – Réplicas permanentes    – Réplicas iniciadas por servidor    – Réplicas iniciadas por cliente

Page 19: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio
Page 20: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

•  Conjunto inicial de réplicas que constituem um depósito de dados distribuído

 • Número de réplicas permanentes é pequeno

 

• Exemplo: Site Web    – Arquivos são replicados para um número limitado de servidores que estão em uma única localização

    – Espelhamento: site Web é copiado para um número limitado de servidores, sites espelhados, que estão geograficamente espalhados pela Internet.

Page 21: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

•  Cópias de um depósito de dados que existem para aprimorar desempenho e que são criadas por iniciativa do (proprietário do) depósito de dados 

 

• Exemplo:o Considere um servidor em SP. Pode acontecer uma

rajada de requisições que vêm de uma localização inesperada,longe do servidor. Neste caso, talvez valha a pena instalar uma quantidade de réplicas TEMPORÁRIAS nas regiões de onde estão vindo as requisições

Page 22: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

•São mais conhecidas como caches de cliente, pode estar no próprio cliente ou em alguma outra máquina da mesma rede•Recurso de armazenamento temporário e local

 •Gerenciamento cabe inteiramente ao cliente

 •Aumento de desempenho em operações envolvendo muita leitura 

•Exemplo: Páginas Web armazenadas em cache podem ser

acessadas imediatamente pelo browser, caso o cliente deseje uma versão mais atual da página ele deve requisitá-la novamente.

Page 23: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

 Principais técnicas:

• Replicação Passiva (Primário-Backup)

• Replicação Ativa

• Replicação Semi-Ativa (Líder-Seguidores)

Page 24: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

• São criados um ou mais backups de um componente     (primário) com o objetivo de substituí-lo em caso de falha

• Funcionamento com propagação de estado instantânea:o Primário recebe requisições, as executa, atualiza o

estado dos backups e retorna o resultado ao cliente

Page 25: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

• Um grupo de réplicas de um componente recebe uma     requisição de um cliente• Todas as réplicas processam a requisição

concorrentemente e enviam as suas respostas ao cliente• Não é preciso sincronizar o estado das réplicas, pois todas

executam os mesmos procedimentos

Page 26: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

• Um componente (líder) possui uma ou mais réplicas     (seguidores)• Cada requisição é enviada a todos, que as executam na

ordem defidenida pelo líder• Apenas o líder responde ao cliente que efetuou a requisição• Não é preciso sincronizar o estado das réplicas, pois todas

     executam os mesmos procedimentos

Page 27: SSC-150 Sistemas Computacionais Distribuídos Prof. Responsável: Marcos José Santana Estagiário: Luis Nakamura Fernando Soares de Paiva 5889690 André Toshio

http://asc.di.fct.unl.pt/sd2c/teoricas/1011_06_Replication.pdf

http://www.tlc-networks.polito.it/anapaula/Aula_Cap07a.pdf

[Couloris et al., 2005] Couloris, G. F., Dollimore, J., and Kindberg, T. (2005).Distributed Systems: concepts and design. Pearson Education.

http://www.inf.ufsc.br/~bertoni/sistemas/aulas/TF.pdf

http://www.4shared.com/get/g-97akvE/coulouris.html APRESENTAÇÕES PÓShttp://lasdpc.icmc.usp.br/disciplinas/graduacao/sistemas-distribuidos/2000/replica.rar/view

http://www-usr.inf.ufsm.br/~ceretta/elc1018/modelos%20de%20consistencia.pdf

http://lrodrigo.lncc.br/images/8/8f/Sistema_Distribuido_replicacao.pdf