Você está na página 1de 80

Tolerncia a falhas: conceitos e exemplos

Prof. Henrique J. A. Holanda

EMENTA:

Entender os conceitos bsicos de tolerncia a falhas. Tolerncia a falhas em sistemas distribudos e arquiteturas paralelas. Arquiteturas de sistemas tolerantes a falhas.

OBJETIVOS:

Entender os conceitos bsicos de tolerncia a falhas e suas aplicaes.

CONTEDO:

Conceitos bsicos de segurana de funcionamento (dependabilidade). Aplicaes de tolerncia a falhas. Tcnicas para incremento de confiabilidade e disponibilidade. Identificao e seleo de tcnicas de projeto tolerante a falhas. Tolerncia a falhas em sistemas distribudos e arquiteturas paralelas. Medidas e ferramentas para avaliao e simulao de sistemas tolerantes a falhas. Arquiteturas de sistemas tolerantes a falhas.

REFERNCIAS:

BIBLIOGRAFIA BSICA:

ANDERSON, T.; LEE, P. Fault-tolerance - principles and practice. Englewood Cliffs: Prentice Hall, 1981.

BIBLIOGRAFIA COMPLEMENTAR:

PRADHAN, D. K. Fault-Tolerant System Design. Englewood Cliffs: Prentice Hall, 1996.

Resumo:

Sistemas computacionais totalmente confiveis e cem por cento disponveis: utopia ou exigncia vivel?

A confiabilidade e a disponibilidade de equipamentos e servios de computao podem ser medidos quantitativamente.

Vrias tcnicas de projeto podem ser usadas para aumentar o valor dessas medidas, valor que pode chegar bem prximo a cem por cento. Sistemas totalmente infalveis so impossveis, pois falhas so inevitveis. Mas usurios e desenvolvedores no precisam, e no devem, se conformar com equipamentos e servios de baixa qualidade, desde que dispostos a arcar com o custo do emprego de tcnicas de tolerncia a falhas.

ndice:

1 Introduo

1.1 Problemas com sistemas de computao 1.2 Desafios atuais 1.3 Falha, erro e defeito 1.4 Dependabilidade 1.5 Medidas de confiabilidade

ndice (Cont.):

2 Tcnicas para alcanar dependabilidade


2.1 Tolerncia a falhas 2.2 Fases de aplicao das tcnicas de tolerncia a falhas 2.3 Mascaramento de falhas

ndice (Cont.):

3 Redundncia

3.1 Redundncia de hardware


3.1.1 Redundncia de hardware passiva 3.1.2 Redundncia dinmica 3.2.1 Diversidade 3.2.2 Blocos de recuperao

3.2 Redundncia de software


ndice (Cont.):

4 Aplicaes de Sistemas Tolerantes a Falhas

4.1 reas de Aplicao 4.2 Sistemas de tempo real 4.3 Sistemas digitais de telefonia 4.4 Sistemas de transaes 4.5 Redes de servio locais 4.6 Sistemas seguros 4.7 Exemplos por rea de aplicao

5 Concluso

1 Introduo

Computadores e seus programas so conhecidos por automatizarem e acelerarem uma srie de tarefas enfadonhas e repetitivas, liberando seus usurios para atividades mais criativas e gratificantes. Na prtica, os usurios se vem s voltas com atividades bastante criativas, mas nada gratificantes, de tentar recuperar dados perdidos e enfrentar equipamento fora do ar devido s mltiplas falhas a que os sistemas de computao esto sujeitos.

1 Introduo (Cont.)

Falhas so inevitveis, mas as conseqncias das falhas, ou seja o colapso do sistema, a interrupo no fornecimento do servio e a perda de dados, podem ser evitadas pelo uso adequado de tcnicas viveis e de fcil compreenso. O conhecimento dessas tcnicas habilita o usurio a implementar as mais simples, ou exigir dos fornecedores solues que as incorporem. Entretanto, as tcnicas que toleram falhas tem um certo custo associado. O domnio da rea auxilia usurios e desenvolvedores de sistemas a avaliar a relao custo benefcio para o seu caso especifico e determinar qual a melhor tcnica para seu oramento.

1 Introduo (Cont.)

