Mecanismo de tolerância a falhas através de escalonamento para uma arquitetura reconfigurável de grão grosso - Santos, Eliselma Vieira dos (2015)
A evolução contínua da tecnologia de circuitos integrados tem permitido integrar milhares de transistores em uma única pastilha de silício. Devido à miniaturização desta tecnologia, a redução do diâmetro do fio e do transistor os tornaram mais frágeis e suscetíveis a quebras, tornando o circuito mais susceptível a falhas permanentes tanto durante o processo de fabricação quanto durante seu tempo de vida útil. As arquiteturas reconfiguráveis de grão grosso, também chamadas de CGRAs (Coarse Grained Reconfigurable Architectures), têm sido utilizadas como uma alternativa às arquiteturas tradicionais para tentar tolerar essas falhas, devido à sua intrínseca redundância de hardware e ao alto desempenho obtido por essas arquiteturas. Essa dissertação propõe um mecanismo de tolerância a falhas numa CGRA com o objetivo de aumentar a tolerância da arquitetura mesmo considerando uma alta taxa de falhas. O mecanismo proposto foi adicionado ao escalonador da CGRA, que consiste no mecanismo responsável pelo mapeamento das instruções na arquitetura. O mapeamento das instruções ocorre em tempo de execução, traduzindo o código binário sem a necessidade de recompilação. Além disso, para permitir a aceleração da aplicação, o mapeamento é realizado através de um algoritmo guloso que faz uso do modulo scheduling, que consiste em uma técnica em software pipeline para aceleração de laços. Os resultados obtidos a partir de simulações de injeção de falhas e de execução do escalonador demonstram que, mesmo com o mecanismo de tolerância a falhas proposto, o tempo de mapeamento das instruções se mantém na ordem de microssegundos. Esse resultado permite que o mapeamento das instruções continue sendo realizado em tempo de execução. Além disso, também foi realizado um estudo de taxa de mapeamento do escalonador. Os resultados demonstram que, mesmo com taxas acima de 50% de falhas em unidades funcionas e componentes de interconexão, o escalonador conseguiu mapear instruções na arquitetura em parte das aplicações testadas.