Computação Reconfigurável Aplicada na

Tolerância à Falhas de Sistemas Digitais

Fernanda Gusmão de Lima Kastensmidt (http://www.inf.ufrgs.br/~fglima)

Instituto de Informática da Universidade Federal do Rio Grande do Sul, Porto Alegre, Brasil

 

  Hoje em dia, quando operamos um sistema computacional, muitas vezes presenciamos erros na execução de programas, perdas de informação ou travamento do sistema. Há muitos níveis de implementação que podem ocasionar esses erros. Muitas vezes, culpamos o sistema operacional ou o software da aplicação utilizada. Porém, o hardware também pode contribuir com uma parcela destes erros devido ao aumento da susceptibilidade a falhas de efeito transiente e permanente que pode ocorrer nas novas tecnologias de fabricação CMOS de circuitos integrados. Muitas aplicações são ditas criticas e necessitam de alta confiabilidade, como, por exemplo, controle de tráfego aéreo, monitoramento de pacientes em hospitais, sistemas embarcados em veículos, sondas espaciais, equipamentos militares de defesa, etc. A tecnologia de fabricação CMOS de semicondutores está periodicamente rompendo limites em termos de redução nas dimensões dos transístores, na tensão de alimentação, aumento de velocidade de processamento e de densidade lógica. Devido a essa evolução da tecnologia, os circuitos estão tornando-se cada vez mais vulneráveis a ruídos internos e externos, provenientes do acoplamento de sinais e da radiação presente não apenas no espaço sideral, como também na atmosfera terrestre. E consequentemente, técnicas de tolerância a falhas devem ser aplicadas a esses circuitos.

  Circuitos programáveis, conhecidos como Field Programmable Gate Array (FPGA), estão cada vez mais sendo utilizados em aplicações de sistemas digitais devido a sua grande flexibilidade, alta complexidade e densidade lógica, com processadores dedicados e memórias embarcados na arquitetura, e bom desempenho. Uma das suas principais características é a reconfigurabilidade. Embora FPGAs apresentem ainda um grande número de células de memória responsáveis por toda a sua programação que são muito sensíveis a falhas e devem ser protegidos, o fato de serem reconfiguráveis traz vantagens extras na correção e funcionamento de aplicações na presença de falhas permanentes e transientes. Essa palestra irá discutir o efeito de falhas permanentes e transientes na arquitetura de FPGAs customizados por células SRAMs e possíveis aplicações de uso do FPGA para melhorar a confiabilidade de sistemas digitais com base no uso da reconfiguração. Exemplos de tolerância a falhas baseada em reconfiguração é a reprogramação parcial de partes do FPGA para evitar pontos com falhas permanentes, reprogramar partes do FPGA com novos códigos de correção de erros (EDAC) e a reconfiguração de partes do roteamento para evitar falhas no mesmo.