An automated framework for early Soft error assessment, identification, and mitigation
Visualizar/abrir
Data
2021Autor
Orientador
Co-orientador
Nível acadêmico
Mestrado
Tipo
Outro título
Um framework automatizado para avaliação, identificação e mitigação de erros transientes
Assunto
Abstract
Multicore electronic computing systems are incorporating more functionalities and new technologies into their software stacks (i.e., kernels, drivers, and heavy applications). The software stacks running on such architectures differ in terms of security, reliability, performance, and power requirement. While supercomputer software development considers performance as primary criteria, software stacks embedded in cars must comply with strict safety and reliability requirements, which are defined ...
Multicore electronic computing systems are incorporating more functionalities and new technologies into their software stacks (i.e., kernels, drivers, and heavy applications). The software stacks running on such architectures differ in terms of security, reliability, performance, and power requirement. While supercomputer software development considers performance as primary criteria, software stacks embedded in cars must comply with strict safety and reliability requirements, which are defined by specific standards such as the ISO 26262 Road vehicles Functional Safety. Such systems are expected to integrate artificial intelligence (AI) and machine learning (ML) techniques that will be just as complex as those found in today’s data centers. Soft error mitigation techniques implemented in software do not impact the manufacturing cost. Nonetheless, there are impacts regarding the execution time, code size, and development effort to port to new architectures and multiple programming languages. This can be time-consuming and not provide a good trade-off on large projects. One solution to reduce the energy and performance overhead is to apply selective hardening covering only the application’s critical parts. This work focuses on enhancing the SOFIA framework capability by including a soft error mitigation module, which supports automatic code protection by applying different software-based soft error mitigation techniques, also called software-implemented hardware fault tolerance (SIHFT). The proposed approach broadens SOFIA’s capabilities by making it the first fully automated framework that supports fast and early soft error assessment, diagnosis, and susceptibility reduction evaluation. The developed mitigation module includes partial and full TMR protection as well as a novel mitigation technique called RAT, which allocates the critical kernel/application function to a specific pool of general-purpose processor registers. Finally, an extensive framework validation is done with over a million fault injections considering distinct Arm processors’ configurations. Experiments show that bare metal applications without external dependencies present promising soft error reliability results, as we have access to most of the executed code. On the other hand, for the majority of Linux applications, the code protection is not as effective. For the three evaluated ML algorithms, results show that partial TMR protection’s improvement is similar to TMR and has up to 50% less performance penalty for all scenarios. The CNN application results show that replication techniques might not be suitable for resource-constraints platforms and that new and lightweight techniques must be investigated. ...
Resumo
Os sistemas de computação multicore estão incorporando mais funcionalidades e novas tecnologias em suas pilhas de software (ou seja, kernels, drivers e aplicações pesadas). As pilhas de software em execução nessas arquiteturas diferem em termos de segurança, confiabilidade, desempenho e requisitos de energia. Enquanto o desenvolvimento de software de supercomputador considera o desempenho como critério principal, as pilhas de software embutidas em carros devem cumprir requisitos estritos de seg ...
Os sistemas de computação multicore estão incorporando mais funcionalidades e novas tecnologias em suas pilhas de software (ou seja, kernels, drivers e aplicações pesadas). As pilhas de software em execução nessas arquiteturas diferem em termos de segurança, confiabilidade, desempenho e requisitos de energia. Enquanto o desenvolvimento de software de supercomputador considera o desempenho como critério principal, as pilhas de software embutidas em carros devem cumprir requisitos estritos de segurança e confiabilidade, que são definidos por padrões específicos como a ISO 26262. Espera-se que esses sistemas integrem inteligência artificial (IA) e técnicas de aprendizado de máquina (ML), que serão tão complexas quanto as encontradas nos data centers atuais. As técnicas de mitigação de erros transientes implementadas em software não afetam o custo de fabricação. No entanto, existem impactos em relação ao tempo de execução, tamanho do código e esforço de desenvolvimento para portar para novas arquiteturas e várias linguagens de programação. Isso pode consumir muito tempo e não oferecer uma boa compensação em grandes projetos. Uma solução para reduzir o overhead de energia e desempenho é aplicar proteção seletiva cobrindo apenas as partes mais críticas da aplicação. Este trabalho foca no aprimoramento da capacidade do framework SOFIA, através da inclusão de um módulo de mitigação de erros, que oferece suporte à proteção automática de código aplicando diferentes técnicas de mitigação de erros transientes baseadas em software. A abordagem proposta amplia os recursos do SOFIA, tornando-o a primeira ferramenta totalmente automatizada que oferece suporte à avaliação rápida e precoce de soft errors, diagnóstico e avaliação de redução de suscetibilidade. O módulo de mitigação desenvolvido inclui proteção TMR parcial e total, bem como uma nova técnica de mitigação chamada RAT, que aloca a função crítica do kernel/aplicação para um pool específico de registradores. Finalmente, uma extensa validação do framework é feita com mais de um milhão de injeções de falha considerando configurações de processadores Arm distintos. Experimentos mostram que aplicações bare metal sem dependências externas apresentam resultados promissores de confiabilidade de erros transientes, já que temos acesso à maior parte do código executado. Por outro lado, para a maioria das aplicações Linux, a proteção do código não é tão eficaz. Para os três algoritmos de ML, os resultados mostram que a melhoria usando proteção parcial do TMR é semelhante ao TMR e tem até 50% menos penalidade de desempenho para todos os cenários. Os resultados da avaliação da aplicação CNN mostram que as técnicas de replicação podem não ser adequadas para plataformas de restrição de recursos e que técnicas de mitigação novas e leves devem ser investigadas. ...
Instituição
Universidade Federal do Rio Grande do Sul. Instituto de Informática. Programa de Pós-Graduação em Microeletrônica.
Coleções
-
Engenharias (7440)Microeletrônica (210)
Este item está licenciado na Creative Commons License