Sistemas mais robustos em relao a falhas eram, at recentemente, preocupao exclusiva de projetistas de sistemas crticos como avies, sondas espaciais e controles industriais de tempo real. Com a espantosa popularizao de redes fornecendo os mais variados servios, aumentou a dependncia tecnolgica de uma grande parcela da populao aos servios oferecidos. Falhas nesses servios podem ser catastrficas para a segurana da populao ou para a imagem e reputao das empresas.

1 Introduo (Cont.)

Para no ser o elo fraco de uma corrente, o mais simples dos computadores deve apresentar um mnimo de confiabilidade. Conhecer os problemas, quais solues existem e qual o custo associado torna-se imprescindvel para todos que pretendem continuar usando e expandindo seus negcios fornecendo um servio computacional de qualidade aos seus clientes. Para desenvolvedores de software, projetistas de hardware e gerentes de rede o domnio das tcnicas de tolerncia a falhas torna essencial na seleo de tecnologias, na especificao de sistemas e na incorporao de novas funcionalidades aos seus projetos.

1.1 Problemas com sistemas de computao

Confiabilidade e disponibilidade so cada vez mais desejveis em sistemas de computao pois dia a dia aumenta a dependncia da sociedade a sistemas automatizados e informatizados. Seja no controle de trfego terrestre e areo ou de usinas de gerao de energia, na manuteno de dados sigilosos sobre a vida e a finana de cidados e empresas, nas telecomunicao e nas transaes comerciais internacionais de todo tipo, computadores atuam ativa e continuamente. fcil imaginar que defeitos nesses sistemas podem levar a grandes catstrofes.

1.1 Problemas com sistemas de computao (Cont.)

Desde os primeiros computadores, notvel como os componentes de hardware cresceram em confiabilidade. Entretanto, o software e os procedimentos para projeto esto se tornando cada vez mais complexos e apresentando cada vez mais problemas. S a confiabilidade dos componentes de hardware no garante mais a qualidade e segurana desejada aos sistemas de computao.

Como exemplo recente desses problemas pode ser citada a bem conhecida falha de projeto na unidade de ponto flutuante do Pentium, que prejudicou seu lanamento comercial.
Nem todo mundo sabe entretanto que falhas de projeto so comuns no lanamento de qualquer processador e muitos bugs em microprocessadores de uso geral sequer ainda foram descobertos.

1.1 Problemas com sistemas de computao (Cont.)

Alguns outros defeitos valem a pena ser mencionados:


na guerra do Golfo em fevereiro de 1991 preocupantes relatos de falhas em msseis foram noticiados. Em novembro de 1992 houve um colapso no sistema de comunicao do servio de ambulncias em Londres. Em junho de 1993, durante dois dias, no foi autorizada nenhuma operao de carto de crdito em toda a Frana.

Todos esses defeitos foram investigados e suas causas determinadas, mas no se tem garantia que algo semelhante no possa voltar a ocorrer a qualquer momento.

1.2 Desafios atuais

Para tornar populares solues que nos garantam a confiana que depositamos em sistemas de computao, vrios desafios devem ser vencidos:

Como evitar, detectar e contornar bugs no projeto de hardware e software? Como gerenciar a altssima complexidade dos sistemas atuais de computao construdos com dezenas de chips de milhes de transistores e com software de centenas de milhares de linhas de cdigo? Como explorar paralelismo para aumentar o desempenho sem comprometer a qualidade dos resultados mesmo em caso de falha de um ou mais componentes do sistema?

1.2 Desafios atuais (Cont.)

Como aproveitar novas tecnologias mais rpidas, baratas e eficientes (mas ainda no totalmente provadas e testadas) sem saber ainda seu comportamento em situaes inesperadas sob falha ou sobrecarga? Como aproveitar, para aplicaes crticas e para operao em tempo real, o modelo de sistemas distribudos construdos sobre plataformas no confiveis de redes, contornando os problemas de perdas de mensagens, particionamento de rede e intruso de hackers? Como desenvolver computadores mveis e sistemas embarcados, garantindo confiabilidade e segurana nesses dispositivos, e assegurando simultaneamente baixo consumo de potncia, sem recorrer as tcnicas usuais de replicao de componentes que aumentam peso e volume? Finalmente, como conciliar alta confiabilidade e alta disponibilidade com as crescentes demandas por alto desempenho?

1.2 Desafios atuais (Cont.)

Finalmente, como conciliar alta confiabilidade e alta disponibilidade com as crescentes demandas por alto desempenho?

