Professional Documents
Culture Documents
Captulo 7
Metas
Predecir el rendimiento de programas paralelos Entender los obstculos que impiden mejor rendimiento
Bosquejo
Formula General para speedup La Ley de Amdahl La Ley de Gustafson-Barsis La Mtrica de Karp-Flatt La Mtrica 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 tamao del problema y p es el nmero de procesos
Speedup (cont)
(n,p)p (n,p)=p si el problema se particiona perfectamente en p procesos iguales y no hay ningun gasto general (overhead) debido a, por ejemplo, comunicaciones, coordenaci de procesos, el costo de particionar, etc.
(n)/p
Aumentar el nmero de procesadores reduce el tiempo computacional
(n)/p
(n,p)
El tiempo de comunicaciones crece con la cantidad de procesadores
(n,p)
(n)/p + (n,p)
En algun momento el tiempo de comunicaciones para un problema de tamao fijo ser mayor que el tiempo computacional (n)/p + (n,p)
Speedup
Eficiencia
eficiencia = tS / (p*tp) donde p es el nmero de procesadores Ya que tp tS / p, tenemos que 0 eficiencia 1 Quinn denota eficiencia por (n,p)
La Ley de Amdahl
(n,p) ( (n) + (n))/( (n) + (n)/p + (n,p)) ( (n) + (n))/( (n) + (n)/p ) Si f es la porcin de la computacin que es inherentemente secuencial, es decir que f= (n)/( (n) + (n)), entonces 1/(f+(1-f)/p) Notemos que 1/f
Ejemplo 1
Hay un programa secuencial que pasa 90% de su tiempo dentro de funciones que se pueden paralelizar. Hay que hacer el otro 10% en un solo procesador. Vale la pena implantar una versin paralela si hay 8 procesadores disponibles?
Ejemplo 1 - Contestacin
Si,
1/(f+(1-f)/p)=1/(.1 + (1-.1)/8) = 4.7
Ejemplo 2
Un programa de animacin genera una pelcula cuadro por cuadro. Cada cuadro se puede generar independemente y se almacena en su propio archivo. Si toma 99 segundos para producir un cuadro y un segundo para almacenarlo, cuanto speedup se puede lograr produciendo la pelcula con 100 procesadores?
Otras Limitaciones
Ignora (n,p) Sobre estima el speedup que se puede lograr
El Efecto Amdahl
En la prctica, el tiempo de comunicacin (n,p) tiene complexidad menor que (n)/p (i.e., el tiempo para la parte paralela) Cuando n crece, (n)/p domina a (n,p) Cuando n crece y el nmero de procesadores se fija, La proporcin secuencial decrece Speedup crece
n = 1,000
n = 100 Processors
Otra Perspectiva
Muchas veces usamos computadoras mas rpidas para resolver problemas mas grandes o para mejorar la precisin. Vamos a tratar tiempo como una constante y permitir que el tamao de problema crece con la cantidad de procesadores.
La Ley de Gustafson-Barsis
( n) +(n) ( n, p ) ( n) +(n) / p
Sea s = (n)/((n)+ (n)/p) (La fraccin de tiempo en una computacin paralela para hacer operaciones inherentamente secuenciales). Entonces
p + (1 p) s
La Ley de Gustafson-Barsis
Implica que cualquier problema que es suficientemente grande puede beneficiarse de paralelismo. La Ley de Gustafson-Barsis predice scaled speedup
Ejemplo 3
Una aplicacin que se ejecuta en 10 procesadores dedica 3% del tiempo en cdigo secuencial. Cual es el speedup mximo?
Ejemplo 3-Contestacin
p + (1 p) s
Por lo tanto,
10 + (1 10)X0.03 = 9.73
Ejemplo 4
Cuanto es la fraccin mxima del tiempo de ejecutacin de un programa paralelo que se puede dedicar a cdigo secuencial si logra un speedup de 7 utilizando 8 procesadores?
Ejemplo 4 -Contestacin
p + (1 p) s
7 = 8+(1 8) s implica que s 0.14
Ejemplo 5
Un program paralelo que usa 32 procesadores pasa 5% de su tiempo ejecutando cdigo secuencial. Cuanto es el scaled speedup
La Metrica de Karp-Flatt
Las leyes de Amdahl y de GustafsonBarsis ignora (n,p) Por eso, puede sobre estimar speedup. Karp y Flatt han propuesto otra mtrica
Example 1
p 2 3 4 5 6 7 8
What is the primary reason for speedup of only 4.7 on 8 CPUs? e 0.1 0.1 0.1 0.1 0.1 0.1 0.1
Ejemplo 2
p 2 3 4 5 6 7 8
La Mtrica Isoeficiencia
Un sistema paralelo se define como un programa paralelo que se est ejecutando en una computadora paralela La escalabilidad de un sistema paralelo es una medida de su habilidad para mejorar rendimiento cuando se aumenta el nmero de procesadores es Un sistema escalable mantiene su eficiencia cuando se aumenta la cantidad de procesadores Isoeficiencia:Una manera para medir escalabilidad
Relacin de Isoeficiencia
T ( n,1) CT 0 (n, p )
La Funcin de Escalabilidad
Supongamos que la relacin de isoeficiencia es n f(p) Sea M(n) la cantidad de memoria que se requiere para un problema de tamao n M(f(p))/p indica como el uso de memoria por procesador tiene que crecer para mantener la misma eficiencia M(f(p))/p se llama la funcin de escalabilidad
Cp