Você está na página 1de 17

Tolerncia a Falhas

Carlos Oberdan Rolim


Cincia da Computao

Redundncia de Hardware
Baseada da replicao de componentes fsicos:

Redundncia Dinmica
provida pelo emprego das tcnicas de deteco, localizao e recuperao; Usada em aplicaes que suportam permanecer em um estado errneo durante um curto perodo de tempo;
Geralmente prefervel defeitos temporrios do que suportar o custo de grande quantidade de redundncia necessria para o mascaramento de falhas.

Redundncia Dinmica

Redundncia dinmica ou ativa

Redundncia Dinmica

Estados de um sistema com redundncia dinmica

Redundncia Dinmica
Ex.: atravs de mdulos estepe (standby sparing). Podem ser Operados de duas formas:

Exemplo de redundncia dinmica

Redundncia de Software
Simples replicao de componente idnticos uma estratgia de deteco e mascaramento de erros intil em software:
Componentes idnticos vo apresentar erros idnticos

Redundncia de Software
Exemplos de tcnicas de Redundncia de Softwares:
Diversidade (ou programao n-verses);

Blocos de Recuperao;

Verificao de Consistncia

Diversidade
Programao diversitria; Tcnica de redundncia para obter TF em software;
A partir de um problema a ser solucionado, so implementadas diversas solues alternativas;
Resposta do sistema determinada por votao.

Diversidade

Programao n-verses

Diversidade
No leva em conta se erros em programas alternativos apresentam a mesma falha;
Ex.: Falsa interpretao de uma especificao ou uma troca de um sinal de uma frmula;

Para os erros serem detectados devem se manifestar de forma diferente nas diversas alternativas;

Diversidade
Pode ser utilizada em todas as fases do desenvolvimento de um programa:
Da especificao at o teste; Dependendo do tipo de erro que se quer detectar: Erro de especificao; Erro de projeto

Erro de Implementao

Diversidade
Chamada Projeto Diversitrio:
Quando o desenvolvimento do sistema realizado usando diversidade de metodologias;

Programao n-verses:
Quando se restringe implementao.

Diversidade
Tambm pode ser usada como tcnica de preveno de falhas;
Vrias alternativas so desenvolvidas (de projeto ou de implementao); Na fase de testes, erros eventuais possam ser localizados e corrigidos; Se escolhe ento, a alternativa em que se detectou a menor ocorrncia de erros.

Diversidade
Vrios fatores influenciam a eficcia da programao diversitria:
as equipes podem trocar algoritmos entre si os membros das equipes podem, por formao, tender a adotar os mesmos mtodos de desenvolvimento as equipes podem buscar suporte nas mesmas fontes.

Qualquer uma dessas correlaes imprevisveis se constitui uma fonte potencial de erros.

Blocos de Recuperao
Semelhante a programao n-verses
Programas secundrios s sero necessrios na deteco de um erro no programa primrio; Teste de aceitao; Programas so executados e testados um a um at que o primeiro passe no teste de aceitao;

Blocos de Recuperao

Blocos de recuperao