25
Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Embed Size (px)

Citation preview

Page 1: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Protocolos de Recuperação

Márcio Augusto Sekeff Sallem

Page 2: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Sistemas Distribuídos

• Coleção de processos– Meio de comunicação: rede

– Susceptíveis a falhas

• Protocolos de Recuperação de Falhas– Solução

Page 3: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Sistemas Distribuídos

• Aplicações:– Sistemas Cliente-Servidor

– Processamento de Transações

– Computação Científica

– WWW

Page 4: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Protocolos de Recuperação de Falhas

• Objetivo: estado de consistência global– Linha de recuperação

• Checkpoint: informação mínima de recuperação

• Técnicas– Transparentes– Participação do usuário

Page 5: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Protocolos de Recuperação de Falhas

• Problemas– Trocas de mensagens

– Efeito dominó

• Metodologias– Checkpoints

– Logging

Page 6: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Protocolos de Recuperação de Falhas - Modelagem

• Sistema– Número fixo de processos

– Comunicação confiável ou não

– Execução do processo• Seqüência de intervalos de estado

• Estados são determinísticos

• Estados são iniciados por eventos não-determinísticos

– Não admite falhas durante recuperação

Page 7: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Protocolos de Recuperação de Falhas - Modelagem

• Estados Consistentes

• Estados Inconsistentes

po

p1

m

po

p1

m

Page 8: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Protocolos de Recuperação de Falhas - Modelagem

• Mundo exterior– Características dos processos

• Não podem falhar

• Não mantém estados

• Não participam do protocolo de recuperação

• Causa efeitos irreversíveis

– Problemas• Confirmação externa

• “Gagueira”

Page 9: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Protocolos de Recuperação de Falhas - Modelagem

• Encarnações– Evitam recebimento de mensagens duplicadas

• Anexa a mensagem

– Incrementada após recuperação do processo

• Mensagens em trânsito– Consideradas em comunicação confiável

– Comunicação não confiável• Perda de mensagem por falha do processo ou

comunicação?

Page 10: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Protocolos de Recuperação de Falhas - Modelagem

• Determinismo– Protocolos de logging

– Recriar os eventos não-determinísticos• Determinantes dos eventos

• Armazém estável

• Coleta de lixo

Page 11: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Protocolos baseados em Checkpointing

• Conceito de linha de recuperação• Vantagens

– Pouco restritivas– Simples

• Desvantagens– Interações com o mundo externo– Sem garantia de regeneração do estado pré-falha

• Tipos– Sem coordenação– Com coordenação– Induzidos

Page 12: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Checkpointing sem Coordenação

• Funcionamento– Falha no processo– Broadcast com solicitação de dependência– Cálculo da linha de recuperação

• Vantagem– Autonomia para o processo

• Desvantagens– Efeito dominó– Checkpoints desnecessários– Overhead em coletas de lixo– Aplicações com o mundo exterior

Page 13: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Checkpointing Coordenado

• Com bloqueio: em duas fases– Overhead

• Sem bloqueio– Mensagens causam inconsistências– Exemplos

• Marcadores sobrepostos em mensagens c/ Iniciador• Relógios sincronizados• Mínimo checkpoint coordenado

Page 14: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Checkpointing Coordenado

• Vantagens– Estado consistente global

– Simplifica a recuperação

– Evita o efeito dominó

– Redução do overhead

– Sem coleta de lixo

• Desvantagem– Latência: comunicação com o mundo exterior

Page 15: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Checkpointing Induzido por Comunicação

• Checkpoints– Local– Forçado: andamento da linha de recuperação

• Sem coordenação

• Protocolo de coordenação sobreposto em mensagens de controle

Page 16: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Checkpointing Induzido por Comunicação

• Baseados em modelo– Padrões de comunicação e checkpoints

– Prática conservadora: maior número de checkpoints

• Baseados em índice– Marcas de tempo

Page 17: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Protocolos baseados em Logging

• Execução de processo– Seqüência de intervalos de estado determinísticos

– Estado iniciado por evento não-determinístico

• Armazém estável– Determinantes dos eventos não-determinísticos

– Checkpoints

• Não ocorre processos órfãos

Page 18: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Logging Pessimista ou Síncrono

• Assume que falhas podem ocorrer após qualquer evento não-determinístico

• Sincronismo: se um evento não for armazenado no armazém estável, então nenhum processo pode depender dele– Overhead

• Vantagens– Comunicação com o mundo exterior– Limitação da recuperação (checkpoints)

Page 19: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Logging Otimista ou Assíncrono

• Escrita em memória volátil e no armazém estável– Menor overhead

– Não há bloqueios

• Desvantagens– Recuperação mais complexa

– Surgimento temporário de órfãos

Page 20: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Logging Otimista ou Assíncrono

• Protocolos de recuperação otimista– Síncrono: o próprio processo calcula a linha de

recuperação baseado em informações e em dependências

– Assíncrono: o processo envia mensagem de recuperação. Quaisquer outros processos que ficarem “órfãos” enviam também a mensagem.

• Recuperação exponencial.

Page 21: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Logging Casual

• Vantagens do logging otimista– Sem acesso síncrono, exceto em operações com o mundo

exterior

• Vantagens do logging pessimista– Autonomia dos processos– Sem surgimento de órfãos– Linha de recuperação curta (um checkpoint)

• Altamente complexo– Casualidade

Page 22: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Implementações

• Acesso ao armazém estável– Alto custo

– Favorece checkpoint coordenado (poucos acessos)

• Comunicação entre processos: pouco gasto– Checkpoints sem coordenação eram melhores

antigamente

– Checkpoints induzidos por mensagem não são escaláveis para muitos processos

Page 23: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Implementações

• Protocolos e canais de comunicação– Sem conceito de posição local (usa-se máscara de

posição atual)– Canais confiáveis?

• Logging– Cópia de mensagens: armazenamento no

destinatário ou remetente?– Uso dobrado do canal de comunicação

Page 24: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Implementações

• Armazém estável: discos magnéticos

• Não-determinismo: interação processo/SO com eventos assíncronos– Idempotentes: retornam valor determinístico– As que precisam ser gravadas e não re-

executadas (ex: estado do ambiente)– As que precisam ser gravadas e ré-executadas

(ex: alocação de memória, instanciação)

Page 25: Protocolos de Recuperação Márcio Augusto Sekeff Sallem

Conclusões

• Checkpoint– Pouca comunicação com o mundo exterior– Recuperação simples– Eficaz

• Logging– Alta comunicação com o mundo exterior– Maior overhead

• Checkpoint coordenado: melhor solução