O documento discute modelos de falhas em sistemas distribuídos, classificando falhas e definindo termos como disponibilidade, confiabilidade e pontualidade. Apresenta estratégias para tolerar falhas, como redundância de informação, tempo e componentes físicos, além de abordar comunicação confiável entre processos e grupos.
2. • Define e classifica as falhas, fornecendo uma base para a
análise de seus efeitos em potencial e para projetar
sistemas capazes de tolerar certos tipos de falhas e
continuar funcionando
Conceito
3. • Defeito – Sistema não cumpre o que foi especificado
• Erro – Estado do sistema causado por uma falha
Conceitos Básicos
4. • Estes atributos podem ocorrem tanto em Processos de
sistema como em canais de comunicação
Ocorrência de falhas
5. • A tolerância a falhas é a propriedade de um sistema
distribuído que lhe permite recuperar da existência de
falhas, sem introduzir comportamentos incorretos.
Um sistema deste tipo pode mascarar as falhas e
continuar a operar, ou parar e voltar a operar
mais tarde, de forma coerente, após reparação
da falha.
Definições
6. • Disponibilidade - mede a fração de tempo em que um
serviço está a operar corretamente, isto é, de acordo com
a sua especificação.
Para um sistema ser altamente disponível (highly available)
deve combinar um reduzido número de falhas com um curto
período de recuperação das falhas (durante o qual não está
disponível).
Definições
7. • Confiabilidade - mede o tempo desde um instante inicial
até à primeira falha, isto é, o tempo que um sistema
funciona corretamente sem falhas.
Um sistema que falha com grande frequência e recupere
rapidamente tem baixa confiabilidade, mas alta
disponibilidade.
Definições
8. • Pontualidade - Em sistemas de tempo real é a garantia de
que o sistema é capaz de obedecer a constrangimentos
temporais, isto é, a capacidade que o sistema tem de
garantir limites para o tempo que as diferentes ações
levam a executar.
Definições
9. • Falhas por omissão
• De envio
• De recebimento
• Falhas arbitrárias
• Falhas de tempo
• Falhas de resposta
• Valor
• Transição de estado
• Falhas por queda
Classificação
12. • Transiente
– Ocorre uma vez e depois desaparece
– Se a operação for repetida, a falha não acontecera novamente
• Intermitente
– Ocorre e desaparece por “sua própria vontade”.
– Difícil de diagnosticar;
• Permanente
– Continua a existir até que o componente faltoso seja substituído
Tipos
13. • Técnicas para mascarar falhas
• Redundância de informação
– Bits extras são adicionados para permitir recuperação de
bits deteriorados
• Redundância de tempo para falhas de omissão
– Uma ação é realizada e, então, se for preciso, ela é
executada novamente.
• Redundância física
– Componentes físicos replicados são usados
Mascaramento de Falha
por Redundância
14. • O termo comunicação confiável é definido em termos de validade e
integridade:
• Validade: qualquer mensagem do buffer de envio é entregue ao buffer de
recepção de seu
destino, independente do tempo necessário
para tal.
• Integridade: a mensagem recebida é idêntica à enviada e nenhuma mensagem
é entregue duas vezes.
• A tarefa para preservar a Integridade vem de duas premissas:
• Qualquer protocolo que retransmita mensagens, mas não rejeite uma
mensagem que entregue duas vezes.
• Usuários mal-intencionados que podem injetar mensagens
modificadas, reproduzir mensagens antigas ou falsificar mensagens.
Confiabilidade na
comunicação Um para Um
15. • Resiliência de Processos
– Replicação de processos em grupos
– Grupos Simples ou Hierárquicos
• Comunicação Confiável Cliente-Servidor
– Falhas de Comunicação
– Canal de Comunicação pode exibir falhas por queda, por omissão, arbitrarias
– TCP(ponto-a-ponto); RPC
• Comunicação Confiável de Grupo
– Como implementar entrega confiável de mensagens a todos os processos?
• Comprometimento Distribuído
– Envolve a realização de uma operação por cada membro de um grupo de
processos ou por absolutamente nenhum.
Estratégias de Tolerância
a Falhas