Understanding and improving GPUs’ reliability combining beam experiments with fault simulation - Santos, Fernando Fernandes dos (2021)
Graphics Processing Units (GPUs) passaram de dispositivos dedicados a aplicações mul timidia e gaming, para se tornarem aceleradores de propósito geral usados em High Per formance Computing (HPC) e aplicações críticas como carros autônomos. Tal mudança no mercado das GPUs levou a um aumento nas capacidades computacionais, eficiência energética, melhoras nas ferramentas de programação e de análise de performance, e tam bém um aumento na preocupação com a confiabilidade do hardware das GPUs. Com o objetivo de avaliar a confiabilidade das GPUs, pesquisadores expõe o dispositivo a um feixe de nêutrons e realizam injeções de falhas para simular a propagação das falhas. Se por um lado experimentos de radiação provêm uma taxa de falhas realista, por outro lado eles não permitem visualizar a propagação das falhas no hardware e na aplicação. Contrariamente, a injeção de falhas permite a completa visualização da propagação de uma falha injetada, porém, na maioria das vezes os modelos de falhas são por sua vez li mitados ao que o pesquisador consegue acessar e modificar, o que pode levar a resultados não realísticos. Consequentemente, uma metodologia para estimar com precisão a taxa de falhas de um dispositivo é necessária para responder duas questões fundamentais na avaliação da confiabilidade das GPUs: Se a injeção de falhas consegue prover resultados representativos que podem ser usados para estimar a taxa Failure In Time (FIT) de códi gos executando em GPUs, e se os modelos de falhas que consideram a modificação de um único bit ou dois bits são modelos acurados para simular falhas em uma GPU. Sendo assim, essa tese propõe uma nova metodologia para estimar a taxa Failure In Time de GPUs NVIDIA. A metodologia proposta é possível através da comparação e combinação dos resultados de experimentos de radiação realizados em um feixe de nêutrons de alta energia, que correspondem por mais de 13 milhões de anos de exposição no fluxo terres tre natural, e extensivos experimentos utilizando simulação de falhas (usando SASSIFI e NVBITFI), e profiling de aplicações que requerem mais de 1,000 horas de GPU. Os resultados mostram que, para a maioria dos casos, as taxas de Silent Data Corruptions (SDCs) estimadas são suficientemente perto (diferenças menores que 5×) das estimadas experimentalmente nos testes de radiação. O conhecimento extraído da estimação do FIT é então usado para propor um novo modelo de falhas em oposição ao bit flip único ou duplo. O modelo de falhas proposto é baseado no erro relativo extraído de injeção de falhas em Register Transfer Level (RTL) comparando as diferenças observadas na saída das injeções. Usando uma análise experimental, arquitetural, e algorítmica, esse trabalho apresenta também duas novas soluções de tolerância a falhas para HPC e aplicações críticas. A pri meira solução proposta é a Reduced Precision Duplication With Comparison (RP-DWC), onde o principal objetivo é diminuir a sobrecarga causada pela Duplication With Compa rison (DWC) executando a cópia redundante em uma precisão reduzida. A técnica RP DWC consegue uma taxa de detecção excelente, 86%, com sobrecarga mínima, podendo chegar aumento de tempo de execução mínimos de 0.1%, e em alguns casos somente 24% de aumento no consumo de energia. O segundo tipo de solução proposta é voltado para Convolutional Neural Network, onde duas modificações foram apresentadas. A técnica já conhecida, Algorithm Based Fault Tolerance (ABFT) empregada as multiplicações de matrizes (maior parte do processamento das CNNs) conseguem corrigir mais de 60%