2024/10/02

Quando os CPUs erram

Por vezes os CPUs podem não ser tão exactos ou correctos como se pensa, e a Google tem que lidar com esses casos raros que podem fazer desesperar utilizadores e programadores.

A maioria das pessoas nunca tem de se preocupar com o facto de o CPU do nosso computador cometer erros, mas para uma como a Google - que se estima que tenha um milhão de servidores em funcionamento - isso é uma preocupação real. Uma preocupação que é demonstrada por um artigo publicado precisamente a propósito destes núcleos de processamento peculiares (pdf), que descreve como um pequeno número de núcleos de CPU numa grande quantidade servidores é instável, ocasionalmente dando resultados incorrectos devido a defeitos subtis de fabrico ou ao próprio envelhecimento do hardware. Estes erros podem causar problemas extremamente difíceis de diagnosticar, como corrupção silenciosa de dados, falhas em aplicações e no próprio sistema operativo.

O artigo explica que estes núcleos são raros, afectando apenas alguns em milhares de máquinas. No entanto, quando falham, as consequências podem ser graves. E o problema é que estas falhas parecem estar a tornar-se cada vez mais frequentes, à medida que os CPUs se tornam mais complexos, e aos quais se juntam factores adicionais, como temperatura, tensão aplicada, e idade do hardware.
Um dos maiores desafios com CPUs defeituosos é a dificuldade em detectá-los. Ao contrário dos erros de bits no armazenamento, que podem ser detectados com códigos de correcção de erros, não existe uma forma simples de verificar se um CPU está a funcionar correctamente. Empresas como a Google monitorizam sintomas, como taxas elevadas de falhas em processos ou no kernel, para identificar problemas. Para casos críticos, os investigadores da Google, propõem usar redundância modular tripla, onde o processamento é feito em três núcleos, usando o resultado maioritário como correcto.

Este tipo de problema ganhou maior visibilidade neste último ano devido ao bug nos CPUs Intel, onde um sobretensão excessiva ia causando danos no chip, começando por causar problemas de instabilidade progressiva, até atingir um ponto em que o sistema operativo já nem arrancava.

Tal como qualquer outro componente, o CPU não está isento de ter problemas. Um chip como o M2 Ultra da Apple tem 134 mil milhões de transístores (o M3 Ultra deverá ter mais de 180 mil milhões), pelo que o surpreendente não é que alguns destes transístores possam funcionar mal, mas sim que existam milhões e milhões de computadores onde os CPUs funcionem bem!

Sem comentários:

Enviar um comentário (problemas a comentar?)