2. 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
3. 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
4. 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
5. 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
6. 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
7. 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
8. 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
9. 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
10. 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
11. 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