Todos esses desafios ainda permanecem sem uma soluo ideal.

1.3 Falha, erro e defeito

Vrios autores tem se ocupado da nomenclatura e conceitos bsicos da rea. Os conceitos apresentados aqui so os usados por grande parte da comunidade nacional e foram derivados dos trabalhos de Laprie e Anderson e Lee.

1.3 Falha, erro e defeito (Cont.)

Estamos interessados no sucesso de determinado sistema de computao no atendimento da sua especificao.

Um defeito (failure) definido como um desvio da especificao.


Defeitos no podem ser tolerados, mas deve ser evitado que o sistema apresente defeito. Define-se que um sistema est em estado errneo ou em erro se o processamento posterior a partir desse estado pode levar a defeito. Finalmente define-se falha (ou falta) como a causa fsica ou algortmica do erro.

1.3 Falha, erro e defeito (Cont.)

Na figura 1 mostrada uma simplificao, adotada nesse texto, para os conceitos de falha, erro e defeito:

Falhas esto associadas ao universo fsico; Erros ao universo da informao; e Defeitos ao universo do usurio.

Assim um chip de memria, que apresenta uma falha do tipo grudado-em-zero (stuck-at-zero) em um de seus bits (falha no universo fsico), pode provocar uma interpretao errada da informao armazenada em uma estrutura de dados (erro no universo da informao) e como resultado o sistema pode negar autorizao de embarque para todos os passageiros de um vo (defeito no universo do usurio). interessante observar que uma falha no necessariamente leva a um erro (aquela poro da memria pode nunca ser usada) e um erro no necessariamente conduz a um defeito (no exemplo, a informao de vo lotado poderia eventualmente ser obtida a partir de outros dados redundantes da estrutura).

1.3 Falha, erro e defeito (Cont.)

1.3 Falha, erro e defeito (Cont.)

Define-se latncia de falha como o perodo de tempo desde a ocorrncia da falha at a manifestao do erro devido aquela falha e latncia de erro como o perodo de tempo desde a ocorrncia do erro at a manifestao do defeito devido aquele erro.

1.3 Falha, erro e defeito (Cont.)


Falhas so inevitveis. Componentes fsicos envelhecem e sofrem com interferncias externas, seja ambientais ou humanas. O software, e tambm os projetos de software e hardware, so vtimas de sua alta complexidade e da fragilidade humana em trabalhar com grande volume de detalhes ou com deficincias de especificao.

1.3 Falha, erro e defeito (Cont.)

Existem vrias classificaes para falhas na literatura tcnica. As falhas aparecem geralmente classificadas em:

Falhas fsicas, aquelas de que padecem os componentes; e Falhas humanas compreendem falhas de projeto e falhas de interao.

1.3 Falha, erro e defeito (Cont.)

As principais causas de falhas so:


Problemas de especificao; Problemas de implementao; Componentes defeituosos; Imperfeies de manufatura; e Fadiga dos componentes fsicos alm de distrbios externos como radiao, interferncia eletromagntica, variaes ambientais (temperatura, presso, umidade) e tambm problemas de operao.

1.3 Falha, erro e defeito (Cont.)

Alm da causa da falha, para definir uma falha considera-se ainda:


Natureza: falha de hardware, falha de software, de projeto, de operao, ... Durao ou persistncia: permanente ou temporria Extenso: local a um mdulo, global Valor: determinado ou indeterminado no tempo

1.3 Falha, erro e defeito (Cont.)

Vem crescendo em freqncia aquelas falhas provocadas por interao humana maliciosa, ou seja, por aquelas aes que visam propositadamente provocar dados aos sistemas. Essas falhas e suas conseqncias so tratados por tcnicas de security e no por tcnicas de tolerncia a falhas. Deve ser considerado, entretanto, que um sistema tolerante a falhas deve ser tambm seguro a intruses e aes maliciosas.

1.3 Falha, erro e defeito (Cont.)

Falhas de software e tambm de projeto so consideradas atualmente o mais grave problema em computao crtica. Sistemas crticos, tradicionalmente, so construdos de forma a suportar falhas fsicas. Assim compreensvel que falhas no tratadas, e no previstas, sejam as que mais aborream, pois possuem uma grande potencial de comprometer a confiabilidade e disponibilidade do sistema. Um exame de estatsticas disponveis [Lapr98] confirma essas consideraes (tabela 1).

