Google desarrolla el proyecto SiliFuzz para la detección masiva de defectos ocultos en la CPU
Google ha estado trabajando duro para detectar proactivamente los defectos de software en proyectos clave de código abierto. Pero ahora se ha revelado que la empresa también está desarrollando SiliFuzz, un sistema que detectará defectos en los procesadores.
Qué es
El principio de SiliFuzz consiste en analizar el rendimiento del procesador ejecutando datos de prueba previamente preparados y recogidos mediante emuladores. Es una forma de desfase: el procesador se carga con cálculos "aleatorios", cuyo resultado se comprueba a la salida. Si hay una discrepancia, el procesador se considera defectuoso.
Por qué es necesario
El sistema está diseñado principalmente para detectar defectos eléctricos en los chips que pueden producirse durante la fabricación, el montaje, el flujo de trabajo, etc. Se presta especial atención a estos, más que a los fallos lógicos de los propios procesadores. Al mismo tiempo, las pruebas en cuestión no utilizan ningún mecanismo de depuración de bajo nivel, lo que permite utilizarlas en sistemas "vivos".
En esencia, la tarea de los desarrolladores es crear un sistema que pueda probar rutinariamente cada núcleo de cada servidor de Google con un impacto mínimo en su rendimiento. En su forma actual, SiliFuzz selecciona un momento en el que la carga de una máquina en particular no es demasiado pesada, y prueba sistemáticamente grupos de cuatro hilos (2 núcleos con SMT) en no más de dos minutos. En la actualidad, los desarrolladores se centran en los procesadores x86-64, muy utilizados por la propia Google.
El objetivo principal del proyecto es automatizar la detección de defectos ocultos que conducen a errores de cálculo, que son mucho más peligrosos que las simples caídas y fallos, ya que sólo pequeñas desviaciones en el funcionamiento del chip conducen a la acumulación de toda una serie de errores. En algunos casos, la diferencia era inferior al 0,0000003%, pero podía ser suficiente para causar problemas graves.
¿Qué eficacia tiene
? Alrededor del 45% de los defectos detectados por SiliFuzz no son rastreados por otras herramientas. Los futuros desarrolladores tienen previsto ampliar SiliFuzz, aumentando la velocidad del programa y mejorando su calidad general.
Ilustración: Laura Ockel en Unsplash