Redação do Site Inovação Tecnológica - 06/11/2014
Processadores que erram
Não é de hoje que alguns cientistas da computação defendem que um pouco de erro não faz tão mal assim aos resultados dos programas de computador - ainda que outros defendam que computadores não devem jogar dados.
O problema é que está difícil garantir o funcionamento 100% preciso dos transistores devido à miniaturização. Aumentar sua tensão de funcionamento ajuda, mas isso significa mais consumo de energia, mais calor dissipado e ainda mais erros.
Enquanto isso, já se sabe, por exemplo, que um processador "inexato" é muito mais eficiente em termos energéticos, e um processador probabilístico usa 30 vezes menos energia do que um processador comum.
Um impulso para o uso proveitoso de processadores sujeitos aos erros, erros oriundos do adensamento de componentes ou não, veio agora pelas mãos de uma equipe do MIT, nos Estados Unidos.
Programas que aceitam erros
Sasa Misailovic e seus colegas criaram o Chisel, um sistema que permite que os programadores identifiquem seções do seu código que podem tolerar um pouco de erro.
Por exemplo, pequenos erros na renderização de um vídeo ou na apresentação de uma imagem jamais serão notados pelos usuários.
Para ajudar, o programa Chisel simula a execução de cada bloco tantas vezes quantas o programador achar necessário - por exemplo, para ver se uma imagem continua parecendo razoável com 1%, 2% ou 5% de erro. Quando está satisfeito com a dose de imprecisão, o programador configura o bloco de instruções para aquele nível aceitável de erro.
Quando o sistema chega a uma porção do código que pode suportar erros, ele então direciona essas instruções para componentes do hardware menos confiáveis.
A equipe testou seu programa em softwares de processamento de imagens e de análise financeira, e constatou economias de energia entre 9 e 19%, mantendo o nível de precisão exigido pelo programador.