Anda di halaman 1dari 25

Universidad Area de Arquitectura

de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa


Oviedo de Computadores

Medicin del Rendimiento de Computadores

Motivacin:

 Qu medidas de tiempo se utilizan para evaluar el rendimiento?


 Cmo definimos el tiempo de cpu y el rendimiento del procesador?
 Qu parmetros condicionan el tiempo de cpu?
 Qu medidas de productividad se utilizan para evaluar el rendimiento?
 Qu ventajas e inconvenientes presentan dichas medidas?
 Qu tipos de programas se utilizan para evaluar el rendimiento?

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

Medicin del Rendimiento de Computadores

Introduccin
Tiempo de ejecucin. Rendimiento del Procesador
Medidas de Productividad
 MIPS
 MFLOPS
Programas de evaluacin (Benchmarks)

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

Medicin del Rendimiento

Por qu se necesita medir el rendimiento?


 comparacin del hardware de las mquinas
 comparacin del software de las mquinas (compiladores)

Propsito final:
 tomar decisiones de compra
 desarrollar nuevas arquitecturas

Basta con una sola medida?


 es ms rpida una mquina de 2 GHz que otra de 1,5 GHz?

Medidas utilizadas:


3

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

Tiempo de Ejecucin

Tiempo de Respuesta (transcurrido, de reloj, elapsed time)


 incluye todo (procesador, accesos a memoria, E/S, S.O., multiprogramacin)
 en un sistema descargado da idea del rendimiento del computador o de sistema
 til, pero no muy adecuado para efectuar comparaciones

Tiempo de CPU
 no incluye E/S ni tiempo ejecutando otros programas (multiprogramacin)
 Tcpu = Tcpu (usuario) + Tcpu (sistema)
 Tcpu (sistema) = tiempo ejecutando cdigo del S.O.

Tcpu (usuario)
 tiempo dedicado a la ejecucin de cdigo de nuestro programa
 da idea del Rendimiento del Procesador o Rendimiento de CPU
 esta influido por
4

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

Comando time de Unix


Resume los tiempos consumidos en la ejecucin de un programa
- Formato:
$time programa
- Ejemplo de salida:
90.7u 12.9s 2:39 65% (shell csh)
real 2m 39s (shell bash)
user 1m 30.7s
sys 0m 12.9s

Tcpu(usuario) = 90,7 s. Tcpu(sistema) = 12,9 s. Ttranscurrido = 159 s.

65% = % del Tcpu sobre el Ttranscurrido =

100%-65% = 35% = % de tiempo esperando por E/S o ejecutando otros programas

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

Ciclo de Reloj

El rendimiento se calcula en funcin del ciclo de reloj


segundos ciclos segundos
--------------- = ------------- x ---------------
programa programa ciclo

El tiempo se puede medir en ciclos de reloj


T
t

 Tiempo de ciclo (T) = tiempo entre dos eventos de reloj (perodo de reloj)
 Frecuencia de reloj (f) = ciclos / segundo


6

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

Ciclos por Instruccin

Son iguales el nmero de instrucciones y el de ciclos?, NO


 el nmero de ciclos depende de la organizacin hardware
 el nmero cambia para cada procesador

Consumen todas las instrucciones igual n de ciclos?, NO


 las multiplicaciones/divisiones consumen mas que las sumas/restas
 las instrucciones flotantes consumen mas que las enteras
 las que acceden a memoria consumen mas que las que acceden a registros

Ciclos por Instruccin (CPI)


 nmero de ciclos promedio consumido por las instrucciones de un programa
 permite comparar organizaciones alternativas que soportan una misma ISA
 Si NI = n de instrucciones del programa 

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

Rendimiento del Procesador

NI = n de instrucciones del programa


CPI = ciclos por Instruccin
T = tiempo de ciclo
n total de ciclos = NI x CPI
TCPU (usuario) = n total de ciclos x tiempo de ciclo = (NI x CPI ) x T

TCPU = T x NIi x CPIi (i = tipo de instruccin)


CPI = CPIi X Fi (Fi = frecuencia de aparicin de instrucciones i)

