Técnicas de tolerância a falhas controladas por software para a proteção do pipeline de processadores gráficos - Braga, Giani Augusto (2023)
A utilização de Processadores Gráficos (Graphics Processing Unit - GPU) na computação gráfica, em aceleradores de uso geral e Computação de Alto Desempenho (High Processing Computing - HPC), recentemente tiveram um crescimento e passaram a ser utilizados em diversas aplicações críticas de segurança, por exemplo em veículos autônomos e avi- ônica. Embora, as mais recentes tecnologias são utilizadas na fabricação das GPUs para satisfazer os requisitos de consumo de energia e desempenho, ainda são sensíveis e suscetíveis a falhas em algumas áreas, dentre elas a aviônica, por possuir um alto grau de exposição a partículas energizadas, como prótons e nêutrons. Os principais efeitos causados por essas partículas energizadas, em circuitos de alta densidade, são conhecidos como Perturbações de Evento Único (Single Event Upset - SEU). Apesar do SEU não resultar na destruição dos circuitos, ele tem o potencial de introduzir erros no armazenamento de dados, afetando principalmente memórias e registradores. Para proteger as GPUs contra esses efeitos, os engenheiros empregam técnicas de tolerância a falhas, que podem ser desenvolvidas por meio de abordagens que combinam o suporte de software e hardware. O objetivo dessa dissertação foi aprimorar a resiliência dos registradores de pipeline em uma arquitetura de GPU. Para isso, foram desenvolvidas duas técnicas híbridas de tolerância a falhas, baseadas em trabalhos relacionados. A primeira técnica é a híbrida XOR e a segunda técnica é a híbrida paridade, que comparam e detectam, por meio de um bit de confiabilidade, se a instrução duplicada está com erro, caso estiver é realizado a correção. Abordagens anteriores concentraram-se em proteger elementos de memória, como arquivos de registradores e memória compartilhada, priorizando proteção por software. Já a proteção dos registradores de pipeline demanda alterações no hardware, tornando essencial o desenvolvimento de técnicas híbridas. A análise das técnicas desenvolvidas foram realizadas por meio de simulação da injeção de milhares de falhas no pipeline da GPU, em até seis aplicações de estudo de caso. Os resultados em termos de overhead do tempo de execução variam de 1,04x a 1,66x e uma detecção e correção de erros de 100% para as quatro aplicações de estudo de caso da técnica híbrida XOR. Para a técnica híbrida paridade, teve um aumento entre 2% e 15% no overhead do tempo de execução, além da redução e correção de em média 47% dos erros.