You are on page 1of 13

Analisis de rendimiento de programas paralelos.

Cesar Pedraza Bonilla


Universidad Nacional
capedrazab@unal.edu.co

17 de febrero de 2015

C
esar Pedraza Bonilla (UNAL)

Short title

17 de febrero de 2015

1 / 13

Overview

Response Time.

MIPS - MFLOPS.

Tiempo de respuesta, jerarqua de memoria.

Benchmarks

Medicion de rendimiento.

C
esar Pedraza Bonilla (UNAL)

Short title

17 de febrero de 2015

2 / 13

Response Time.

El tiempo de ejecucion de un programa involucra:


Tiempo de CPU de usuario.
Tiempo de sistema.
Tiempos de espera.
tU

CPU (A)

= ncycle (A).tcycle

(1)

ncycle (A) : ciclos de reloj para ejecutar A.


tcycle : tiempo de 1 ciclo de reloj.

C
esar Pedraza Bonilla (UNAL)

Short title

17 de febrero de 2015

3 / 13

Response Time.

tU

CPU (A)

= ninstruc (A).CPI (A).tcycle

(2)

ncycle (A) : Instrucciones de A.


CPI : ciclos de reloj por instrucci
on.
tcycle : tiempo de 1 ciclo de reloj.
As para un procesador con n instrucciones:
ncycle (A) =

n
X

ni (A).CPI

(3)

i=1

Ej.

C
esar Pedraza Bonilla (UNAL)

Short title

17 de febrero de 2015

4 / 13

MIPS - MFLOPS

Son medidas de rendimiento de microprocesadores.


MIPS(A) =
rcycle =

rcycle
CPI (A) 106

(4)

1
P clockrate
tcycle

(5)

Ej: Determinar MIPS y MFLOPS para procesadores conocidos.

C
esar Pedraza Bonilla (UNAL)

Short title

17 de febrero de 2015

5 / 13

MIPS - MFLOPS.

Millions of Float Operations Per Second. (MFLOPS)


MFLOPS(A) =

nflp op (A)
TUC PU (A) 106

(6)

N
umero de operaciones de punto flotante.
t de respuesta de A

C
esar Pedraza Bonilla (UNAL)

Short title

17 de febrero de 2015

6 / 13

Rendimiento en sistemas con jerarqua de memoria.

Tiempo de respuesta de un programa de usuario A:


tU

CPU

= (ncycles(A) + nmmc ycles (A)) tcycle

nmm cycles (A) = nread

C
esar Pedraza Bonilla (UNAL)

cycles(A)

Short title

+ nwrite

cycles (A)

17 de febrero de 2015

(7)
(8)

7 / 13

Benchmarks.

Synthetic benchmarks.
Kernel benchmarks.
Real application benchmarks.
Ver: www.spec.org

C
esar Pedraza Bonilla (UNAL)

Short title

17 de febrero de 2015

8 / 13

Medicion de rendimiento.

Parallel runtime T(p). Tiempo que tarda en ejecutar un programa desde


que inicia hasta que termina.
t de ejecucion para computos locales.
t de ejecucion para intercambio de datos.
t de sincronizacion.
t de espera.

C
esar Pedraza Bonilla (UNAL)

Short title

17 de febrero de 2015

9 / 13

Medicion de rendimiento.

Eficiencia:
Cp (n) = P Tp (n)

(9)

C = costo. P = n
umero de procesadores. n = tama
no.
Speedup:
Sp (n) =

T (n)
Tp (n)

(10)

T = tiempo de ejecucion del mejor programa secuencial. Tp (n) = tiempo


de ejecucion con P procesadores.

C
esar Pedraza Bonilla (UNAL)

Short title

17 de febrero de 2015

10 / 13

Medicion de rendimiento.

Consideraciones para el calculo del speedup.


El mejor programa secuencial puede ser desconocido.
Hay que hacer un esfuerzo muy alto para sacar un programa
secuencial con el mejor tiempo de ejecuci
on.

C
esar Pedraza Bonilla (UNAL)

Short title

17 de febrero de 2015

11 / 13

Ley de Amdahl.

Si se desea paralelizar un segmento de programa (1 f ) de un programa,


siendo f la parte secuencial:
Sp (n) =

T (n)
1f
f .T (n) +
T (n)
p

Sp (n) =

(11)

1
1

1f
f
f +
p

(12)

S
olo se puede llegar a 1/f sin importar cuantos procesadores se usen.

C
esar Pedraza Bonilla (UNAL)

Short title

17 de febrero de 2015

12 / 13

Escalabilidad.

Es una medida que indica si el rendimiento de un programa paralelo es


proporcional al n
umero de procesadores empleados.

C
esar Pedraza Bonilla (UNAL)

Short title

17 de febrero de 2015

13 / 13

You might also like