1.3 Falha, erro e defeito (Cont.)

1.4 Dependabilidade

O objetivo de tolerncia a falhas alcanar dependabilidade (tabela 2). O termo dependabilidade uma traduo literal do termo ingls dependability, que indica a qualidade do servio fornecido por um dado sistema e a confiana depositada no servio fornecido. Principais medidas de dependabilidade so:

Confiabilidade; Disponibilidade; Segurana de funcionamento (safety); Segurana (security); Mantenabilidade; Testabilidade; e Comprometimento do desempenho (performability).

1.4 Dependabilidade (Cont.)

1.4 Dependabilidade (Cont.)

Confiabilidade a medida mais usada em sistemas em que mesmo curtos perodos de operao incorreta so inaceitveis ou em sistemas em que reparo impossvel. Exemplos so aviao e explorao espacial. Confiabilidade uma medida probabilstica, pois falhas so um fenmeno aleatrio. Confiabilidade no pode ser confundida com disponibilidade. Um sistema pode ser altamente disponvel mesmo presentando perodos de inoperabilidade, desde que esses perodos sejam curtos e no comprometam a qualidade do servio.

1.4 Dependabilidade (Cont.)

Outras qualidades importantes de um sistema so:


Comprometimento do desempenho (performability); Mantenabilidade; e Testabilidade.

Performability est relacionada queda de desempenho provocado por falhas, onde o sistema continua a operar, mas degradado em desempenho. Mantenabilidade significa a facilidade de realizar a manuteno do sistema, ou seja, a probabilidade que um sistema com defeitos seja restaurado a um estado operacional dentro de um perodo determinado. Restaurao envolve a localizao do problema, o reparo fsico e a colocao em operao. Finalmente testabilidade a capacidade de testar certos atributos internos ao sistema ou facilidade de realizar certos testes. Quanto maior a testabilidade, melhor a mantenabilidade, por conseqncia menor o tempo de indisponibilidade do sistema devido a reparos.

1.5 Medidas de confiabilidade

As medidas de confiabilidade mais usadas na prtica so: taxa de defeitos, MTTF, MTTR, MTBF. A tabela 3 mostra uma definio informal dessas medidas. Os fabricantes devem fornecer essas medidas para os seus produtos, tanto para os componentes eletrnicos, como para os sistemas de computao mais complexos. Essas medidas so determinadas pelo fabricante estatisticamente, observando o comportamento dos componentes e dispositivos fabricados.

1.5 Medidas de confiabilidade (Cont.)

1.5 Medidas de confiabilidade (Cont.)

A taxa de defeitos de um componente dada por falhas por unidade de tempo e varia com o tempo de vida do componente.

1.5 Medidas de confiabilidade (Cont.)

Uma representao usual para a taxa de defeitos de componentes de hardware dada pela curva da banheira (figura 2). Na figura 2 podem se distinguir 3 fases:

Mortalidade infantil: componentes fracos e mal fabricados; Vida til: taxa de falhas (defeitos) constante; e Envelhecimento: taxa de falhas crescente

1.5 Medidas de confiabilidade (Cont.)

Os componentes de hardware s apresentam taxa de defeitos constante durante um perodo de tempo chamado de vida til, que segue uma fase com taxa de falhas decrescente chamada de mortalidade infantil. Para acelerar a fase de mortalidade infantil, os fabricantes recorrem a tcnicas de burn-in, onde efetuada a remoo de componentes fracos pela colocao dos componentes em operao acelerada antes de coloc-los no mercado ou no produto final.

1.5 Medidas de confiabilidade (Cont.)

questionvel se a curva da banheira pode ser aplicada tambm para componentes de software.

Pode ser observado, no entanto, que os componentes de software tambm apresentam uma fase de mortalidade infantil ou taxa de erros alta no incio da fase de testes, que decresce rapidamente at a entrada em operao do software. A partir desse momento, o software apresenta um taxa de erros constante at que, eventualmente, precise sofrer alguma alterao ou sua plataforma de hardware se torne obsoleta.
Nesse momento, a taxa de erros volta a crescer. Intencionalmente mencionamos taxa de erros para software e no defeitos, porque erro o termo usualmente empregado quando se trata de programas incorretos.

2 Tcnicas para alcanar dependabilidade

