3 Rendimiento
3 Rendimiento
3 Rendimiento
Arquitectura de Ordenadores
Arquitectura de Ordenadores
RAE 92: Proporcin entre el producto o el resultado obtenido y los medios utilizados. Elegir el ordenador con mejor rendimiento (EL MEJOR) Disear, montar o elegir un ordenador que sea apto para la aplicacin en la que va ser utilizado:
Rpido Capacidad de almacenamiento adecuada Capacidad de comunicaciones adecuada Sistema grfico adecuado (Servidor WWW vs. Cliente WWW) Mltiples usuarios Mantenimiento Escalabilidad
Arquitectura de Ordenadores
Rendimiento =
n=
Coste?
Difcil de evaluar: sometido a las leyes del mercado En la mayora de los casos al comparar rendimientos se supone que los costes son iguales (Tabla de comparacin de Intel)
n=
Arquitectura de Ordenadores
Arquitectura de Ordenadores
Arquitectura de Ordenadores
Arquitectura de Ordenadores
Periodo o frecuencia de reloj de la CPU (MHz, GHz) Tiempo de ejecucin de un programa (latencia - Latency)
Tiempo de respuesta El ordenador ms rpido es el que tarda menos en ejecutar un programa Mejorar el rendimiento = Mejorar el tiempo de ejecucin = Decrementar el tiempo de ejecucin Cmo saber esto a priori?
Productividad (Throughput)
Cunto trabajo (operaciones) puede realizar por unidad de tiempo
CPI
Ciclos por instruccin
MIPS
Millones de instrucciones por segundo
UPCO ICAI Departamento de Electrnica y Automtica 7
Arquitectura de Ordenadores
El tiempo de ejecucin es la medida bsica del rendimiento del ordenador Es el tiempo total para completar una tarea
Desde que se arranca hasta que se termina Dos componentes:
Tiempo de CPU: tiempo de la CPU empleado en ejecutar nuestro programa incluido la parte correspondiente de SO. Resto: tiempo de espera de la E/S o de ejecucin de otros programas
Tiempo de CPU
Tiempo de Usuario: Tiempo de la CPU gastado en modo usuario Tiempo de Sistema Operativo: Tiempo de la CPU gastado por el sistema operativo Cmo se reparte entre usuarios? Diferentes OS?
Arquitectura de Ordenadores
Rendimiento de todo el ordenador Si slo se tiene en cuenta el tiempo de CPU es una medida del conjunto CPU ms Sistema Operativo
Ordenador completo
n= Rendimient o_Ordenado r_A Tiempo_Eje cucin_Pro grama_B = Rendimient o_Ordenado r _ B Tiempo_Eje cucin_Pro grama_A
Arquitectura de Ordenadores
Throughput
Ejemplo
Un ordenador tarda 8 s. en ejecutar dos programas de igual carga:
Tiempo de ejecucin: 4 s (uno tras otro / multitarea: 8s aprox.) Throughput: 2 programas/8 segundos=0.25 Con dos CPUs: tiempo de ejecucin: 4 s; throughput: 4/8: 0.5
Arquitectura de Ordenadores
Reloj
Frecuencia de reloj
Todo procesador tiene un reloj interno que funciona a frecuencia constante (Ordenadores porttiles?). Todo en el procesador ocurre a ritmo de ese reloj Gasto energtico es proporcional a la frecuencia del reloj
Muy importante para el rendimiento en sistemas mviles
Arquitectura de Ordenadores
Recuerde que tiempo de CPU es el tiempo de CPU necesario para ejecutar un trozo de cdigo
Ejemplo:
Tiempo_CPU =
A igualdad de arquitectura: mayor frecuencia = menor tiempo de ejecucin = mayor rendimiento Cuntos ciclos de reloj necesita un programa para ejecutarse?
Volvemos al Problema de parada de la mquina de Turing Cmo pasar de nmero de instrucciones a nmero de ciclos?
Arquitectura de Ordenadores
Arquitectura de Ordenadores
Se tiene dos implantaciones (CPU_A y CPU_B) con el mismo juego de instrucciones. La CPU_A tiene un ciclo de reloj de 1 ns y CPI de 2.0 y la CPU_B tiene un tiempo de ciclo de 2 ns y un CPI de 1.2. Cul es la mquina ms rpida y cunto?
n= Rendimiento_CPU_A Tiempo _ CPU _ B I * 2 *1.2 = = = 1.2 Rendimiento_CPU _ B Tiempo_CPU_A I * 2 *1
I es el nmero de instrucciones del programa A es 1.2 veces ms rpido que B Si el periodo de B pasa a 1.3 ns (Qu frecuencia?) cambia
n= Rendimiento_CPU_A Tiempo _ CPU _ B I * 1.3 * 1.2 1 = = = Rendimiento_CPU _ B Tiempo_CPU_A I * 2 *1 1.28
Arquitectura de Ordenadores
Clculo cientfico (operaciones en coma flotante) Manejo de base de datos (mover datos entre posiciones de memoria)
Arquitectura de Ordenadores
X X
t = ( I i * CPIi ) *T
Arquitectura de Ordenadores
Ejemplo de rendimiento
Un diseador de compiladores est intentando decidir entre dos secuencias de cdigo para un mismo programa. Los diseadores de la CPU donde correr ese programa le han proporcionado los siguientes datos
Instrucciones CPI Tipo A 1 Tipo B 2 Tipo C 3
Secuencia de cdigo 1 2 Total de instruccin por clase Tipo A Tipo B Tipo C 2 1 2 4 1 1
La secuencia 2 es ms rpida que la secuencia 1 aunque tenga ms instrucciones Todos los factores son importantes en el rendimiento
Arquitectura de Ordenadores
MIPS
Slo sirve para comparar CPUs que implantan el mismo juego de instrucciones Medida del rendimiento engaosa:
CPU A (1MHz) tiene una instruccin especial para realizar la raiz cuadrada que tarda 100 ciclos en ejecutarla CPU B (1MHz) no tiene la instruccin especial de raiz cuadrada y hay que hacerla por software mediante instrucciones ADD, MUL, etc. donde todas tardan 1 ciclo de reloj MIPS(CPU A)=0.01 MIPS(CPU B)=1 Quin hace ms rpido la raiz cuadrada?
Arquitectura de Ordenadores
Ms sobre MIPS
MIPS de pico
Velocidad de ejecucin de las instrucciones en el mejor de los casos
Se toma un programa que tiene una sola instruccin que es la ms rpida de ejecutar del juego de instrucciones.
Arquitectura de Ordenadores
MFLOPS
Contabilizar operaciones de coma flotante en alto nivel frente a instrucciones necesarias para ejecutarlas
No depende de la arquitectura de la mquina (MIPS, CPI) No depende del compilador Nmero_Operaciones_Coma_Flotante MFLOPS = Tiempo_CPU *106
Problemas
Slo es aplicable a programas que hagan uso masivo de la coma flotante (entornos de clculo cientfico) Depende del programa: una divisin tarda ms que una multiplicacin
Arquitectura de Ordenadores
Reloj
UPCO ICAI Departamento de Electrnica y Automtica 21
Arquitectura de Ordenadores
Arquitectura de Ordenadores
Ponderacin en Intel
Java Ofimtica
Ofimtica
Arquitectura de Ordenadores
Arquitectura de Ordenadores
Contras
Muy especfico No portable Difcil de correr o medir Difcil para identificar causas de bajo rendim. Menos representativo USUARIO
Portable Ampliamente usados Mide mejoras sobre la realidad Fciles de correr, incluso en etapas tempranas del diseo
NCLEOS
Vulnerables
DISEADOR
Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez
MICROBENCHMARK
Arquitectura de Ordenadores
SPEC
Filosofa de SPEC
Asegurar que el mercado tenga un conjunto de mtricas realistas y fciles de usar para comparar diferentes sistemas entre s. La base de la metodologa SPEC es utilizar benchmark basados en un conjunto de cdigos extrados de aplicaciones reales
VISITA a http://www.spec.org
UPCO ICAI Departamento de Electrnica y Automtica 26
Arquitectura de Ordenadores
Arquitectura de Ordenadores
Arquitectura de Ordenadores
INT2000 640 569 561 495 439 409 397 CFP2000 704 701 621 427 426 362 359
Arquitectura de Ordenadores
Configuraciones de mquinas
Hewlett Packard Corporation hp server rx4610 CPU: Intel Itanium CPU MHz: 800 CPU(s) enabled:1 CPU(s) orderable: 2-4 Primary Cache:16KBI + 16KBD on chip Secondary Cache:96KB(I+D) on chip L3 Cache: 4MB(I+D) off chip Other Cache: N/A Memory: 8 GB (64 * 128MB DIMMs) Disk Subsystem: 1x36 GB SCSI
Advanced Micro Devices Gigabyte GA-7DX Motherboard CPU: 1.4GHz AMD Athlon processor A1400AMS3C CPU MHz: 1400 CPU(s) enabled: 1 CPU(s) orderable: 1 Primary Cache: 64KBI + 64KBD on chip Secondary Cache: 256KB(I+D) on chip L3 Cache: N/A Other Cache: N/A Memory: 2x128MB PC2100 DDR SDRAM CL2 Disk Subsystem: IBM DPTA 375020
Arquitectura de Ordenadores
Arquitectura de Ordenadores
Video Encoding
Microsoft Windows Media Encoder Ligos Technology GoMotion Adobe PhotoDeluxe 3.0
Compute Intensive
Ziff Davis Inc. 3D WinBench 2000, v1.0 Processor Test SiSoft Sandra Multimedia SIMD FP SiSoft Sandra Multimedia SIMD Integer eTesting Labs Inc. WinBench 99, v1.2 CPUmark 99 eTesting Labs Inc. WinBench 99, v1.2 FPU WinMark 99 Dnde est SPEC? BAPCO SYSmark 2000 - Overall BAPCO SYSmark 2000 Office Productivity BAPCO SYSmark 2000 Microsoft Excel 2000 BAPCO SYSmark 2000 Microsoft PowerPoint 2000 eTesting Labs Inc. Business Winstone 2001, v1.0
UPCO ICAI Departamento de Electrnica y Automtica 32
Productivity
Arquitectura de Ordenadores
Ley de Amdahl
Si se mejora la ejecucin de una parte del programa (speedup de esta parte), no se mejora la ejecucin de todo el programa en la misma cantidad (speedup del conjunto).
10 s 90 s 100 s 91 s
1s
Frmula
Tiempo sin 1 = Tiempo mejorado Fraccin mejorada + (1 Fraccin mejorada ) Speedup Fraccin
UPCO ICAI Departamento de Electrnica y Automtica 33
Speedup Conjunto =
Arquitectura de Ordenadores
El tiempo de ejecucin de un programa es 100 segundos en un sistema monoprocesador. 50% del programa es pararalelizable en un sistema multiprocesador. Se utiliza un sistema con 5 procesadores. Calcular el speedup.
Speedup Conjunto =
1 1 = = 1 .7 0 .5 0 .1 + 0 .5 + (1 0 .5) 5
Corolario de la ley de Amdhal: Hacer ms rpido el caso ms frecuente El alumno suele cometer errores cuando se aplica la ley de Amdahl para varias mejoras simultneas.
Arquitectura de Ordenadores
Caso multiprocesador
Arquitectura de Ordenadores
El coste y precio de un Precio de ordenador es equivalente a la lista de cualquier otro sistema. Precio Coste de fabricacin
Componentes (muy sensible) Costes directos: mano de obra, gestin de compras, garanta, equipos defectuosos. mnimo
Margen de descuento: descuento del precio final (compra por volumen, venta a distribuidores, etc)
Para comprar un ordenador o sistema informtico: 1. Que cumpla con los requisitos 2. Ms barato (ojo con olvidarse de garanta, mantenimiento, etc)
Arquitectura de Ordenadores
Arquitectura de Ordenadores
5 4 3 2 1 0
Arquitectura de Ordenadores
Arquitectura de Ordenadores
La curva de la verdad
Coste Lmite en la inversin Equipos a descartar
1/Prestaciones
Arquitectura de Ordenadores
933 78.000 866 55.000 800 45.000 42.000 3280 3100 2890 2690
1/Rendimiento
Arquitectura de Ordenadores
100
Rendimiento Mainframes
10
Minicomputers Microprocessors
1985
1990
1995
2000
Arquitectura de Ordenadores
100000000
10000000
1000000
100000
10000
ao tamao(Mb) 1980 0.0625 1983 0.25 1986 1 1989 4 1992 16 1996 64 2000 256
Arquitectura de Ordenadores
Arquitectura de Ordenadores
1000 Rendimiento
Ley de Moore
CPU
Proc 60%/ao
100 10 1
Ao
D.A. Patterson New directions in Computer Architecture Berkeley, June 1998
Arquitectura de Ordenadores
La potencia consumida se est incrementando La corriente de la fuente de alimentacin est aumentando ms rpidamente
Disminuye la tensin
P o w er Dissip atio n
120 100 Pow er (W ) 80 60 40 20 0 2 1064 2116 4 2 1264 2136 4 3.5 3 2.5 2 1.5 1 0.5 0
Supply Current
80 70 60 50 40 30 20 10 0 21064 21164 21264 21364 3.5 3 2 1.5 1 0.5 0 V oltage (V ) 2.5
Voltage (V)
C urrent (A)
Arquitectura de Ordenadores
Frmula fundamental del tiempo de ejecucin (CPI) Tiempo_Eje cucin = Nmero_Ins trucciones _Programa* CPI * Periodo
Todos los factores influyen
Ley de Amdahl:
Tiempo sin 1 = Fraccin mejorada Tiempo mejorado + (1 Fraccin mejorada ) Speedup Fraccin
Speedup Conjunto =