Técnicas de tolerância a falhas baseadas em software de baixo nível para detectar SEUs em Bancos de Registradores de GPUs

Detalhes bibliográficos
Ano de defesa: 2017
Autor(a) principal: Gonçalves, Márcio Macedo
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Não Informado pela instituição
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
GPU
Link de acesso: http://repositorio.furg.br/handle/1/9855
Resumo: Unidades de Processamento Gráfico (GPUs) oferecem grande desempenho computacional para processamento paralelo de dados e contam com ferramentas de desenvolvimento que dão suporte à programação e utilização desses dispositivos em aplicações de propósito geral. Portanto, GPUs são utilizadas em diversos tipos de aplicações e têm despertado o interesse de programadores para utilizá-las também em aplicações que requerem alto grau de confiabilidade, tais como aplicações automotivas, médicas e espaciais. Porém, GPUs são circuitos integrados construídos com as mais modernas tecnologias de circuitos nanométricos, apresentando altíssima densidade de transistores em sua estrutura e operando a altas frequências de clock, o que torna GPUs sensíveis a falhas induzidas por partículas de radiação. Deste modo, é imprescindível que técnicas de tolerância a falhas sejam aplicadas para detecção e correção de falhas induzidas por radiação sempre que GPUs forem utilizadas em aplicações críticas. Este trabalho apresenta uma abordagem de tolerância a falhas baseada em técnicas em software de baixo nível para detectar Single Event Upsets (SEUs) nos registradores de GPUs, o que inclui os registradores do bancos de registradores de dados, de endereço e de predicado, e os registradores de pipeline. As técnicas foram aplicadas sobre quatro algoritmos de estudo de caso, os quais foram executados em uma GPU de propósito geral (GPGPU) baseada na arquitetura NVIDIA G80. Campanhas de injeção de falhas foram feitas em simulação a nível de transferência entre registradores (RTL) nos bancos de registradores e no pipeline. Como caso de uso, foram utilizados quatro algoritmos, em suas versões originais e protegidas. Os resultados mostram uma redução em erros de até 100% e custos de tempo de execução e de ocupação de memória de até 77% e 115% superiores aos valores obtidos das aplicações originais, respectivamente.