No desenvolvimento de um sistema com os atributos de dependabilidade desejados, um conjunto de mtodos e tcnicas devem ser empregadas. Esses mtodos e tcnicas so classificados conforme a tabela 3.

2 Tcnicas para alcanar dependabilidade (Cont.)

2.1 Tolerncia a falhas

Preveno e remoo de falhas no so suficientes quando o sistema exige alta confiabilidade ou alta disponibilidade.

Nesses casos o sistema deve ser construdo usando tcnicas de tolerncia a falhas.
Essas tcnicas garantem funcionamento correto do sistema mesmo na ocorrncia de falhas e so todas baseadas em redundncia, exigindo componentes adicionais ou algoritmos especiais. Tolerncia a falhas no dispensa as tcnicas de preveno e remoo.

Sistemas construdos com componentes frgeis e tcnicas inadequadas de projeto no conseguem ser confiveis pela simples aplicao de tolerncia a falhas.

2.1 Tolerncia a falhas (Cont.)

O conceito de tolerncia a falhas foi apresentado originalmente por Avizienis em 1967. Entretanto estratgias para construo de sistemas mais confiveis j eram usadas desde a construo dos primeiros computadores. Apesar de envolver tcnicas e estratgias to antigas, a tolerncia a falhas ainda no uma preocupao rotineira de projetistas e usurios, ficando sua aplicao quase sempre restrita a sistemas crticos.

2.1 Tolerncia a falhas (Cont.)

As tcnicas de tolerncia a falhas so de duas classes disjuntas:

Mascaramento ou Deteco, localizao e reconfigurao.

Na primeira classe, mascaramento, falhas no se manifestam como erros, pois so mascaradas na origem. A primeira classe geralmente emprega mais redundncia que a segunda e, por no envolver os tempos gastos para as tarefas de deteco, localizao e reconfigurao, a preferida para sistemas de tempo real crticos.

2.2 Fases de aplicao das tcnicas de tolerncia a falhas


Vrios autores apresentaram suas prprias classificaes para as tcnicas de tolerncia a falhas. A mais comum a classificao em 4 fases de aplicao [AnLe81]:

Deteco; Confinamento; Recuperao; e Tratamento.

Essas fases excluem mascaramento de falhas, que uma tcnica a parte, no usada em complemento s demais.

2.2 Fases de aplicao das tcnicas de tolerncia a falhas (Cont.)

2.2 Fases de aplicao das tcnicas de tolerncia a falhas (Cont.)

As fases envolvem o conceito de uma seqncia complementar de atividades, que devem ser executadas aps a ocorrncia de uma ou mais falhas. Alguns autores consideram as fases extras de diagnstico e mascaramento. Ns preferimos considerar o mascaramento de falhas como uma classe a parte, no complementar s fases citadas. Diagnstico, por outro lado pode ser usado tanto como um mecanismo usado nas fases de deteco de erros e de localizao de falhas, como uma tcnica isolada conduzida periodicamente para diminuir a latncia.

2.2 Fases de aplicao das tcnicas de tolerncia a falhas (Cont.)

A primeira fase de Anderson e Lee a de deteco de um erro. Uma falha primeiro se manifesta como um erro, para ento ser detectada por alguns dos mecanismos listados na tabela 4. Antes da sua manifestao como erro, a falha est latente e no pode ser detectada, eventualmente a falha pode permanecer no sistema durante toda a sua vida til sem nunca se manifestar, ou seja, sem nunca levar o sistema a um estado errneo.

2.2 Fases de aplicao das tcnicas de tolerncia a falhas (Cont.)

Devido a latncia da falha, aps a ocorrncia da falha at o erro ser detectado, pode ter ocorrido espalhamento de dados invlidos. O confinamento estabelece limites para a propagao do dano, mas depende de decises de projeto; os sistemas por sua natureza no provm confinamento. Durante o projeto devem ser previstas e implementadas restries ao fluxo de informaes para evitar fluxos acidentais e estabelecer interfaces de verificao para deteco de erros.

2.2 Fases de aplicao das tcnicas de tolerncia a falhas (Cont.)

A recuperao de erros ocorre aps a deteco e envolve a troca do estado atual incorreto para um estado livre de falhas. Pode ser de duas formas (tabela 5):

Tcnicas de recuperao por retorno (backward error recovery); e Tcnicas de recuperao por avano (forward error recovery).

2.2 Fases de aplicao das tcnicas de tolerncia a falhas (Cont.)

