Metas Predecir el rendimiento de programas paralelos Entender los obstáculos que impiden mejor rendimiento
Bosquejo Formula General para speedup La Ley de Amdahl La Ley de Gustafson-Barsis La Métrica de Karp-Flatt La Métrica de Isoeficiencia
Speedup Speedup = ts /tp donde ts es el tiempo que se requiere para ejecutar el programa secuencialmente y tp es el tiempo que se requiere para ejecutar el programa en paralelo
Quinn denota speedup por ?(n,p) donde n es el tamaño del problema y p es el número de procesos
Speedup (cont) ?(n,p)=p ?(n,p)=p si el problema se particiona perfectamente en p procesos iguales y no hay ningun "overhead" debido a, por ejemplo, comunicaciones, coordenació de procesos, el costo de particionar, etc.
Los Componentes de Tiempo de Ejecutación Computaciones que tienen que hacer secuencialmente: ?(n) Computaciones que se pueden llevar a cabo en paralelo: ?(n) Operaciones de comunicaciones: ??(n,p)
Expresión para Speedup ts = ?(n) + ?(n) tp = ?(n) + ?(n)/p + ??(n,p) Por lo tanto,
?(n,p) = (?(n) + ?(n))/(?(n) + ?(n)/p + ??(n,p))
?(n)/p Aumentar el número de procesadores reduce el tiempo computacional
?(n)/p
?(n,p) El tiempo de comunicaciones crece con la cantidad de procesadores
?(n,p)
En algun momento el tiempo de comunicaciones será mayor que el tiempo computacional
?(n)/p + ?(n,p) ?(n)/p + ?(n,p)
Speedup
Eficiencia Eficiencia = tS / (p*tp) donde p es el número de procesadores
Ya que tp = tS / p, tenemos que 0 = Eficiencia = 1 Quinn denota eficiencia por ?(n,p) Notemos que ?(n,p)=?(n,p)/p
La Ley de Amdahl ?(n,p) = (?(n) + ?(n))/(?(n) + ?(n)/p + ??(n,p)) = (?(n) + ?(n))/(?(n) + ?(n)/p ) Si f es la porción de la computación que es inherentemente secuencial, es decir que f=?(n)/(?(n) + ?(n)), entonces
? = 1/(f+(1-f)/p)
Notemos que ? = 1/f
Página siguiente |