Unos transistores especializados detectan los errores de hardware a medida que ocurren.
A medida que los microprocesadores se vuelven más pequeños y más intrincados, encontrar los errores de hardware responsables de que un equipo se bloquee requiere más tiempo, dinero y esfuerzos de ingeniería. Sin embargo, los ingenieros de la Universidad de Stanford acaban de proponer un atajo que podría ayudar a localizar errores en una fracción del tiempo utilizado hasta ahora.
La depuración normalmente consiste en colocar un chip a lo largo de una batería de pruebas para identificar los puntos que pueden fallar y dar a los ingenieros una oportunidad de resolver los problemas antes de que los chips entren en su fase de producción en masa. A medida que las empresas de fabricación de chips aumentan la funcionalidad de su hardware, esto se hace cada vez más complicado.
Subhasish Mitra, profesor de ingeniería eléctrica e informática en Stanford, y junto a sus colegas, ha desarrollado un método que utiliza una pequeña cantidad (alrededor de un 1 por ciento) de los transistores de un chip para grabar un registro de la actividad del chip—las instrucciones que pasan a través de los circuitos del chip. Este registro puede ser extraído del chip, colocarse en un ordenador, y analizarse para averiguar donde están los errores.
"Cuesta muchísimo dinero diagnosticar si los chips están fallando", afirma Rob Rutenbar, profesor de ciencias informáticas en la Universidad de Illinois, y que no estuvo involucrado en la investigación. Al tiempo que las características de los microprocesadores se vuelven más pequeñas, señala Rutenbar, "la gente se preocupa más por el desgaste y los problemas de fiabilidad."
Los ingenieros realizan pruebas de errores a lo largo de la fabricación de los chips. En primer lugar, analizan los diseños para encontrar los errores denominados como errores funcionales o de lógica. Más tarde, después de que los diseños hayan sido grabados en el silicio, los ingenieros buscan fallos que puedan surgir durante condiciones de funcionamiento tales como la reproducción de vídeo o la navegación por internet. Este proceso se denomina depuración de post-silicio, y entre un 30 y un 40 por ciento del tiempo y el dinero dedicado a fabricar un nuevo chip por empresas como Intel y AMD se dedica a la depuración de post-silicio, afirma Mitra.
Durante la fase de post-silicio, los ingenieros envían unas señales de pulso eléctrico a través del chip, imitando la actividad eléctrica observada durante las operaciones normales. Si un chip falla durante estas pruebas, los ingenieros tratan de volver a crear las señales eléctricas que causaron el problema. A continuación, tratan de ubicar el conjunto exacto de instrucciones y condiciones responsables del error. Sin embargo esta simulación toma tiempo: un solo segundo en el silicio puede equivaler a días de simulación, asegura Mitra. Por otra parte, muchos de los errores se producen debido a temperaturas de funcionamiento y cargas de trabajo que son difíciles de volver a crear. "El problema es que cambia todo el estado eléctrico del sistema", advierte Mitra.
Por tanto, Mitra y el estudiante graduado de Stanford Sung-Boem Park decidieron capturar evidencias de los errores al mismo tiempo que ocurrían, eliminando gran parte del tiempo dedicado a la realización de simulaciones eléctricas. El reto consistió en encontrar la forma correcta de registrar la información sobre las instrucciones del chip sin tener que usar demasiados transistores y sin almacenar demasiada información. Para ello, construyeron dispositivos de grabación, o buffers, dentro de los chips. Esta no es una idea nueva. De hecho, casi cualquier tipo de chip comercialmente disponible en la actualidad posee un pequeño número de transistores cuyo trabajo es contener pequeñas cantidades de datos sobre la actividad del chip—para garantizar, por ejemplo, que las operaciones están sincronizadas a través del chip.
El método de los investigadores de Stanford, llamado grabación y análisis de la huella de las instrucciones (IFRA, en inglés), fue diseñado para recolectar la cantidad justa de información sobre la actividad del chip en el momento justo. Al tiempo que miles de millones de instrucciones pasan a través de un chip, la información que describe esas instrucciones pasa a través de los llamados "buffers circulares", unos recipientes que contienen información por un corto periodo de tiempo antes de ser refrescada. En caso de detección de un fallo o indicio de un fallo inminente, el sistema deja de grabar en el búfer circular y guarda las instrucciones defectuosas.
Cuando un chip falla, los datos que representan la actividad del chip han sido transferidos al ordenador. Un software desarrollado por los investigadores descifra las etiquetas, analizando las instrucciones—y la ubicación correspondiente en el chip—que llevaron al error. Los ingenieros, una vez que conocen la ubicación del error, pueden hacer pequeños cambios, tales como la modificación del tiempo de las instrucciones, para así evitar que el error se repita.
Mitra ha colaborado con Intel y ha puesto a prueba su IFRA en los chips Core i7, que pueden llegar a tener de dos a seis núcleos, y descubrió que, en general, IFRA es capaz de localizar el 96 por ciento de los errores y detectar el 80 por ciento de las veces su tiempo y ubicación exacta. Una descripción de la técnica apareció en la edición de febrero de Communications of the ACM.
En un artículo de perspectiva escrito sobre el trabajo, Shekhar Borkar, director del laboratorio de tecnología de microprocesadores de Intel, escribe que "no me sorprendería si el método de los investigadores se extiende de forma rápida."
Borkar añade que posee "un gran potencial para ir más allá y ayudar a depurar multi-núcleos, sistemas de memoria, circuitos analógicos, e incluso complejos SOCs [sistemas sobre chips]."
Sin embargo, la investigación aún está en una fase inicial, afirma Rutenbar. La preocupación principal se centra en equilibrar la cantidad de hardware utilizada para rastrear errores con el número de problemas que se pueden encontrar. Aún así, afirma, "Creo que el IFRA es un trabajo muy bueno".