Title: Analisis de Rendimiento
1Analisis de Rendimiento
2Metas
- Predecir el rendimiento de programas paralelos
- Entender los obstáculos que impiden mejor
rendimiento
3Bosquejo
- Formula General para speedup
- La Ley de Amdahl
- La Ley de Gustafson-Barsis
- La Métrica de Karp-Flatt
- La Métrica de Isoeficiencia
4Speedup
- 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
5Speedup (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.
6Los 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)
7Expresión para Speedup
- ts ?(n) ?(n)
- tp ?(n) ?(n)/p ??(n,p)
- Por lo tanto,
- ?(n,p) (?(n) ?(n))/(?(n) ?(n)/p
??(n,p))
8?(n)/p
- Aumentar el número de procesadores reduce el
tiempo computacional
?(n)/p
9?(n,p)
- El tiempo de comunicaciones crece con la cantidad
de procesadores
?(n,p)
10?(n)/p ?(n,p)
- En algun momento el tiempo de comunicaciones para
un problema de tamaño fijo será mayor que el
tiempo computacional
?(n)/p ?(n,p)
11Speedup
12Eficiencia
- eficiencia tS / (ptp) 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
13La 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
14Ejemplo 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 versión
paralela si - hay 8 procesadores disponibles?
15Ejemplo 1 - Contestación
- Si,
- ? 1/(f(1-f)/p)1/(.1 (1-.1)/8) 4.7
- El máximo speedup posible es
- lim p ?8 1/(.1 (1-.1)/p) 10
16Ejemplo 2
- Un programa de animación genera una pelÃcula
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 pelÃcula
con 100 procesadores? -
17Limitaciones de la Ley de Amdahl
- En el pasado se creia que fue un limite fatal al
futuro de paralelismo. Sin embargo, - su demostración tiene que ver con los pasos de
un algorÃtmo especÃfico y no toma en
consideración que otro algorÃtmo con mas
paralelismo podria existir. - trata el tamaño de problema como una constante,
pero en la práctica la proporción secuencial de
un programa decrece con el tamaño,
18Otras Limitaciones
- Ignora ?(n,p)
- Sobre estima el speedup que se puede lograr
19El Efecto Amdahl
- En la práctica, el tiempo de comunicación ?(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 número de procesadores se
fija, - La proporción secuencial decrece
- Speedup crece
20Illustration of Amdahl Effect
Speedup
Processors
21Resumen de la Ley de Amdahl
- Trata tamaño como constante
- Demuestra como el tiempo de ejecutación decrece
cuando el número de procesadores crece - Profesionales en computación paralela no creen
que la ley de Amdahl limita el futuro de
computación paralela, como originalmente creian.
22Otra Perspectiva
- Muchas veces usamos computadoras mas rápidas para
resolver problemas mas grandes o para mejorar la
precisión. - Vamos a tratar tiempo como una constante y
permitir que el tamaño de problema crece con la
cantidad de procesadores.
23La Ley de Gustafson-Barsis
Sea s ??(n)/(?(n)?(n)/p) (La fracción de
tiempo en una computación paralela para hacer
operaciones inherentamente secuenciales). Entonces
24La Ley de Gustafson-Barsis
- Implica que cualquier problema que es
suficientemente grande puede beneficiarse de
paralelismo. - La Ley de Gustafson-Barsis predice scaled
speedup
25Ejemplo 3
- Una aplicación que se ejecuta en 10 procesadores
dedica 3 del tiempo en código secuencial. Cual
es el speedup máximo?
26Ejemplo 3-Contestación
- Por lo tanto,
- ? 10 (1 10)X0.03 9.73
27Ejemplo 4
- Cuanto es la fracción máxima del tiempo de
ejecutación de un programa paralelo que se puede
dedicar a código secuencial si logra un speedup
de 7 utilizando 8 procesadores?
28Ejemplo 4 -Contestación
- 7 8(1 8) s implica que s 0.14
29Ejemplo 5
- Un program paralelo que usa 32 procesadores pasa
5 de su tiempo ejecutando código secuencial.
Cuanto es el scaled speedup
30 La Metrica de Karp-Flatt
- Las leyes de Amdahl y de Gustafson-Barsis ignora
?(n,p) - Por eso, puede sobre estimar speedup.
- Karp y Flatt han propuesto otra métrica
31 La métrica de Karp-Flatt (cont)
- El tiempo de ejecutación de un programa paralelo
que se ejecuta en p procesadores es T(n,p) ?(n)
?(n)/p ??(n,p) - El tiempo de ejecutación del programa secuencial
es T(n,1) ?(n) ?(n) - La fracción secuencial experimentalmente
determinada se define por - e(?(n) ?(n,p))/ T(n,1)
32 La Métrica Karp-Flatt (cont)
33La fracción secuencial experimentalmente
determinada
- Toma en consideración el los gastos generales de
paralelizar - Detecta otras fuentes de overhead o ineficiencias
que son ignoradas de los otros modelos - Una distribución inbalanceada de trabajo
- Tiempo para sincronizar procesos
- Tiempo para incializar un proceso (startup time)
34Example 1
p
2
3
4
5
6
7
8
1.8
2.5
3.1
3.6
4.0
4.4
4.7
?
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
Since e is constant, large serial fraction is the
primary reason.
35Ejemplo 2
p
2
3
4
5
6
7
8
1.9
2.6
3.2
3.7
4.1
4.5
4.7
?
A que se debe que speedup es solamente 4.7 para
p8?
e
0.070
0.075
0.080
0.085
0.090
0.095
0.100
La razón principal se debe a gastos generales ya
que e está creciendo.
36La Métrica 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 número de procesadores es - Un sistema escalable mantiene su eficiencia
cuando se aumenta la cantidad de procesadores - IsoeficienciaUna manera para medir escalabilidad
37Para Derivar la Relación de Isoeficiencia
Determinar los gastos generales
Substituir gastos generales en la ecuación de
speedup
Sustituir T(n,1) ?(n) ?(n). Presumir
eficiencia constante.
Relación de Isoeficiencia
38Para Derivar la Relación de Isoeficiencia (cont)
Para mantener el mismo nivel de eficiencia
cuando crece la cantidad de procesadores, hay que
aumentar n para que se cumpla
39La Función de Escalabilidad
- Supongamos que la relación de isoeficiencia es n
? f(p) - Sea M(n) la cantidad de memoria que se requiere
para un problema de tamaño 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 función de escalabilidad
40El Significado de la Función de Escalabilidad
- Para matener la eficiencia cuando crece p,
tenemos que aumentar n - El tamaño de problema máximo está limitado por la
cantidad de memoria disponible, que es lineal en
p - La función de escalabilidad muestra como el uso
de memoria por procesador tiene que crecer para
mantener eficiencia - Si la función de escalabilidad es constante, el
sistema paralelo es perfectamente escalable
41Interpreting Scalability Function
Cplogp
Cannot maintain efficiency
Cp
Memory Size
Memory needed per processor
Can maintain efficiency
Clogp
C
Number of processors