Escalonador em hardware para deteção de falhas em sistemas embarcados de tempo real - Tarrillo Olano, Jimmy Fernando (2009)
O desenvolvimento de aplicações críticas de tempo real tolerantes a falhas representa um grande desafio para engenheiros e pesquisadores, visto que uma falha pode gerar efeitos catastróficos para o sistema, ocasionando grandes perdas financeiras e/ou de vidas humanas. Este tipo de sistema comumente utiliza processadores embarcados que processam dados de entrada e geram um determinado número de saídas de acordo com as especificações do mesmo. Entretanto, devido à alta complexidade dos sistemas embarcados de tempo real, é cada vez mais freqüente o uso de um sistema operacional com o objetivo de simplificar o projeto do mesmo. Basicamente, o sistema operacional de tempo real (real-time operating system - RTOS) funciona como uma interface entre o hardware e o software. Contudo, sistemas embarcados de tempo real podem ser afetados por falhas transientes. Estas falhas podem degradar tanto o funcionamento da aplicação quanto o do próprio sistema operacional embarcado. Em sistemas embarcados de tempo real, estas falhas podem afetar não somente as saídas produzidas durante a execução da aplicação, mas também as restrições de tempo associadas às tarefas executadas pelo sistema operacional. Neste contexto, o presente trabalho propõe uma nova técnica baseada em hardware capaz de aumentar a robustez de sistemas embarcados de tempo real. A técnica proposta é baseada na implementação de um Infrastructure IP core (I-IP) denominado Escalonador- HW, que monitora a execução das tarefas e verifica se as mesmas estão de acordo com as restrições de tempo e seqüência de execução especificadas. Para validar a técnica proposta, foi desenvolvido um estudo-de-caso baseado em um microprocessador pipeline e um kernel de RTOS, além de um conjunto de benchmarks capazes de exercitar diferentes serviços oferecidos pelo sistema operacional embarcado. Este estudo-de-caso foi mapeado em um dispositivo programável lógico (FPGA). Experimentos de injeção de falhas por Software e Hardware foram realizados para validar a capacidade de detecção de falhas e estimar os overheads introduzidos pela técnica. Os resultados demonstram que a latência de detecção de falhas é menor que a latência de detecção por parte do RTOS, sendo a cobertura de detecção do Escalonador-HW maior que à RTOS. Por ultimo, o overhead introduzido representa aproximadamente 6% do processador Plasma.