NI = funcin(Compilador, Lenguaje mquina)


CPI = funcin(Lenguaje mquina, Organizacin)
T= funcin(Organizacin, Tecnologa)

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

Rendimiento del Procesador

TCPU = NI x CPI x T

La mejora de uno de los parmetros puede empeorar los otros,


de forma que no disminuya el tiempo de ejecucin

Ejemplo: Mejora en el juego de instrucciones  NI

Si NI y T=cte.  puede ocurrir que CPI (inst. + complejas)


Tcpu ~ NI x CPI 

Si NI y CPI=cte.  puede ocurrir que T (inst. + complejas)


Tcpu ~ NI x T 
9

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

Problema 2.1
1) NI de transferencia afectadas por cada 100 de programa:
NI aritmticas que desaparecen:
nuevo NI por cada 100 del antiguo:
nuevos NI por cada 93 de programa:
Control:
Aritmticas:
Transferencia:
nuevos % de utilizacin:
Control:
Aritmticas:
Transferencia:
nuevos CPI = antiguos CPI
CPInuevo =

2) CPIantiguo =

TCPU antiguo = NI x CPIantiguo x T


TCPU nuevo = 0,93NI x CPInuevo x 1,1T
G = TCPU antiguo / TCPU nuevo =
10

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

Medidas de Productividad

11

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

MIPS (nativos)

Millones de Instrucciones Por Segundo

NI NI 1 f
MIPS = ------------------------ = ---------------- = ------------------ = ------------
Tejecucion x 106 TCPU x 106 CPI x T x 106 CPI x 106

Mayor velocidad implica mayor valor de MIPS (a priori)

NI
Tejecucion = ---------------
MIPS x 106

12

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

MIPS (nativos)

Inconvenientes:
 MIPS depende del juego de instrucciones
 difcil comparar mquinas con JI diferentes

 MIPS depende del programa (de su mezcla de instrucciones)

 MIPS puede llegar a variar inversamente al rendimiento


 medida no consistente (Ejemplo: incorporacin de FPU  NI cte)
solucin:

13

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

MIPS relativos

Se elige una mquina de referencia a la que se le da el valor de


referencia MIPS=1

Treferencia MIPS relativos


----------------- = ------------------------
Tejecucion MIPS referencia

- Modelo VAX 11/780 (1978)  MIPS referencia = 1 (~ 10E6 Inst./seg.)


- Treferencia (VAX 11/780) / Tejecucion = G = MIPS relativos

Ventajas:
 resuelve el problema de la inconsistencia de los MIPS nativos

Inconveniente:


14

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

MFLOPS (nativos)

Millions of FLoating Point Operations Per Second

N Operaciones Flotantes
MFLOPS = -------------------------------------
Tejecucion x 106

Aplicable a programas con Operaciones Flotantes:


 sumas, restas, multiplicaciones, divisiones

Simple precisin o Doble precisin

15

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

MFLOPS (nativos)

Inconvenientes:
 MFLOPS dependen de si se dispone o no de FPU (Floating Point Unit)
 MFLOPS dependen de si estn o no soportadas funciones complejas
(multiplicacin, divisin, raz cuadrada, seno, coseno, etc.)

 MFLOPS dependen de la mezcla de I. enteras y flotantes del programa


 MFLOPS dependen de la mezcla de operaciones flotantes
(operaciones mas complejas tienen un mayor tiempo de ejecucin)
solucin:

16

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

MFLOPS normalizados
Se da un peso a cada tipo de operacin flotante proporcional
a su complejidad
Se utilizan tablas de conversin de MFLOPS nativos a
normalizados
Ejemplo:
Tipo de operacin (i) N Op.norm.
+, -, *, COMP 1
/, SQRT 4
EXP, SIN, COS 8

N total de Op. normalizadas = i (NOp.)i x (NOp.norm.)i


MFLOPS normalizados =

17

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

Medicin del Rendimiento

La nica medida objetiva es el Tiempo de Ejecucin

