Algoritmos Evolutivos en Nodos Heterogéneos
-
Upload
pablo-garcia -
Category
Documents
-
view
874 -
download
2
Transcript of Algoritmos Evolutivos en Nodos Heterogéneos
Algoritmos Evolutivos en nodos heterogéneos
lunes 26 de noviembre de 2012
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
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
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
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
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
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
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
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
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
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