protocolos de recuperação márcio augusto sekeff sallem
TRANSCRIPT
![Page 1: Protocolos de Recuperação Márcio Augusto Sekeff Sallem](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/1.jpg)
Protocolos de Recuperação
Márcio Augusto Sekeff Sallem
![Page 2: Protocolos de Recuperação Márcio Augusto Sekeff Sallem](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022062312/552fc143497959413d8dfbeb/html5/thumbnails/25.jpg)
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