• No results found

CHAPTER 2: LITERATURE REVIEW

2.4. Supply Chain Sustainability

Atualmente, a redundância de hardware é a abordagem mais utilizada em um sistema de computação. Isso se deve principalmente a constante queda no custo do hardware, ou seja, os componentes semicondutores estão cada vez menores e mais baratos. Existem três metodologias básicas dentro da redundância de hardware, são elas: passiva, ativa e híbrida.

5.2.1 Redundância de Hardware Passiva

A técnica passiva de redundância de hardware baseia-se no conceito de mascaramento de

falhas. Fundamentalmente, a técnica procura evitar que a ocorrência de falhas resultem em erros

mesmas. A grande maioria das metodologias passivas utiliza o conceito de “maioria de votação” para prover o mascaramento das falhas e não exige nenhum tipo de ação por parte do sistema ou operador.

Dentre as principais metodologias de redundância de hardware passiva, encontra-se a Redundância Modular Tripla (Triple Modolar Redundancy - TMR) ilustrada na figura 5.1a Basicamente, a TMR consiste em triplicar o hardware e executar voto pela maioria (majority

vote) para determinar a saída do sistema. Assim, quando ocorre uma falha em um dos módulos,

os módulos restantes, livres de falhas, mascaram os resultados do módulo falho através do voto pela maioria. Este conceito pode ser utilizado em vários dispositivos de hardware, tais como processadores e memórias.

Figura 5.1 Redundância de hardware passiva: a) TMR e b) TMR com votadores triplicados. (PRADHAN, 1996)

Entretanto, o principal problema encontrado nesta abordagem é possibilidade do votador falhar e assim levar o sistema a uma falha geral. Segundo D. K. Pradhan (PRADHAN, 1996), uma falha em um único ponto (Single-point-of-failure) ocorre quando ocorre uma falha geral no sistema devido a apenas um componente dentro do mesmo. Para solucionar o problema acima mencionado, várias técnicas já foram propostas na literatura. Uma destas técnicas sugere a triplicação do elemento votador, assim cada um dos membros recebe dados de um votador diferente que, por sua vez, recebe como entrada o conteúdo de três processadores separados, como mostra a figura 5.1b Caso um dos processadores falhe a memória continuará recebendo o valor correto, pois seu eleitor corrigirá o valor corrompido. Este tipo de sistema é normalmente

chamado de órgão restaurador, pois produz três saídas corretas mesmo se uma das entradas estiver errada.

O votador dentro de um sistema com n redundância modular (n modular redundancy – NMR) pode ser utilizado em vários pontos do sistema. A escolha do ponto em que o votador será inserido deve considerar os critérios a seguir considerados. Primeiramente, deve-se decidir se o votador será hardware ou em software. Evidentemente que esta escolha deve levar em consideração os seguintes aspectos: um votador implementado em software aproveita a capacidade computacional disponível no processador para executar o processo de votação com um mínimo de hardware extra e permite através da simples modificação do software a alteração da forma com que o voto é utilizado; entretanto, a utilização de um votador implementado em hardware permite que os processos sejam executados dedicadamente e mais rapidamente.

Portanto, a decisão entre utilizar hardware ou software para implementação do votador baseia-se fundamentalmente nos seguintes aspectos:

• disponibilidade de um processador para executar o processo de voto; • a velocidade em que o processo de voto deve ser executado;

• as limitações de espaço, poder e peso;

• o número de votadores diferentes que devem ser gerados; • a flexibilidade do votador em relação a futuras alterações.

5.2.2 Redundância de Hardware Ativa

A Redundância de Hardware Ativa baseia-se no princípio de obter tolerância a falhas a partir da detecção, localização e recuperação (recovery) de falhas, ou seja, técnicas ativas exigem que o sistema execute recuperação do sistema para tolerar falhas. Em muitos sistemas, as falhas podem ser detectadas simplesmente observando-se os erros que elas produzem. Este método é indicado para aplicações onde resultados errados durante um breve intervalo de tempo, reconfiguração e recuperação do status operacional do sistema são considerados procedimentos aceitáveis.

