Monitoramento do fluxo de controle de processadores embarcados baseado em profiling de software
AUTOR(ES)
Cláudia Antunes Rocha
DATA DE PUBLICAÇÃO
2007
RESUMO
Nos últimos anos, observa-se com grande euforia o crescimento do mercado de sistemas embarcados nas áreas econômico-sociais de grande importância, tais como a saúde, telecomunicações, automotiva e aeroespacial, entre outras. Como conseqüência, exige-se maior robustez tanto do hardware quanto do software integrante destes sistemas, além de componentes de baixo custo, principalmente memória. Dentre os tipos possíveis de falhas, as falhas que alteram o fluxo de controle de processadores que executam aplicações embarcadas, por implicarem em quase sempre em falhas catastróficas do sistema, são focadas nesta dissertação. Por falhas catastróficas, entende-se como sendo aquelas falhas que além de induzir o sistema a produzir um comportamento diferente daquele esperado para a sua função, implicam na maioria das vezes também na reinicialização do sistema como forma de recuperação da falha. Assim, a utilização de técnicas capazes de detectar estes tipos de falhas evita que as mesmas se propaguem pelo sistema e acabem gerando saídas incorretas, pois tais falhas podem ser catastróficas para a segurança dos usuários e para a imagem e reputação das empresas. Porém, a utilização de técnicas de detecção de falhas gera um aumento na taxa de ocupação de memória do sistema, bem como provoca aumento da degradação de desempenho, o que pode ser considerado um fator crítico tratando-se de aplicações embarcadas de tempo-real. Como alternativa para minimizar estes fatores, três hipóteses foram investigadas, sendo uma delas implementada. Assim, nesta dissertação propõe-se uma abordagem baseada em software profiling que analisa o grafo de fluxo de controle da aplicação, visando à otimização do número de assinaturas (checkpoints) a serem inseridas no código-fonte. Para validar a abordagem proposta, foi realizada por simulação a injeção de três tipos de falhas: jump, nop e bit-flip, sobre diferentes programas aplicativos. Este processo de injeção de falhas foi acelerado via prototipagem do sistema em hardware, através do uso de um FPGA (Field-Programmable Gate Array) em uma placa comercial da Xilinx. A análise dos resultados obtidos indica que a técnica proposta reduz o número de assinaturas inseridas no código da aplicação, e portanto, minimizando o overhead de memória e a degradação do desempenho do sistema, ao passo que mantém aproximadamente inalterado nível de cobertura de falhas quando comparada a outras técnicas atualmente existentes na literatura
ASSUNTO(S)
falha de sistema (engenharia) grafos, teoria dos sistemas (computaÇÃo) engenharia eletrica software
ACESSO AO ARTIGO
http://tede.pucrs.br/tde_busca/arquivo.php?codArquivo=657Documentos Relacionados
- Sistema de monitoramento do potencial de risco de infecção hospitalar em uti-neonatal baseado em agentes de software
- AnÃlise de desempenho de processadores embarcados para controladores lÃgicos programÃveis.
- Implementação e avaliação de máquinas de comitê em um ambiente com múltiplos processadores embarcados em um único chip
- Proposta de ambiente baseado em computação reconfiguravel para aplicação em prototipos de sistemas embarcados
- Processo para análise de compatibilidade de software e hardware em modificações de sistemas computacionais embarcados.