Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X...

Post on 18-Apr-2015

115 views 1 download

Transcript of Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X...

REPLICAÇÃO DE ARQUIVOS

Andre Luiz Verucci da Cunha

André Márcio de Lima Curvello

Fernando Pasquini Santos

Isabela Rodrigues do Prado Rossales

Luciene Aparecida Goulart

Sumário

Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos

Estática X DinâmicaMétodos de Replicação

Estudo de Caso: CODA

Por que Replicar?

Por que Replicar? Desempenho: A replicação permite elevar

o paralelismo no acesso a determinados recursos. (ex.: servidores proxy)Mas quando há pouca latência no acesso aos

arquivos e/ou pouco paralelismo, não há melhoria.

Balanceamento de Carga: Menores chances de se ter um servidor de arquivos sobrecarregado com requisições.

Por que Replicar?

Maior Disponibilidade: Permite o acesso aos arquivos mesmo quando um servidor falhe ou haja particionamento na rede. Fator indispensável em redes móveis.

Tolerância a falhas: Impede que dados sejam desatualizados, adulterados e/ou danificados.

Exigências e Dificuldades da Replicação

Transparência de Replicação: cada cliente não precisa saber com qual réplica ele está lidando, e acessa os servidores de arquivos replicados como se fossem únicos (arquivos lógicos).

Exigências e Dificuldades da Replicação

Transparência de ReplicaçãoPara isto, geralmente usa-se o conceito de

front-end:

C

C

FE

FE

GR GR

GR

Gerenciadores deRéplica

Clientes Front ends

Serviço

Exigências e Dificuldades da Replicação

Consistência de Dados: As operações realizadas sobre os dados (leitura ou escrita) devem produzir resultados que mantenham a corretude dos mesmos.Exige sincronismo e acordo entre os

servidores replicados

Exigências e Dificuldades da Replicação

Sistema de arquivos onde o acesso a alguns dados é maior do que acesso a outro: ao se replicar todos os arquivos, perde-se desempenho.Precisa-se saber quais arquivos podem ser

replicados e quais não precisam.

Replicação de Arquivos

Replicação EstáticaArquivos nos servidores são fixos; ou seja,

não sofrem modificações/atualizações.Implementação fácil.

Replicação DinâmicaArquivos sofrem modificações dos usuários.São o maior problema!

Mecanismos Básicos de Replicação

Replicação Passiva

C

C

FE

FE

GR GR

GR

Primário Backup

Backup

Mecanismos Básicos de Replicação

Replicação Ativa

C FE

GR

GR

GR

FE C

Mecanismos Básicos de Replicação

Algoritmo de Votação

• Quorum de leitura - Nr;

• Quorum de escrita - Nw.

Nr + Nw > N

Mecanismos Básicos de Replicação

Algoritmo de Votação

Mecanismos Básicos de Replicação

Algoritmo de Votação com Fantasmas

Servidores caídos são tratados como fantasmas;

Gerenciadores fantasmas podem participar de quorums de escrita, mas não de leitura;

Quando o servidor voltar, ele deve montar um quorum de leitura e se atualizar.

Estudo de Caso: CODA

Sistema de Arquivos CodaOrigem: Carnegie-Mellon University, 1987Modificações em relação ao Andrew File

System:○ operação desconectada (computação móvel)○ replicação (otimista)

Estudo de Caso: CODA Arquitetura Coda

Processo Vice: servidoresProcesso Venus: clientes

Estudo de Caso: CODA Arquitetura

CodaVSG: volume

storage groupAVSG: available

volume storage group

Estudo de Caso: CODA

Estratégia de ReplicaçãoCVV: Coda version vectorCada arquivo possui um CVV

representando o número de modificações feitas a um arquivo em cada servidor do VSG○ CVV (F1,S1) = {NS1, ... , NSn}

Identifica Conflitos

Estudo de Caso: CODA Estratégia de Replicação (Exemplo 1)

C1

S1

[1,1,1]

S2

[1,1,1]

VSG

S3

[1,1,1]

C2

Estudo de Caso: CODA Estratégia de Replicação (Exemplo 1)

C1

S1

[2,2,1]

S2

[2,2,1]

VSG

S3

[1,1,3]

C2opencloseopen

close openclose

Estudo de Caso: CODA Estratégia de Replicação (Exemplo 1)

C1

S1

[2,2,1]

S2

[2,2,1]

VSG

S3

[1,1,3]

C2

conflito

Estudo de Caso: CODA Estratégia de Replicação (Exemplo 2)

C1

S1

[1,1,1]

S2

[1,1,1]

VSG

S3

[1,1,1]

C2

Estudo de Caso: CODA Estratégia de Replicação (Exemplo 2)

C1

S1

[2,2,1]

S2

[2,2,1]

VSG

S3

[1,1,1]

C2

openclose

Estudo de Caso: CODA Estratégia de Replicação (Exemplo 2)

C1

S1

[2,2,1]

S2

[2,2,1]

VSG

S3

[1,1,1]

C2

openclose

atualização

Estudo de Caso: CODA Estratégia de Replicação (Exemplo 2)

C1

S1

[2,2,2]

S2

[2,2,2]

VSG

S3

[2,2,2]

C2

Estudo de Caso: CODA Coerência de cache

Callback promise: o servidor garante que notificará ao cliente a ocorrência uma modificação no arquivo

Callback break: mensagem de invalidação do callback

Estudo de Caso: CODA

Coerência de cacheDetecção de alteração do AVSG

○ Aumento: anula todos os callback promises referentes aos arquivos desse servidor

○ Diminuição: caso o servidor preferido esteja indisponível, anula os callback promises dos arquivos desse servidor

Detecção de atualizações perdidas○ Envio de uma mensagem de probe○ Recebe os CVVs dos arquivos

Estudo de Caso: CODA

Desconexão

Dúvidas?

Bibliografia CODA File System, Carnegie Mellon

University. Disponível em <http://www.coda.cs.cmu.edu/> Acesso em: 22 Nov 2010.

TANENBAUM, Andrew S.; STEEN, Maarten van. Distributed Systems: Principles and Paradigms. 2002

COULOURIS, DOLLIMORE E KINDBERG, Sistemas Distribuídos - Conceitos e Projeto, Bookman Editora.,4a. Ed., 2007.