Algoritmos Evolutivos en Nodos Heterogéneos

11
Algoritmos Evolutivos en nodos heterogéneos lunes 26 de noviembre de 2012

Transcript of Algoritmos Evolutivos en Nodos Heterogéneos

Page 1: Algoritmos Evolutivos en Nodos Heterogéneos

Algoritmos Evolutivos en nodos heterogéneos

lunes 26 de noviembre de 2012

Page 2: Algoritmos Evolutivos en Nodos Heterogéneos

Medidas de rendimiento• Esfuerzo numérico (número de evaluaciones): a veces no es constante (ej: PG). La meta del

paralelismo no es reducir el número de evaluaciones, sino el tiempo.

• Tiempo total: se debe usar el wall clock time.

• Ganancia: usar tiempos medios (la E), el algoritmo uniprocesador y monoprocesador deben de ser el mismo y debe ejecutarse hasta encontrar el óptimo. Entonces es justo.

• Sm = E[T1]/E[Tm]

• Ganancia sublineal: Sm<m

• Ganancia lineal sm = 1

• Ganancia superlineal Sm > m

lunes 26 de noviembre de 2012

Page 3: Algoritmos Evolutivos en Nodos Heterogéneos

Medidas de rendimiento (II)

• Ganancia fuerte: paralelo vs. el algoritmo secuencial más rápido que existe (difícil de encontrar)

• Ganancia débil: compara el algoritmo paralelo del investigador con su propia versión secuencial.

• Ganancia con parada de solución (NO ME QUEDA CLARO)

• Versus panmixia: comparar el algoritmo paralelo con la versión canónica secuencial

• Orthodox: comparar el tiempo de ejecución del algoritmo paralelo en un procesador contra el tiempo del mismo algoritmo en m procesadores (mismo código, misma precisión)

• Velocidad con esfuerzo predefinido

lunes 26 de noviembre de 2012

Page 4: Algoritmos Evolutivos en Nodos Heterogéneos

Medidas de rendimiento (III)

• Serial fraction: fm = (1/sm-1/m)/(1-1/m): en un sistema ideal debería ser constante.

• Si se mantiene constante, pero la eficiencia es del 87% es un buen resultado, por ejemplo.

• Si fm aumenta: granularidad demasiado fina

• Si fm disminuye: hay ganancia superlineal

lunes 26 de noviembre de 2012

Page 5: Algoritmos Evolutivos en Nodos Heterogéneos

Métricas paralelas mal utilizadas• “He comparado a igual número de evaluaciones”: a veces el tiempo de evaluación no es

constante (ej. PG). Hay que usar también el tiempo.

• Comparar medias/medianas: decir si son estadísticamente diferentes: kolmogorov(datos)?anova:kruskal-wallis

• Comparar diferentes algoritmos con diferente precisión: ej: distintos tipos de problemas (50 y 100 ciudades)

• Comparar versiones paralelas vs la canónica: GA vs distributed GA. Son DISTINTOS. (Duda: entonces dividir el espacio de búsqueda?)

• Usar un esfuerzo predefinido y comparar resultados: está bien, PERO no se puede ver la eficiencia-> usar tiempo en llegar al óptimo.

lunes 26 de noviembre de 2012

Page 6: Algoritmos Evolutivos en Nodos Heterogéneos

Ejemplos

• Ganancia panmictica vs orthodox: SA vs pSA y pSA1 vs pSAn (no sé cómo se calcula)

• Esfuerzo predefinido: las soluciones son distintas

• Otras métricas: encontrar el óptimo->el número de evaluaciones es distinto: comparativa justa. Si la ganancia (eficiencia) va disminuyendo pero el serial fraction se mantiene entonces se debe a la parte sequencial intrínseca (no una mala implementación)

lunes 26 de noviembre de 2012

Page 7: Algoritmos Evolutivos en Nodos Heterogéneos

Ganancia superlineal en PEAs

• Fuente de implementación: usar múltiples procesadores para las operaciones en una población panmictica

• Fuente numérica: dividir el espacio de búsqueda

• Fuente física: al dividir hay más acceso a cachés y menos a memoria, etc...

lunes 26 de noviembre de 2012

Page 8: Algoritmos Evolutivos en Nodos Heterogéneos

Experimentos

• Steady state (mu+1) que envía cada 32 generaciones.

• Criterio de parada: encontrar el óptimo

• Recursos homogéneos vs. heterogéneos: 8 islas.

• Resultados: p-values 2 a 2

• Clústers heterogéneos se comportan mejor que homogéneos!

lunes 26 de noviembre de 2012

Page 9: Algoritmos Evolutivos en Nodos Heterogéneos

Otro ejemplo

• HydroCM: Asignar metaheurísticas más simples a nodos más lentos siguiendo un esquema de distintas moléculas

lunes 26 de noviembre de 2012

Page 10: Algoritmos Evolutivos en Nodos Heterogéneos

Ideas• Asignar costes a cada operación en cada máquina (hay mucha diferencia). Hacer experimentos homogéneos y

heterogéneos.

• Criterio de parada A: gastar X “monedas”

• Dividir homogéneamente el número de monedas entre las máquinas

• Dividir heterogéneamente el número de monedas entre las máquinas (las lentas reciben menos)

• Banca central

• Criterio de parada B: alcanzar el óptimo, y comparar el tiempo y el número de monedas gastadas (problema: en teoría debería haber correlación entre el tiempo y las monedas)

• ¿Por qué?

• Como base para EAs que se adapten a las máquinas donde se ejecutan (por ejemplo, adaptando las tasas teniendo en cuenta las monedas restantes y el precio de las operaciones)

lunes 26 de noviembre de 2012

Page 11: Algoritmos Evolutivos en Nodos Heterogéneos

Bibliografía

• Alba et al. Heterogeneous Computing and Parallel Genetic Algorithms. Journal of Parallel and Distributed Computing, 62 (2002)

• Alba et al. Evaluation of parallel metaheuristics, PPSN 2006, LNCS 4193 (2006)

• Domínguez et al. HydroCM: A Hybrid Parallel Search Model for Heterogeneous Platforms. Hybrid Metaheuristics, SCI 434 (2013)

lunes 26 de noviembre de 2012