¿Sueñan los evolutivos con voluntarios interconectados?

Frente a la capacidad de 360 TFlops de Blue Gene, que actualmente aparece primero en la lista top500 de supercomputadores propietarios, el sistema de computación BOINC obtiene en promedio unos 521 TFlops. Esta capacidad de computo es debida a un total aproximado de 2 millones de nodos de los cuales en promedio unos 400000 se encuentran conectados al sistema a través de Internet. Los recursos de estos nodos son cedidos de forma voluntaria por usuarios que deciden procesar paquetes de información en sus propias máquinas, estamos hablando de lo que se denomina computación voluntaria.

Dentro de la computación voluntaria, el paradigma P2P se revela como alternativa para interconectar enormes cantidades de recursos distribuidos de forma descentralizada, es decir, sin ningún sistema de control central (aunque esta es la visión más estricta). Se puede decir que la fase actual de la Computación P2P está en sus inicios y como tal muchos de los trabajos que intentan aplicar este paradigma a problemas clásicos de cómputo representan tímidos avances.

Este es el caso del trabajo de Wei-Po Lee:

donde nos presenta un sistema paralelo de computación evolutiva que intenta aprovechar los recursos de una red de ordenadores mediante una aproximación basada en agentes, que son desarrollados con el framework JADE. La idea de la Computación P2P subyace en el artículo, si bien, son numerosas las cuestiones que no se abordan (p.ej. tolerancia a fallos, capacidad masivamente paralela o que las fases de la evolución sean sincronizadas) y que el mismo autor apunta en el apartado de conclusiones.

Esquematicamente, Wei-Po Lee propone tres tipos de agentes:

  • Agentes de estado, que controlan en cada nodo si los recursos del mismo están disponibles o no.
  • Agentes móviles, encargados de realizar las fases de la evolución en una población de individuos. Cada uno de estos agentes correspondería a una isla dentro del modelo de islas.
  • Agente de sincronización, se trata de un solo agente que se ejecuta en el nodo principal (por lo que existe cierta centralización). Este agente comprueba el estado de los recursos mediante comunicación con los agentes de estado asignando agentes móviles a recursos libres.

Se han realizado varias pruebas a la arquitectura considerando, en una red de 8 nodos, la resolución mediante Programación Genética del problema de evolucionar controladores de robots. Los resultados muestran una ganancia lineal del tiempo de resolución con respecto al número de nodos.

Desde un punto de vista práctico se trata de un buen trabajo, aunque como todo no se puede tener, dista mucho de una metodología formal para paralelizar masivamente algoritmos evolutivos en entornos P2P de computación voluntaria. No hagamos ruido pues y dejemos que los evolutivos sigan soñando con voluntarios interconectados… por el momento.

One thought on “¿Sueñan los evolutivos con voluntarios interconectados?

  1. Pingback: Computación nube en los seminarios de GeNeura « GeNeura Team

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s