Exploração adaptativa de paralelismo sob restrições físicas e de tempo real em sistemas embarcados tolerantes a falhas - Itturriet, Fabio Pires (2012)
A constante redução nas dimensões dos transistores foi o principal combustível capaz de manter o crescente desempenho exigido por aplicações. Ao mesmo tempo, as tensões de alimentação dos circuitos também são reduzidas a cada novo nó tecnológico, fazendo com que partículas como nêutrons e partículas alpha, portando quantidades de energia cada vez menores sejam capazes de gerar os chamados soft errors, que impactam diretamente na redução da confiabilidade dos sistemas embarcados atuais. Isto faz com que a implementação de técnicas de tolerância a falhas se tornem praticamente obrigatórias para tecnologias atuais e futuras. Estes mesmos sistemas embarcados, como smartphones, devem apresentar alto poder de processamento, visando atender um crescente conjunto de aplicações de natureza heterogênea, consumindo a mínima potência possível. Nestes sistemas, algumas dessas principais aplicações como codec GSM, cancelamento de eco acústico, processamento de áudio e vídeo apresentam em comum a necessidade de multiplicar matrizes de diferentes dimensões em determinados intervalos de tempo. Pensando nestas demandas, será proposta a arquitetura RA3, cujo objetivo é executar o algoritmo de multiplicação de matrizes em paralelo com a técnica de tolerância a falhas conhecida na literatura como ABFT, visando a aumentar a confiabilidade da mesma. Além disso, a RA3 possui uma estrutura adaptativa que permite que unidades internas como memórias, multiplicadores e somadores sejam ligadas ou desligadas através da aplicação da técnica de power gating em tempo de execução, conforme restrições impostas pela largura da banda de memória, power budgets e deadlines impostos por aplicações de tempo real, visando executar tarefas consumindo a mínima potência possível. Para avaliar as funcionalidades propostas, dois estudos de caso reais são apresentados e o comportamento da arquitetura é avaliado sobre diversos aspectos como desempenho, área, consumo de potência e cobertura de falhas. Finalmente é possível comprovar que a adaptabilidade proposta pela arquitetura RA3 permite que seja encontrada, em diversos cenários, a quantidade exata de recursos necessários para executar determinadas aplicações sem comprometer as restrições impostas principalmente no consumo de potência e por aplicações com deadlines críticos, mantendo ainda altas taxas de cobertura de falhas.