cap15-replicacao
-
Upload
camila-dias -
Category
Documents
-
view
11 -
download
2
Transcript of cap15-replicacao
-
Replicao
-
Sumrio
Introduo Modelo de Sistema e Comunicao em
Grupo
Servios Tolerantes a Falhas
-
Definio
Replicao a manuteno de rplicas de recursos em vrios pontos da rede.
uma estratgia amplamente utilizada em aplicaes distribudas.
Exemplos: proxy web (cache de navegadores web) cache DNS Servidores redundantes
-
Motivao
O uso de replicao pode: melhorar o desempenho de um servio, aumentar seu grau de disponibilidade aumentar seu grau de tolerncia a falhas.
-
Melhoria de Desempenho
Reduo do tempo de resposta rplicas mais prximas permitem evitar a
latncia de acesso aos dados originais.
Balanceamento da carga de trabalho distribuio da demanda entre vrias rplicas de
um recurso ou servio
-
Limitao
A replicao de dados imutveis mais simples
ela aumenta o desempenho com pouco custo para o sistema
A replicao de dados mutveis (dinmicos) mais complexa
acarreta sobrecarga nos protocolos para garantir consistncia das rplicas
-
Maior Disponibilidade
A replicao dos recursos aumenta a porcentagem do tempo durante o qual o servio est disponvel
Considere n servidores que falham (independentemente) com probabilidade p, ento a disponibilidade de 1 - pn
-
Tolerncia a falhas
O uso de rplicas permite que o sistema funcione corretamente mesmo diante da ocorrncia de um certo nmero de falhas.
-
Requisitos (de Replicao)
Transparncia Os clientes no devem saber que existem vrias
cpias do objeto de interesse
Consistncia Quando clientes diferentes executam uma
determinada operao sobre diferentes rplicas de um mesmo objeto, o resultado deve ser o mesmo.
-
Sumrio
Introduo Modelo de Sistema e Comunicao em
Grupo
Servios Tolerantes a Falhas
-
Notao
Os dados em um sistema consistem em um conjunto de itens denominados objetos.
Cada objeto (lgico) pode existir como um conjunto de cpias fsicas (instncias) denominadas rplicas.
Em um determinado instante do tempo, as rplicas de um determinado objeto podem no ser idnticas.
-
Modelo de Sistema
Um modelo de arqiutetura bsico para o gerenciamento de objetos replicados.
FE!
Requests and!replies!
C!
Replica!C!
Service!Clients! Front ends!
managers!
RM!
RM!FE!
RM!
-
Gerenciadores de Rplicas
So componentes que contm as rplicas e executam operaes (diretamente) sobre elas.
Exige-se que um gerenciador execute operaes em sua rplica de forma atmica e recupervel
para que seja possvel garantir consistncia
-
Requisies
Tipos de requisies: requisies somente de leitura requisies de atualizao
As requisies so tratadas por um componente denominado Front End
comunica-se com os gerenciadores para efetuar as operaes invocadas pelos clientes
torna a replicao transparente
-
Processamento de uma Requisio
1. Requisio: A partir da invocao de um cliente, o Front End emite a requisio para os gerenciadores
por multicast ou para um gerenciador especfico que se comunicar com os outros
2. Coordenao: Os gerenciadores de rplicas se coordenam, preparando-se para executar a requisio de forma consistente
ordem das requisies
-
Processamento de uma Requisio
3. Execuo: Os gerenciadores executam a operao (de forma recupervel)
4. Acordo: Os gerenciadores chegam a um consenso sobre os efeitos da operao e ela efetivada (ou cancelada)
5. Resposta: Os gerenciadores enviam uma resposta ao Front End, que por sua vez responde ao cliente correspondente.
-
Comunicao em Grupo
Comunicao multicast uma tcnica til no gerenciamento de dados replicados
uma mensagem enviada pra um grupo de processos.
Na prtica, os sistemas distribudos exibem participao dinmica de membros no grupo.
requer servio de participao de membros
-
Funcionalidades de um Servio de Participao
1. Fornecer uma interface para alteraes na participao dos membros do grupo
criar ou excluir grupos; adiconar ou remover um processo de um grupo.
2. Implementar detectores de falhas
permite identificar membros do grupo que falharam ou tornaram-se inacessveis.
-
Funcionalidades de um Servio de Participao
3. Notificar os membros sobre alteraes nos grupos
4. Realizar a expanso de endereo de grupo
para enviar uma mensagem multicast, o remetente informa o identificador do grupo
a partir deste identificador, o servio precisa determinar os destinos para envio da mensagem (listar os membros do grupo)
-
Comunicao em Grupo
Entra!
Expanso do Endereo de grupo!
Multicast!communication! Falha! Gerenciamento de Participao dos
membros!
Sai!
Grupo de Processos!
-
Modos de Visualizao de Grupo
Um servio de participao de membros mantm modos de visualizao
listas dos membros correntes do grupo (identificados por seus identificadores de processo exclusivos)
Um novo modo de visualizao gerado quando processos so adicionados ou excludos do grupo
-
Modos de Visualizao de Grupo
Para cada grupo g, o servio de gerenciamento de grupo envia, para cada processo membro, uma srie de modos de vizualizao.
Exemplo v0(g) = {}; v1(g) = {p1}; v2(g) = {p1, p2}; v3(g) = {p2};
-
Grupos de Objetos
Estratgia orientada a objetos para gerncia de grupos.
Um grupo de objetos um conjunto de instncias de um mesmo objeto
processam o mesmo conjunto de invocaes de forma concorrente (cada um retorna sua resposta)
-
Grupos de Objetos
Os clientes no sabem da replicao. Eles invocam operaes sobre um objeto local
que atua como proxy para o grupo
O proxy usa comunicao em grupo para enviar as invocaes para os membros do grupo de objetos
-
Sumrio
Introduo Modelo de Sistema e Comunicao em
Grupo
Servios Tolerantes a Falhas
-
Objetivo
Fornecer um servio correto (a despeito da ocorrncia de falhas de processos) atravs da replicao de dados
Suposies: podem ocorrer at f falhas a comunicao confivel no ocorre particionamento da rede
-
Definio Informal
Um servio baseado em replicao correto se
ele continua respondendo a despeito de falhas os clientes no conseguem perceber a diferena
entre o servio baseado em replicao e um servio sem replicao.
-
Exemplo de Anomalia
Tempo Cliente 1 Cliente 2
1 setBalance(x, 100)
2 setBalance(y, 200)
3 getBalance(y) 200
4 getBalance(x) 0
-
Definio Formal
Condies de correo para sistemas baseados em replicao:
capacidade de linearizao (mais rigorosa) consistncia seqencial (menos rigorosa)
-
Capacidade de Linearizao
Um servio baseado em replicao pode ser linearizado se, para qualquer execuo, existe alguma interposio da srie de operaes executadas por todos os clientes tal que:
a seqncia satisfaz a especificao de uma nica cpia correta dos objetos
a ordem das operaes consistente com o tempo real em que elas ocorreram
-
Consistncia Seqencial
Um servio baseado em replicao tem consistncia seqencial se, para qualquer execuo, existe alguma interposio da srie de operaes executadas por todos os clientes tal que:
a seqncia satisfaz a especificao de uma nica cpia correta dos objetos
a ordem das operaes consistente com a ordem no qual cada cliente as executou
-
Todo servio que pode ser linearizado tambm tem consistncia seqencial.
-
Estratgias
Replicao Passiva os clientes se comunicam com rplicas distintas
Replicao Ativa os clientes se comunicam com todas as rplicas
por multicast
-
Rplicao Passiva
No modelo de replicao passiva existe um gerenciador primrio e um ou mais gerenciadores secundrios (backups)
O gerenciador de rplica primrio executa as operaes e atualiza os backups
pode ser utilizada comunicao em grupo com modo de visualizao sncrono
-
Rplicao Passiva
FE!C!
FE!C!
RM!Primary!
Backup!
Backup!RM!
RM!
-
Processamento de Requisio
1. Requisio: O front end repassa a requisio (contendo um identificador exclusivo) para o gerenciador primrio.
2. Coordenao: O gerenciador primrio avalia cada requisio (atomicamente) na ordem em que elas foram recebidas
3. Execuo: O gerenciador primrio executa a operao.
-
Processamento de Requisio
4. Acordo: Se a operao de atualizao, o gerenciador primrio envia o estado atualizado e o identificador para todos os secundrios (que respondem com uma confirmao)
5. Resposta: O gerenciador primrio responde ao fronte end (que encaminha a resposta ao cliente)
-
Replicao Passiva
Se o gerenciador primrio falhar, um dos secundrios ser promovido
Como escolher exatamente um substituto? Os demais gerenciadores secundrios
devem concordar a respeito das operaes que tinham sido executadas
-
Replicao Passiva
Para sobreviver a at f falhas, um sistema com replicao passiva exige f+1 gerenciadores de rplicas
no tolera falhas bizantinas Os gerenciadores secundrios registram
cegamente o estado determinado apenas pelas aes do gerenciador primrio.
-
Desvantagem
A replicao passiva tem a desvantagem de acarretar sobrecarga relativamente alta
latncia para substituio do gerenciador primrio
sobrecarga com comunicao multicast para comunicar os modos de visualizao e atualizar os backups
-
Estratgias
Replicao Passiva os clientes se comunicam com rplicas distintas
Replicao Ativa os clientes se comunicam com todas as rplicas
por multicast
-
Replicao Ativa
Os gerenciadores so organizados em grupo e desempenham papis equivalentes
O front end envia uma requisio para todos os gerenciadores do grupo por multicast
cada gerenciador executa a operao de forma independente
se um deles falhar, os outros podem responder normalmente
-
Replicao Ativa
FE! C!FE!C! RM!
RM!
RM!
-
Processamento de Requisio
1. Requisio: O front end repassa a requisio (contendo um identificador exclusivo) para um grupo de gerenciadores usando multicast confivel e totalmente ordenado.
2. Coordenao: O servio de comunicao em grupo envia a requisio para cada gerenciador na mesma ordem.
-
Processamento de Requisio
3. Execuo: Todos os gerenciadores executam a requisio (de forma idntica); eles so mquinas de estado.
4. Acordo: desnecessrio (devido ao uso de multicast confivel)
5. Resposta: Cada gerenciador envia sua resposta ao front end.
-
Falhas
Se o objetivo for tolerar apenas falhas por colapso, basta o front end repassar ao cliente a primeira resposta que chegar de algum gerenciador
Este modelo pode tolerar falhas bizantinas, pois o front end capaz de reunir e comparar as respostas de vrios gerenciadores
-
Replicao Ativa
Este modelo obtm consistncia seqencial mas no tem capacidade de linearizao
Um sistema de replicao ativa pode mascarar at f falhas bizantinas, desde que o servio incorpore pelo menos 2f+1 gerenciadores de rplicas
espera reunir f+1 respostas idnticas necessrio autenticar os gerenciadores
-
Replicao Ativa
Para no sobrecarregar o sistema: operaes comutativas podem ser executadas
fora de ordem
requisies somente de leitura podem ser enviadas pelos front ends para gerenciadores individuais (com retransmisso em caso de falhas).