Experimentación con algoritmos distribuidos usando herramientas libres y gratuitas
JJ Merelo, Maribel García Arenas, Pedro A. Castillo Valdivieso
@geneurahttp://geneura.wordpress.com
Algoritmos distribuidos con herramientas libres 2
Haciendo ciencia de bajo coste
Algoritmos distribuidos con herramientas libres 3
Almacenamiento en nube: ubicuo, eficaz y gratuito.
Algoritmos distribuidos con herramientas libres 4
El uso del almacenamiento local es transparente a la aplicación
Algoritmos distribuidos con herramientas libres 5
Qué proponemos en este trabajo
Usando un modelo isla, probar las posibilidades del almacenamiento compartido como medio de
transmisión de inmigrantes.
Algoritmos distribuidos con herramientas libres 6
Metodología modelo isla
● Cada isla es un proceso.● Intercambio de inmigrantes a través de un directorio
compartido.– Deja: Aleatorio entre 50% mejor.– Toma: uno aleatorio.
● Problema p-peaks P=256 512 bits● Población=1024● Terminación: cuando uno termina.
Algoritmos distribuidos con herramientas libres 7
Ciencia abierta
● Software y datos libres: https://code.launchpad.net/~jjmerelo/simplea/trunk
● Trabajo abierto en http://github.com/CANUBE/maeb-2013
Algoritmos distribuidos con herramientas libres 8
La velocidad mejora con el
número de islas
Algoritmos distribuidos con herramientas libres 9
Incluso con un
ordenador poco
potente
Algoritmos distribuidos con herramientas libres 10
El proceso en paralelo hace que mejore el fitnes más
rápidamente
Algoritmos distribuidos con herramientas libres 11
Pero ¿y el Dropbox?
● Pruebas iniciales indican que hay mejoras al añadir nuevos nodos– Pero no significativas.
● Hay que trabajar con diferentes configuraciones para conseguir estas mejoras– Como en trabajos anteriores.
Algoritmos distribuidos con herramientas libres 12
Conclusiones
● Paralelismo en una caja puede ser una forma de obtener mejora de prestaciones.
● Guardar individuos aleatorios y tomarlos de un grupo es todo lo necesario para conseguir paralelismo.
Algoritmos distribuidos con herramientas libres 13
Trabajo futuro
● Probar condiciones necesarias para que estas mejoras se puedan propagar usando sistemas de almacenamiento en nube
● Realizar pruebas con problemas de diferente tamaño para caracterizar el tipo de problemas para el cual supone un beneficio.
Algoritmos distribuidos con herramientas libres 14
Muchas gracias¿Alguna pregunta?