Tendencias21

Crean un ordenador que nunca se cuelga

Los avances informáticos podrían dejar sin utilidad el comando resultante de presionar a la vez las teclas control+alt+suprimir. Y es que un equipo de investigadores del University College London (UCL) del Reino Unido trabaja en un ordenador a prueba de fallos basado en un sistema revolucionario y opuesto a lo habitual, pues trata de conseguir mayor eficiencia a partir del caos.

Hasta ahora la arquitectura de la mayoría de los equipos informáticos ha sido leal al diseño convencional de John von Neumann, consistente en utilizar el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos, un modelo que ha perdurado más de medio siglo.

Sin embargo, los investigadores de UCL apuestan por la denominada computación sistémica, organizada sin ningún sentido de programa o memoria de datos, sino siguiendo la aparente aleatoriedad de la naturaleza.

Según publica la revista NewScientist, los ordenadores comerciales actuales son poco adecuados para modelar procesos naturales tales como el funcionamiento de las neuronas o un enjambre de abejas. Esto se debe a que siguen un proceso secuencial, ejecutando una instrucción a la vez. “La naturaleza no es así”, destaca el científico informático de UCL Peter Bentley. “Sus procesos son distribuidos, descentralizados y probabilísticos. Y tolerantes a los fallos, capaces de curarse a sí mismos”, matiza.

Por eso aspira a diseñar equipos que sigan esta línea. El resultado sería una máquina de auto-recuperación muy valiosa, sobre todo por garantizar su funcionamiento en misiones críticas. Así, permitiría la reprogramación de drones con daños de combate, o ayudaría a crear modelos más realistas del cerebro humano.

El orden en sistemas

Los ordenadores actuales trabajan constantemente siguiendo una lista de instrucciones: se extrae una de la memoria y se ejecuta; después, el resultado del cálculo se guarda en la memoria. Y así se va repitiendo el proceso, siempre bajo el control de un temporizador secuencial denominado contador de programa.

Aunque se trata de un buen método para procesar datos numéricos, no se presta a operaciones simultáneas. “Incluso cuando parece que un equipo está ejecutando todo el software al mismo tiempo, está fingiendo hacerlo, moviendo su atención muy rápidamente entre cada programa”, explica Bentley.

Él y su colega Christos Sakellariou de UCL han creado un ordenador donde los datos van unidos a instrucciones sobre qué hacer con ellos. Por ejemplo, se vincula la temperatura exterior con lo que se debe hacer si es demasiado alta. A continuación, se dividen los resultados en agrupaciones de entidades digitales llamadas sistemas, de ahí el apodo de ordenador sistémico.

Cada sistema dispone de su propia memoria con datos sensibles al contexto, lo que significa que sólo puede interactuar con otros sistemas similares. En lugar de utilizar un contador de programa, los sistemas se ejecutan en momentos elegidos por un generador de números pseudoaleatorio, diseñado para imitar la aleatoriedad de la naturaleza. De esta forma todos llevan a cabo sus instrucciones al mismo tiempo, sin que ningún sistema prevalezca sobre los otros. “El conjunto de sistemas interactúa de forma paralela, y al azar, y el resultado de un cálculo simplemente emerge de estas interacciones”, indica Bentley.

Otra de las diferencias del ordenador sistémico es que contiene múltiples copias de sus instrucciones distribuidas entre los sistemas, de modo que si alguna se daña el ordenador puede acceder a otra copia limpia para reparar su propio código. De esta forma se evita un error habitual en los sistemas operativos convencionales, ya que al basarse en instrucciones lineales, si una falla el código no sabe cómo continuar, de ahí el temido cuelgue o mensaje de error. El ordenador sistémico no tiene ese problema, pues cada sistema individual cuenta con su propia memoria.

Proyectos paralelos

Bentley es consciente de que así explicado suena raro, pero funciona. De ello dará cuenta en una conferencia sobre sistemas evolucionables en el seno de la SSCI IEEE 2013, una de las dos bienales internacionales más emblemáticas para la promoción de la inteligencia artificial, la cual tendrá lugar en Singapur en abril. Según su investigación, el equipo trabaja incluso mucho más rápido de lo esperado.

La pareja trabaja ahora para enseñar al ordenador a reescribir su propio código en respuesta a los cambios en el entorno, recurriendo para ello al aprendizaje automático. Otra aplicación más del incipiente campo de la inteligencia artificial.

En este ámbito se mueve también Spinnaker, un ambicioso proyecto de la Universidad de Manchester, en Reino Unido, inspirado en la naturaleza al igual que el ordenador sistémico. La idea es crear un superordenador que funcione igual que el cerebro humano, utilizando para ello un millón de microchips a modo de neuronas. Se trata de procesadores basados en tecnología ARM, empleada en la mayoría de los teléfonos inteligentes.

El equipo quiere hacer simulaciones paralelas de redes neuronales de gran escala utilizando el equivalente al 1 por ciento del contenido de una neurona del cerebro humano. “Estamos avanzando lentamente, pero sin pausa”, asegura el director del proyecto, Steve Furber.

El mismo ha calificado como “muy interesante” el proyecto de UCL, e incluso se plantea una colaboración. “Spinnaker sería una buena plataforma programable para modelar sistemas de computación sistémicos de mayor escala”, afirma.