Si todavía hay tecnófobos en este mundo, seguro que el pantallazo azul de Windows tiene un alto porcentaje de la culpa. ¿A quién no le han entrado ganas de estrellar el ordenador contra la pared tras la aparición del dichoso mensaje de error? ¡¿Cómo es posible que se cuelgue el PC si está casi nuevo y me ha costado medio sueldo?!
La explicación es sencilla. A grandes rasgos, los ordenadores se cuelgan – sobre todo con sistema operativo Windows – porque las instrucciones se ejecutan de forma secuencial. Es decir, hasta que una orden no se ha completado o ha devuelto una respuesta (aunque sea negativa) no se pasa a la siguiente. Simplificando, si en un momento dado una línea de código falla, se produce un atasco y las siguientes acciones no se llegan iniciar.
Dos ingenieros informáticos del University College de Londres han puesto a prueba la que aparentemente es la solución más lógica: han fabricado un ordenador que ejecuta las instrucciones de forma aleatoria, sin ceñirse a un orden secuencial. ¿El resultado? Un ordenador que teóricamente no se cuelga nunca y que es capaz de solucionar sus propios errores. O, lo que es lo mismo, adiós a la ‘pantalla de la muerte’.
Es una idea de lo más natural, basada en la forma en que lidia con los errores el propio cerebro humano. Pensamos, reaccionamos y damos respuesta a los problemas sin necesidad de un procesador central que siga un orden preestablecido. Lo hacemos de una forma distribuida, con diferentes unidades biológicas de procesamiento trabajando al mismo tiempo en tareas diferentes.
¿Y cómo han conseguido imitarlo en una máquina? Con un componente electrónico conocido como como Field Programmable Gate Array (FPGA) y que hace las veces de un agente de tráfico, abriendo y cerrando el paso. A medida que van llegando las instrucciones, el FPGA busca un hueco en el procesador y las va dando paso, de forma aleatoria, permitiendo que se ejecuten varias a la vez y evitando que la siguiente tenga que esperar a que la anterior termine (si alguna vez lo hace).
Gracias a que los distintos “sistemas” se ejecutan de forma independiente, si se cuelga uno no tienen por qué hacerlo todos los demás. El ordenador sigue funcionando. De hecho, es aún mejor, pues es perfectamente posible iniciar una nueva tarea que analice y repare la que se ha colgado.
La creación de código que se auto-repara ha acaparado los esfuerzos de numerosos informáticos durante los últimos años. Ahora, gracias al experimento de Christos Sakellariou y Peter Bentley, al menos sabemos que el sueño de un ordenador que jamás se cuelga está un poco más cerca de hacerse realidad. Para el futuro queda resolver las dificultades a las que se enfrentaría un desarrollador que quiera escribir programas para este tipo de máquinas.
Redacción QUO