2.2 Fases de aplicao das tcnicas de tolerncia a falhas (Cont.)


A recuperao simples para um sistema com um nico processo, mas complexa em processamento distribudo. A recuperao nesses sistemas, usualmente de retorno pode provocar efeito domin. Ao desfazer a computao, um processo deixa algumas mensagens rfs na rede. Processos que receberam e incorporaram essas mensagens devem por sua vez desfazer tambm a computao realizada, provocando que, eventualmente, outros processos, que receberam suas mensagens, agora rfs, tambm tenham que desfazer suas computaes. O efeito pode atingir todos os processos de um sistema e provocar o retorno ao incio do processamento. Uma soluo para esse problema impor restries a comunicao entre os processos.

2.2 Fases de aplicao das tcnicas de tolerncia a falhas (Cont.)


Tcnicas de recuperao por retorno no so adequadas a sistemas de tempo real. Nesses sistemas deve ser usada recuperao por avano. A ltima fase, tratamento de falhas, consiste em:

localizar a origem do erro (falha); localizar a falha de forma precisa; reparar a falha; e recuperar o restante do sistema.

2.2 Fases de aplicao das tcnicas de tolerncia a falhas (Cont.)


Nessa fase geralmente considerada a hiptese de falha nica, ou seja, uma nica falha ocorrendo a cada vez. A localizao da falha realizada em duas etapas:

Localizao grosseira (mdulo ou subsistema) e rpida; e Localizao fina, mais demorada, onde o componente falho determinado.

Para os dois tipos diagnstico usado. O diagnstico um teste com comparao dos resultados gerados com os resultados previstos. Pode ser conduzido no sistema de forma manual ou automtica:

Manual - executado por um operador local ou remoto; e Automtico - executado pelos os componentes livres de falha.

2.2 Fases de aplicao das tcnicas de tolerncia a falhas (Cont.)


Aps a localizao, a falha reparada atravs da remoo do componente danificado. Tambm o reparo pode ser manual ou automtico. O reparo automtico pode envolver degradao gradual, ou seja, uma reconfigurao para operao com menor nmero de componentes, ou a substituio imediata por outro componente disponvel no sistema. Substituio automtica usada em sistemas com longo perodo de misso sem possibilidade de reparo manual, como por exemplo em sondas espaciais e satlites.

2.3 Mascaramento de falhas

O mascaramento de falhas garante resposta correta mesmo na presena de falhas. A falha no se manifesta como erro, o sistema no entra em estado errneo e, portanto, erros no precisam ser detectados, confinados e recuperados. Entretanto, em caso de falhas permanentes, a localizao e o reparo da falha ainda so necessrios. A tabela 6 mostra mecanismos usuais para implementao de mascaramento de falhas.

2.3 Mascaramento de falhas (Cont.)

3 Redundncia

Redundncia a palavra mgica em tolerncia a falhas. Redundncia para aumentar confiabilidade quase to antiga como a histria dos computadores ([Crev56], [VonN56]). Todas as tcnicas de tolerncia a falhas envolvem alguma forma de redundncia. Redundncia est to intimamente relacionada a tolerncia a falhas que na indstria nacional o termo usado para designar um sistema tolerante a falhas sistema redundante. Redundncia para tolerncia a falhas pode aparecer de vrias formas:

Redundncia de hardware Redundncia de software Redundncia de informao Redundncia de tempo

3 Redundncia (Cont.)

As tcnicas de redundncia de hardware e de software so apresentadas a seguir. Redundncia de informao provida por cdigos de correo de erros, como ECC. ECC (error correction code) est sendo exaustivamente usado em memrias e em transferncia entre memrias e processadores. Como a codificao da informao implica no aumento do nmero de bits, e os bits adicionais no aumentam a capacidade de representao de dados do cdigo, fcil perceber a razo da codificao tambm ser considerada uma forma de redundncia.

3 Redundncia (Cont.)

Redundncia temporal repete a computao no tempo. Evita custo de hardware adicional, aumentando o tempo necessrio para realizar uma computao. usada em sistemas onde tempo no crtico, ou onde o processador trabalha com ociosidade. Aplicaes usuais da redundncia temporal:

