05tolerancia
-
Upload
thalita-alves -
Category
Documents
-
view
47 -
download
2
Transcript of 05tolerancia
1
Tolerância a falhas
Módulo 5
[C11,C15,T4.5] (65 p.)
2
ConteúdoFalhas
tipos tempo médio até falhar em processadores
Uso de redundância tipos replicação ativa replicação primary backup
Consenso na presença de falhas
3
Falhas
Um sistema falha quando não funciona de acordo com sua especificação.
Falhas típicas: hardware: processador, memória, dispositivo de E/S,
cabo, ... software: erros de programação, erros de operação,
situações não previstas, ... Objetivo de tolerância a falhas: garantir que um sistema
continue a funcionar corretamente na presença de defeitos. Tolerância a falhas é necessária principalmente em aplicações
que requerem alta disponibilidade.
4
Tipos de falhas
Falha transiente: ocorre apenas uma vez; se a operação é repetida, a falha desaparece. Exemplo: falha numa transmissão usando micro-ondas porque algum objeto obstrui temporariamente.
Falha intermitente: ocorre de maneira aleatória e imprevisível. Exemplo: um conector com mau contato.
Falha permanente: ocorre sempre até que o componente seja substituído. Exemplo: um chip queimado, erros em software.
5
Tempo médio até falhar Exemplo:
Um componente tem uma probabilidade p de falhar em um segundo.
A probabilidade desse componente não falhar em k segundos consecutivos é
O tempo estimado até esse componente falhe (mean time to failure) é
Assim, se p = 0.001 então MTF = 1000 segundos.
6
Falhas em processadores
Tipos: Fail-silent fault (ou Fail-stop fault): um
processador com falha pára e não responde a subsequentes requisições ou produz qualquer resultado.
Byzantine fault: um processador com falha continua a operar, emitindo resultados errados, possivelmente em acordo com outros processadores com falha, causando a impressão de que estão todos funcionando normalmente.
7
Uso de redundância
Tipos de redundância: Redundância de informação: bits extras são
adicionados para se recuperar de bits errados. Redundância de tempo: uma ação é executada e, se
necessário, é executada novamente. (Útil para falhas transientes e intermitentes.)
Redundância física: equipamento extra é adicionado para que o sistema como um todo tolere a falha de um ou outro componente. Exemplo: múltiplos processadores.
8
Uso de replicação ativa
Todos os processadores são usados o tempo todo como servidores (em paralelo) a fim de ocultar falhas completamente.
TMR: Triple Modular Redundancy Sistema tolerante a falhas no nível k: satisfaz sua especificação
mesmo se até k componenetes falharem simultaneamente: fail-silent fault: requer k+1 componenetes byzantine fault: requer 2k+1 componentes
Requisito: todas as requisições chegam nos servidores numa mesma ordem (atomic broadcast problem).
9
Uso de primary backup Apenas um processador (primary) é o servidor a cada instante.
Se este falhar, um outro processador (backup) é ativado para operar em seu lugar.
A substituição de um processador por outro não deve ser notada pelas aplicações; somente o sistema operacional do cliente deve notar.
Vantagens: Mais simples: mensagens do cliente vão para apenas um
servidor (não é necessário ordenar mensagens). Na prática, requer menos máquinas.
Desvantagem: não funciona se para Byzantine faults.
10
Consenso na presença de falhas
Exemplos: eleição de um coordenador, decisão quanto a fazer ou não commit de uma transação, divisão de tarefas.
Primeiro caso: processadores confiáveis, mas possíveis falhas de comunicação. Exemplo: two-army problem.
Consenso é impossível sem comunicação confiável! Segundo caso: comunicação confiável, mas possíveis
falhas de processadores. Exemplo: Byzantine generals problem.
Consenso é possível quando há m processadores confiáveis somente se houver 2m+1 processadores confiáveis.