Explorando uma solução híbrida : hardware+software para a detecção de falhas tempo real em systems-on-chip (SoCs) - Bolzani, Leticia Maria Veiras (2005)
Nos últimos anos, o crescente aumento do número de aplicações críticas baseadas em sistemas eletrônicos, intensificou a pesquisa sobre técnicas de tolerância à falhas. Durante o período de funcionamento destes sistemas, a probabilidade de ocorrerem falhas transientes e permanentes devido à presença de interferências dos mais variados tipos é bastante grande. Dentre as falhas mais freqüentes, salientam-se as falhas que corrompem os dados e as falhas que alteram o fluxo de controle do processador que executa a aplicação. Assim, a utilização de técnicas capazes de detectarem estes tipos de falhas evita que as mesmas se propaguem pelo sistema e acabem gerando saídas incorretas. Basicamente, estas técnicas são classificadas em dois grandes grupos: soluções baseadas em software e soluções baseadas em hardware. Neste contexto, o objetivo principal deste trabalho é especificar e implementar uma solução híbrida, parte em software e parte em hardware, capaz de detectar em tempo de execução eventuais falhas em dados e no fluxo de controle do algoritmo. Esta solução baseia-se nas técnicas propostas em (REBAUDENGO, 2004) e (GOLOUBEVA, 2003) e implementa parte de suas regras de transformação de código via software e parte via hardware. Assim, informações redundantes são agregadas ao código da aplicação e testes de consistência são implementados via hardware. Em resumo, este trabalho propõe o desenvolvimento de um núcleo I-IP (infrastructure intellectual property), tal como um watchdog, para executar os testes de consistência concorrentemente à execução da aplicação. Para isto, três versões diferentes do I-IP foram implementadas em linguagem de descrição de hardware (VHDL) e avaliadas através de experimentos de injeção de falhas. A primeira versão implementada provê a detecção de falhas em dados e, como todo protótipo, este também apresenta algumas restrições e limitações. A segunda versão também detecta falhas em dados, entretanto, supera todos os problemas da versão anterior. A terceira versão do I-IP agrega à versão anterior a capacidade de detectar falhas de fluxo de controle. Finalmente, após a implementação das versões anteriores, foi especificada uma quarta versão que agrega confiabilidade e robustez ao I-IP desenvolvido através da utilização de algumas técnicas de tolerância a falhas e da especificação de um auto-teste funcional. Os resultados obtidos a partir da avaliação das versões do I-IP garantem que a metodologia proposta neste trabalho é bastante eficiente, pois apresenta uma alta cobertura de falhas e supera os principais problemas presentes nas soluções baseadas em software propostas na literatura, ou seja, degradação de desempenho e maior consumo de memória. Finalmente, cabe mencionar que esta dissertação é o resultado parcial de atividades que fazem parte do escopo do Projeto Alfa (#AML/B7-311-97/0666/II-0086-FI) mantido entre os Grupos SiSC PUCRS (Brasil) e CAD Politecnico di Torino (Itália) no período de 2002-2005.