A figura 5.2 mostra o diagrama de funcionamento da redundância de hardware ativa onde é possível observar a ocorrência de falhas durante a operação normal do sistema. Neste contexto, os termos falha (fault), erro (error) e falho (failure) definem eventos distintos dentro de um sistema. Segundo D. K. Pradhan (PRADHAN, 1996) falha define uma discrepância qualquer; erro ocorre após o período de latência da falha, e este pode ser detectado ou não. E finalmente, um sistema falho é o resultado de um erro que não foi detectado. Caso o erro seja detectado, sua origem deve ser localizada e o componente falho removido da operação. Assim, um componente próximo e disponível deve ser habilitado para que o sistema volte a seu estado operacional. Cabe salientar que os processos de localização de falhas, restrição da falha e restauração são normalmente referenciadas simplesmente como reconfiguração. Com isto, fica claro que métodos ativos de tolerância à falhas exigem a capacidade de detecção e localização de falhas.

Figura 5.2 Operação básica de um método ativo de tolerância a falhas.(PRADHAN, 1996)

Dentre os mecanismos de detecção de falha, temos a Duplicação com Comparação (duplication with comparison) que se baseia na construção de duas peças idênticas de hardware que executam as mesmas computações em paralelo e comparam os resultados. Caso haja um desacordo entre os resultados uma mensagem de erro será gerada. Entretanto, apesar de ser capaz de detectar falhas, este método não consegue determinar em qual dos dois módulos ocorreu a falha. Além disso, esta metodologia apresenta os seguintes problemas:

• Dependendo da área de aplicação, o comparador pode não ser capaz de executar a comparação exata;

• O comparador pode falhar e com isso falhas eventuais nos módulos duplicados jamais serão detectadas.

No entanto, existem algumas técnicas capazes de superarem estes problemas. Em sistemas que possuem o microprocessador duplicado, se pode implementar o processo de comparação em software a fim de que o mesmo seja executado pelos microprocessadores. A figura 5.3. mostra um esquema da técnica de duplicação com comparação implementada em software. Neste esquema, cada processador tem sua própria memória para armazenar programas e dados e uma memória compartilhada entre os processadores utilizada para transferir resultados de um processador para o outro a fim de compará-los. Assim, este método detecta eventuais falhas na memória compartilhada e nos processadores.

Figura 5.3 Implementação de um esquema da duplicação com comparação em software.(PRADHAN, 1996)

Existem várias técnicas que podem ser utilizadas para comparar processadores, dentre as quais podemos citar a comparação bit a bit de cada palavra digital.

Além do método acima apresentado, existe o standby replacement ou standby sparing. Neste método um módulo é operacional e os outros servem como standbys ou spares. Quando uma falha é detectada e localizada, o módulo falho deve ser removido e substituído por spares. Assim, a reconfiguração do sistema - que pode ser realizada logo após a falha ter ocorrido - pode ser vista como um interruptor cuja saída é selecionada de um dos módulos, após examinar os

erros associados a cada módulo, que abastecem a entrada do interruptor. Caso os módulos sejam livres de falhas a seleção é feita com base na prioridade fixada; caso contrário, os módulos errados são descartados.

E por fim, salienta-se a redundância de hardware híbrida, que combinacaracterísticas dos métodos passivo e ativo, ou seja, utiliza o conceito de mascaramento de falhas para evitar a propagação de resultados errados, juntamente com recursos de detecção, localização e restauração de falhas. Este tipo de redundância é utilizado somente em aplicações que exigem integridade rápida das computações.

A tabela 5.1 mostra um de maneira bastante clara um resumo comparativo entre os três tipos de redundância de hardware.

Característica Avaliada Técnica PASSIVA Técnica ATIVA Técnica HIBRIDA

Utilizam: Mascaramento de Falhas. Técnicas de detecção, localização e reconfiguração. Mascaramento de Falhas juntamente com reconfiguração. São indicadas em aplicações

que:

Computação crítica que não toleram resultados errados momentâneos.

Em aplicações que toleram temporariamente saídas erradas.

Computação crítica com altos índices de confiabilidade que não toleram resultados errados momentâneos.

Custo: Pequeno Substancial Grande

Tabela 5.1 Comparação dos tipos de Redundância de Hardware.