deteco de falhas transientes: repetindo a computao, resultados diferentes so uma forte indicao de uma falha transitria. Essa estratgia no adequada para falhas permanentes, porque os resultados repetidos nesse caso sero iguais. deteco de falhas permanentes: repete-se a computao com dados codificados e decodifica-se o resultado antes da comparao com o resultado anterior. Essa estratgia provoca a manifestao de falhas permanentes. Por exemplo, considere um barramento com uma linha grudada em zero. Nas duas computaes, uma transferncia com dado normal; e a segunda com dado invertido, por exemplo, a linha vai transferir sempre zero.

3 Redundncia (Cont.)

Todas essas formas de redundncia, de hardware, de software, temporal de informao, tem algum impacto no sistema, seja no custo, no desempenho, na rea (tamanho, peso), ou na potncia consumida. Assim, apesar de ser a soluo "mgica" para tolerncia a falhas, o uso de redundncia em qualquer projeto deve ser bem ponderada. Redundncia tanto serve para deteco de falhas, como para mascaramento de falhas. O grau de redundncia em cada caso diferente. Para mascarar falhas so necessrios mais componentes do que para detectar falhas.

3 Redundncia (Cont.)

Por exemplo, para detectar falhas em um microprocessador necessrio outro microprocessador idntico, sincronizado ao primeiro, alm de um comparador de sinais na sada de ambos. Qualquer diferena na comparao indica que o par de microprocessadores est em desacordo, e que portanto um dos dois est falho. Entretanto est falha no pode ser mascarada. O resultado da comparao no indica quais as sadas so as corretas.

3.1 Redundncia de hardware

Redundncia de hardware est baseada na replicao de componentes.

3.1.1 Redundncia de hardware passiva


Na redundncia de hardware passiva os elementos redundantes so usados para mascarar falhas. Todos os elementos executam a mesma tarefa e o resultado determinado por votao. Exemplos so TMR (triple modular redundancy) e NMR. TMR, redundncia modular tripla, uma das tcnicas mais conhecidas de tolerncia a falhas. TMR mascara falha em um componente de hardware triplicando o componente e votando entre as sadas para determinao do resultado (figura 3). A votao pode ser por maioria (2 em 1) ou votao por seleo do valor mdio [LyVa62].

3.1.1 Redundncia de hardware passiva (Cont.)

3.1.1 Redundncia de hardware passiva (Cont.)

O votador realiza uma funo simples, fcil de verificar a correo. interessante observar que o votador no tem a funo de determinar qual o mdulo de hardware discorda da maioria. Se esse funo for necessria no sistema, ela deve ser realizada por um detector de falhas. Apesar de simples, o votador, por estar em srie com os mdulos de hardware e ter a responsabilidade de fornecer o resultado, o ponto crtico de falhas no esquema TMR. Se o votador apresentar baixa confiabilidade, todo o esquema vai ser frgil, to frgil como o votador.

3.1.1 Redundncia de hardware passiva (Cont.)

Solues para contornar a fragilidade do votador so:

Construir o votador com componentes de alta confiabilidade. Triplicar o votador. Realizar a votao por software.

A figura 4 mostra um esquema com votador triplicado. Os 3 resultados gerados podem, nesse caso, ser levados aos prximos 3 mdulos de hardware do sistema. Deve ser observado que a redundncia aumenta o nmero de componentes do sistema. Quando maior o nmero de componentes, maior possibilidade de falha.

3.1.1 Redundncia de hardware passiva (Cont.)

3.1.1 Redundncia de hardware passiva (Cont.)

TMR apresenta uma confiabilidade maior que um sistema de um nico componente at a ocorrncia da primeira falha permanente (figura 5). Depois disso, perde a capacidade de mascarar falhas e vai apresentar uma confiabilidade menor que um sistema de um nico componente. Com o tempo, quando aumenta a probabilidade de componentes falharem (ou seja aumenta a taxa de defeitos) TMR apresenta uma confiabilidade pior do que um sistema no redundante. TMR ideal ento para perodos no muito longos de misso. Suporta uma falha permanente apenas e ideal para falhas temporrias, uma de cada vez.

3.1.1 Redundncia de hardware passiva (Cont.)

3.1.1 Redundncia de hardware passiva (Cont.)

Redundncia modular mltipla, NMR, a generalizao do conceito de TMR. Ou seja, TMR um caso especial de NMR. O computador de bordo do Space Shuttle um exemplo de NMR, com n igual a 4 e votao por software.

3.1.2 Redundncia dinmica

Você também pode gostar