Investigadores crean computador “sistémico” que nunca se cuelga
Puede que la “pantalla azul de la muerte” o los
congelamientos espontáneos de una computadora sean poco recurrentes en
la actualidad, pero de vez en cuando nos seguimos encontrando con ellos.
¿Es posible crear una máquina que nunca se quede pegada? Investigadores
de University College London se hicieron esta pregunta y crearon lo que
ellos llaman un computador “sistémico”, que es capaz de autorepararse y recuperarse de caídas de sistema.
La clave está en imitar el azar aparente que existe en la naturaleza.
Los computadores actuales no son buenos modelando procesos naturales,
como por ejemplo la forma en que funcionan las neuronas en el cerebro, o
cómo se agrupan las abejas. Esto se debe a que trabajan de forma
secuencial, es decir, ejecutando una tarea a la vez.
Puede ser que la computadora nos haga creer que está trabajando en
múltiples procesos al mismo tiempo, aunque en realidad lo que hace es
cambiar rápidamente su atención entre todas las tareas que están
corriendo. Las tareas son extraídas de la memoria, ejecutadas y el
resultado es vuelto a poner en la memoria. Mientras el temporizador
secuencial o contador de programa no
deje a ninguna tarea esperando más de una fracción de segundo, no nos
damos cuenta de que esto ocurre.
Este sistema nos ha servido, sin
embargo, el punto débil está en que cuando uno de los procesos falla,
toda la computadora se congela.
En la naturaleza, explican los investigadores Peter Bentley y
Christos Sakellariou, los procesos son distribuidos, descentralizados y
probabilísticos, además de resistentes a las fallas ya que pueden
adaptarse.
Los investigadores crearon entonces una computadora en la que los
datos están integrados con las instrucciones sobre qué hacer con
ellos. Por ejemplo, el computador podría ser capaz de monitorear la
temperatura en un ambiente, y al mismo tiempo tener instrucciones de qué
hacer en caso de que ésta suba a un rango específico. Luego se divide
el resultado en “sistemas”. Cada sistema contiene una memoria con datos
de contexto, que implican que este sistema sólo podrá interactuar con
otros similares. En lugar de usar un contador de programa, los sistemas
se ejecutan en momentos elegidos por un generador aleatorio de números,
diseñado para imitar el azar en la naturaleza.
Los sistemas ejecutan sus instrucciones de forma simultánea, sin que ninguno resulte más importante que otro. Los grupos de sistemas interactúan en paralelo y al azar. Aunque suena confuso, funciona y los investigadores presentarán la máquina en una conferencia de sistemas evolutivos en Singapur en abril.
¿Y la capacidad de auto-reparación? El computador sistémico contiene varias copias de sus instrucciones de forma distribuida en varios sistemas diferentes, de modo que si uno se corrompe, el computador puede acceder a una de las copias que no estén afectadas para auto-reparar su propio código. Así, en lugar de colgarse como ocurre con un computador tradicional cuando no puede acceder a parte de la memoria, el computador sistémico sigue adelante porque cada sistema individual contiene su propia memoria.