Cualquier otra medida ofrece una visin parcial


 n de instrucciones por programa
 n de ciclos por programa
 n de ciclos por instruccin
 n de segundos por ciclo
 n de ciclos por segundo
 n de instrucciones por segundo

18

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

Resumen de Vocabulario

NI nmero de instrucciones (mquina)


CPI (ciclos por instruccin)
Tejecucion tiempo de ejecucin (segundos por programa)
T tiempo de ciclo (segundos por ciclo)
f frecuencia de reloj (ciclos por segundo)
MIPS (millones de instrucciones por segundo)
MFLOPS (millones de operaciones flotantes por segundo)

19

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

Programas de Evaluacin (Benchmarks)

Carga ideal para la evaluacin:


 Programas Usuario + Comandos S.O. ( Carga Trabajo, Workload )

Problema:
 No disponibilidad de los computadores para correr la Carga de Trabajo

Alternativa:
 Cargas neutrales ejecutadas por los fabricantes u organismos evaluadores

Tipos de programas de evaluacin (benchmarks):






20

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

Benchmarks sintticos

Simulan la frecuencia de instrucciones y operandos de un abanico de


programas reales (cdigo artificial)

Ejemplos:
 Dhrystone (cdigo entero)
 Whetstone (cdigo flotante)

Inconvenientes:
 optimizaciones del fabricante solo para la mejora de ese tipo de programas
 compiladores detectores de benchmarks

 su pequeo tamao da lugar a un rendimiento ptimo del sistema de memoria


21

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

Programas de tamao reducido

Pequeos programas de entre 10 y 100 lneas con resultado conocido


Incluyen normalmente bucles, repitindose mucho algunas instrucciones
Fciles de simular durante el diseo de la mquina (compilador no disponible)
Fciles de estandarizar

Ejemplos:
 programas de ordenacin
 multiplicacin de matrices, etc.
 Flops: resolucin de integrales
 Linpack: resolucin de sistemas de ecuaciones lineales

Inconvenientes:
 optimizaciones del fabricante solo para la mejora de ese tipo de programas
 rendimiento ptimo del sistema de memoria

22

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

Optimizaciones especficas para Benchmarks

23

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

Aplicaciones reales

Programas de uso comn que forman parte de las cargas de trabajo


 Compiladores y Editores de texto
 Bases de datos y Hojas de clculo
 Programas cientficos

Ejemplos: Conjunto de programas SPEC y benchmark SYSmark (PCs)


 SPEC =
 Programas consensuados por el conjunto de fabricantes
 Los mas utilizados para medir rendimiento y eficiencia del compilador
 Actualizaciones continuas: SPEC 92, SPEC 95, SPEC 2000, SPEC 2006
 SYSmark:


24

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnologa de Computadores (10/11) y Tecnologa
Oviedo de Computadores

Problema 2.2
1) MIPS con copro = fCPU / (CPI con copro x 10E6) =
MIPS sin copro = fCPU / (CPI sin copro x 10E6) =

2) NI con copro = MIPS con copro x 10E6 x Tej con copro =


NI sin copro = MIPS sin copro x 10E6 x Tej sin copro =

3) NI con copro = = N Iter x (NI enteras bsicas + NI flotantes)


 NI enteras bsicas =
NI sin copro = = N Iter x (NI enteras bsicas + NI enteras emulacin)
 NI enteras emulacin =
NI medio enteras / flotante = NI enteras emulacin / NI flotantes =

4) MFLOPS nativos = N Operaciones flotantes x NIter / (Tej con copro x 10E6) =


N Op. Normalizadas = (n sum + n res + n mul + n conv + n comp) x 1 + n div x 4 =
MFLOPS normalizados = N Op. Normalizadas x NIter / (Tej con copro x 10E6) =

5) N Op. en funciones = N total de Op. flotantes - N basico de Op. flotantes =


N invocaciones funcin = n atan + n sin + n cos + n sqrt + n exp + n log =
N medio Op. / funcin = N Op. en funciones / N invocaciones funcin =

25

Arquitecturas Paralelas, Leccin 2 - Medicin del rendimiento de computadores

Anda mungkin juga menyukai