Analisis de Rendimiento - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

Analisis de Rendimiento

Description:

Un program paralelo que usa 32 procesadores pasa 5% de su tiempo ejecutando ... La escalabilidad de un sistema paralelo es una medida de su habilidad para ... – PowerPoint PPT presentation

Number of Views:234
Avg rating:3.0/5.0
Slides: 42
Provided by: boll70
Category:

less

Transcript and Presenter's Notes

Title: Analisis de Rendimiento


1
Analisis de Rendimiento
  • Capítulo 7

2
Metas
  • Predecir el rendimiento de programas paralelos
  • Entender los obstáculos que impiden mejor
    rendimiento

3
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

4
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

5
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.

6
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)

7
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))

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)
11
Speedup
12
Eficiencia
  • 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

13
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

14
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 versión
    paralela si
  • hay 8 procesadores disponibles?

15
Ejemplo 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

16
Ejemplo 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?

17
Limitaciones 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,

18
Otras Limitaciones
  • Ignora ?(n,p)
  • Sobre estima el speedup que se puede lograr

19
El 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

20
Illustration of Amdahl Effect
Speedup
Processors
21
Resumen 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.

22
Otra 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.

23
La 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
24
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

25
Ejemplo 3
  • Una aplicación que se ejecuta en 10 procesadores
    dedica 3 del tiempo en código secuencial. Cual
    es el speedup máximo?

26
Ejemplo 3-Contestación
  • Por lo tanto,
  • ? 10 (1 10)X0.03 9.73

27
Ejemplo 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?

28
Ejemplo 4 -Contestación
  • 7 8(1 8) s implica que s 0.14

29
Ejemplo 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)
33
La 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)

34
Example 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.
35
Ejemplo 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.
36
La 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

37
Para 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
38
Para 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
39
La 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

40
El 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

41
Interpreting Scalability Function
Cplogp
Cannot maintain efficiency
Cp
Memory Size
Memory needed per processor
Can maintain efficiency
Clogp
C
Number of processors
Write a Comment
User Comments (0)
About PowerShow.com