Está en la página 1de 24

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

RENDIMIENTO Y MEJORA DE LA CPU

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 1

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Por qu hablar de rendimiento de un ordenador?

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

De los que cumplen: el ms barato


Desembolso inicial, coste de las ampliaciones, consumo

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 2

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Cmo medir el rendimiento?

Prestaciones Coste Cuntas veces es mejor la mquina A que la B?


Frmula para una mquina

Rendimiento =

n=

Rendimient o_Ordenado r_A Rendimient o_Ordenado r_B

Cmo medir las prestaciones?


Depender de la aplicacin donde se quiera utilizar el ordenador

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=

Rendimient o_Ordenador_A Prestaciones_Ordenador_A = Rendimient o_Ordenador_B Prestaciones_Ordenador_B


UPCO ICAI Departamento de Electrnica y Automtica 3

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Dnde est el coste?

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 4

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Qu mide? Mi AMD ser ms rpido?

Mi aplicacin correr ms rpida en un AMD que en un Pentium?

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 5

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Medir las prestaciones

Fundamental: Tiempo de ejecucin de los programas


Cmo medir?
A mano: cronmetro en mano NO FALLA: el ms rpido en ejecutar un programa siempre es el mejor a igualdad de coste. Cmo saber esto a priori? Mediante una frmula Tiempo = Programa * Factor Cmo se comparan o miden programas? Cmo se calcula ese factor? Problema de parada de la mquina de Turing: No existe un algoritmo general que permita calcular el nmero de operaciones de cualquier tipo de algoritmo (programa)

Cmo mejorar a partir de las medidas la arquitectura?

Ms prestaciones: almacenamiento, conexin... Aunque parezca imposible se pueden introducir nmeros


UPCO ICAI Departamento de Electrnica y Automtica 6

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Qu nmeros? Mtricas bsicas

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?

Qu mejorar de la mquina? Futuras aplicaciones?

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

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Tiempo de ejecucin de un programa (latencia)

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?

Ejemplo en UNIX (comando time): 90.7u 12.9s 2:39 65%


Usuario: 90.7s; SO: 12.9s Tiempo de ejecucin: 2min, 39s ; 65 % es tiempo de CPU

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 8

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Rendimiento y tiempo de ejecucin

Si se mide el rendimiento como tiempo de ejecucin


Rendimient o = 1 Tiempo_Eje cucin_Pro grama

Rendimiento de todo el ordenador Si slo se tiene en cuenta el tiempo de CPU es una medida del conjunto CPU ms Sistema Operativo

Cuntas veces es mejor la CPU_A que la CPU_B?


n= Rendimient o_CPU_A Tiempo_CPU _B _ Programa = Rendimient o_CPU _ B Tiempo_CPU _A _ Programa

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

Depende del programa utilizado: caso medio, casos extremos


Benchmark (Eje: SPECs): Simular diferentes tipos de aplicacin.
UPCO ICAI Departamento de Electrnica y Automtica 9

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Throughput

Mide la cantidad de trabajo realizado por unidad de tiempo


Nmero de programas ejecutados por hora Nmero de instrucciones ejecutadas por segundo Nmero de consultas WWW despachadas por segundo Medir la productividad: Director CPD (A cuntos doy servicio?) Tiempo que tarda en ejecutarse un programa Tiempo que tarda en ejecutarse una instruccin Tiempo en despachar una consulta en un servidor WWW Medida muy cercana al usuario final (Cunto tarda?)

Frente a tiempo de ejecucin (latencia)

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

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 10

Rendimiento y mejora de la CPU

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

Mayor frecuencia no significa mayor rendimiento (Intel y AMD). Ejemplo:

500 MHz: 500.000.000 ciclos por segundo (1GHz = 109 ciclos/s.)

Duracin del ciclo de reloj (periodo): inverso de la frecuencia


Los retardos mximos en los elementos del procesador fijan la frecuencia mxima del reloj Dato ms del diseador (Me he comprado un ordenador de 1 ns?) Ejemplo: 500 MHz -> 2 ns (1 nanosegundo=10-9 s; f: 1GHz)
1 ms (milisegundos) = 10-3 s (f: 1KHz); 1 s (microsegundo): 10-6 s (f: 1MHz); 1 ps (picosegundo) = 10 -12 s (f: 1THz).

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 11

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Relacin entre tiempo de CPU y reloj

Recuerde que tiempo de CPU es el tiempo de CPU necesario para ejecutar un trozo de cdigo

Tiempo_CPU = Nmero_Cic los_Progra ma*Periodo _Reloj

Ejemplo:

Tiempo_CPU =

Nmero_Cic los_Progra ma Frecuencia_Reloj

CPU 500MHz, Programa que ocupa 100000 ciclos


Tiempo CPU: 1*105 / 500*106 = 2 * 10-4 = 20 ms (Utilizar siempre prefijo adecuado)

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?

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 12

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Otra mtrica: Ciclos por instruccin (CPI)

Nmero medio de ciclos de reloj (ciclos mquina) por instruccin


CPI = Nmero_Ciclos_Programa Nmero_Instrucciones_Programa

A igualdad de arquitectura y reloj si disminuye el CPI aumenta el rendimiento


n= Rendimiento_CPU_A CPI_CPU_B = Rendimiento_CPU _ B CPI_CPU_A

Tericamente es una medida estricta del rendimiento de la CPU


No aparece ni Sistema Operativo ni los tiempos de espera de la Entrada/Salida Cmo se mide?

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 13

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Ejemplo de rendimiento con CPI

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

B es 1.28 veces ms rpido que A

Slo es vlido para el programa utilizado para calcular el CPI


UPCO ICAI Departamento de Electrnica y Automtica 14

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Cmo se mide el CPI de una CPU?

Depende del programa utilizado


Los programas utilizan subconjuntos diferentes del juego de instrucciones del procesador

Clculo cientfico (operaciones en coma flotante) Manejo de base de datos (mover datos entre posiciones de memoria)

Ejemplo: Benchmark de 80 instrucciones


25 instrucciones son del tipo LOAD/STORE (MOVE): 8 ciclos 50 instrucciones son del tipo ADD: 4 ciclos 5 instrucciones son del tipo raiz cuadrada: 100 ciclos CPI = (25*8 + 50*4 + 5*100)/80 = 13.8 ciclos/instruccin Si fuera un programa con una sola instruccin de cada tipo CPI = (8 + 4 + 100)/3 = 37.3 ciclos/instruccin

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 15

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Ecuacin bsica del rendimiento

Funcin del nmero de instrucciones, CPI y periodo

Tiempo_Eje cucin = Nmero_Ins trucciones _Programa* CPI * Periodo t = I CPI T


Programa Compilador Juego de instrucciones Organizacin de la CPU Tecnologa Nmero de instrucciones X X X CPI Periodo (X) X X

X X

En algunos casos CPI se concreta para diferentes tipos de instrucciones


Tipo i de instruccin necesita CPIi ciclos Ii: nmero de instrucciones del tipo i T: Periodo

t = ( I i * CPIi ) *T

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 16

Rendimiento y mejora de la CPU

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

Tiempo ejecucin secuencia 1


T1= (2*1+1*2+2*3)*T = 10*T = 10 ciclos (5 instrucciones); CPI1=2

Tiempo ejecucin secuencia 2


T2= (4*1+1*2+1*3)*T = 9*T = 9 ciclos (6 instrucciones); CPI2=1.5

La secuencia 2 es ms rpida que la secuencia 1 aunque tenga ms instrucciones Todos los factores son importantes en el rendimiento

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 17

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

MIPS

Millones de instrucciones que ejecuta el procesador por segundo


MIPS = Nmero_Instrucciones_Programa Tiempo_CPU*106

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?

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 18

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Ms sobre MIPS

Utilizado para comparar mquinas diferentes de forma engaosa


Nmero de instrucciones por segundo Contenido semntico de las instrucciones Programa con que se ha hecho la medida Compilador utilizado

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.

MIPS y CPI son equivalentes


MIPS es interesante para el usuario, CPI para el diseador Nmero_Ins trucciones _Programa MIPS = Nmero_Ins trucciones _Programa* CPI*Period o*10 6

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 19

Rendimiento y mejora de la CPU

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

Solucin MFLOPS normalizados (Funcin semejante a CPIi)


Operaciones Coste normalizado ADD, SUB, COMPARE, MULT 1 DIVIDE, SQRT 4 EXP, SIN 8

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 20

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Resumen de lo visto: Medidas del rendimiento


Aplicacin Lenguaje de Programacin Compilador MIPS MFLOPS CPI Respuestas diarias Transacciones por segundo Tiempo de respuesta Tiempo de respuesta

Medir para saber si la CPU es adecuada para la aplicacin

ISA Datapath Control Transistores Cables Pines

Medir para saber si la CPU mejora (Independiente de la aplicacin)

Reloj
UPCO ICAI Departamento de Electrnica y Automtica 21

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Qu programa elegir para medir?

Mejor medida: CARGA REAL


Comparar con el programa que ests siempre utilizando Problema: No se sabe a priori que programas se van a ejecutar

Alternativa: Programas de prueba (BENCHMARK)


Predecir el rendimiento de la mquina cuando ejecute los programas reales. Simular la posible carga real.

Cmo construir un benchmark?


Medida reproducible No vulnerable
Preparar la CPU o el compilador para ejecutar ms rpidamente del cdigo del benchmark

Conjunto de varios programas para que sea representativo


Programas actuales Programas futuros: Difcil

Ponderar los tiempos de ejecucin de cada programa


Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez UPCO ICAI Departamento de Electrnica y Automtica 22

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Ponderacin en Intel
Java Ofimtica

Ofimtica

Juegos 3D Audio, vdeo, imagen


Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez UPCO ICAI Departamento de Electrnica y Automtica 23

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Diferentes tipos de benchmarks

Basados en aplicaciones reales


Cientficas (secuenciacin genoma), ingeniera (CAD, elementos finitos), bases de datos, edicin, compiladores Filosofa de los SPEC

Ncleos: trozos crticos de programas representativos


Facilidad

Microbenchmark (Medir aspectos concretos del sistema)


Operacin en coma fija Operacin en coma flotante Entrada/salida Memoria Sistema Operativo

Otros: juegos, algoritmos muy concretos (Ordenacin) El mejor: tu aplicacin


UPCO ICAI Departamento de Electrnica y Automtica 24

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Comparacin entre benchmarks


Pros
Representativo CARGA REAL

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

BENCHMARK BASADOS EN APLICACIONES REALES

NCLEOS

Vulnerables

DISEADOR
Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

MICROBENCHMARK

Difcil de extrapolar a una aplicacin real

UPCO ICAI Departamento de Electrnica y Automtica 25

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

SPEC

Sistem Performance Evaluation Cooperative (SPEC)


Fundada en 1988 por un nmero pequeo de fabricantes y vendedores de estaciones de trabajo, concienciados de la necesidad desesperada de disponer de un conjunto de test para medir el rendimiento (prestaciones) de una forma realista y estandarizada Ha crecido hasta convertirse en el estndar de facto.

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

Diferentes tipos de benchmark


CPU: SPECint2000, SPECfp2000, SPECint95, SPECfp95 WWW: SPEC JBB2000, SPEC JVM98, SPEC WEB99 OS: SPEC SFS97 (medidas de throughput)

VISITA a http://www.spec.org
UPCO ICAI Departamento de Electrnica y Automtica 26

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Programas: SPEC CINT2000 Benchmarks

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 27

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Programas: SPEC CFP2000 Benchmark

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 28

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Ejemplo de SPEC (cmo es la situacin actual?)


Modelo Intel D850GB motherboard (2.0 GHz, Pentium IV) hp workstation j6700 (PA-8700 750 MHz) AlphaServer GS320 68/(Alpha 21264C 1001 MHz) Gigabyte GA-7DX Motherboard (AMD Athlon 1.4GHz) Sun Blade 1000 Model 1900 (UltraSPARC-III 900 MHz) IBM RS/6000 Model M80 (RS64 IV 750 MHz) SGI 2200 1X (R14k 500MHz) Intel D850GB motherboard (2.0 GHz, Pentium IV) hp server rx4610 (Intel Itanium 800 MHz) AlphaServer ES40 6/833 (Alpha 21264B 833 MHz) Sun Blade 1000 Model 1900 (UltraSPARC-III 900 MHz) Gigabyte GA-7DX Motherboard (AMD Athlon 1.4GHz) SGI 2200 1X (R14k 500MHz) IBM RS/6000 Model M80 (750 MHz)
Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

INT2000 640 569 561 495 439 409 397 CFP2000 704 701 621 427 426 362 359

UPCO ICAI Departamento de Electrnica y Automtica 29

Rendimiento y mejora de la CPU

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

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 30

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

MIPS comparado con un benchmark

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 31

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Otros benchmarks (Ver web AMD e Intel)

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

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

Rendimiento y mejora de la CPU

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 =

Caso anterior: SpeedupConjunto=1.1


Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Ejemplo de la ley de Amdhal

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.

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 34

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Caso multiprocesador

Grado de paralelizacin del programa

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 35

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Precio (coste) de un ordenador

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 Margen bruto Costes directos Componentes

25% al 40% 34% al 39% 6% al 8% 15% al 33%

Coste indirecto o margen bruto


R&D, mantenimiento, marketing, ventas, costes financieros, beneficio mnimo, impuestos.

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)

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 36

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Ejemplo de coste por elementos para un PC

La CPU slo representa una pequea fraccin del coste

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 37

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Comparacin de coste entre mquinas


100% 80% 60% 40% 20% 0% Mini W/S PC
Average Discount Gross Margin Direct Costs Component Costs

5 4 3 2 1 0

4.7 3.5 3.8 2.5 1.8 1.5


Mini W/S PC
UPCO ICAI Departamento de Electrnica y Automtica 38
Average Discount Gross Margin Direct Costs Component Costs

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Lo que me gustara saber: rendimiento/coste

Secreto Trabajo de consultora muy bien pagado

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 39

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

La curva de la verdad
Coste Lmite en la inversin Equipos a descartar

Mnimo en las prestaciones

1/Prestaciones

Cmo se suma velocidad ms capacidad ms throughtput...? Definir la funcin de coste y optimizarla

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 40

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Relacin coste/rendimiento en Pentium III


Coste 100.000 1000

Pentium III Relacin lineal: no hay cambios en la organizacin

933 78.000 866 55.000 800 45.000 42.000 3280 3100 2890 2690

750 descartado y 700 casi


Rendimiento 3280 750 700 3100 2890 2540 2420 2690

1/Rendimiento

2540 2420 700 750 800 866 933 1000 Frecuencia


UPCO ICAI Departamento de Electrnica y Automtica 41

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Ritmo de crecimiento del rendimiento / prestaciones

Evolucin del rendimiento de los procesadores


1000
Supercomputers

100
Rendimiento Mainframes

10

Minicomputers Microprocessors

0.1 1965 1970 1975 1980


Ao
Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez UPCO ICAI Departamento de Electrnica y Automtica 42

1985

1990

1995

2000

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Evolucin memoria (un solo chip DRAM)


size 1000000000

100000000

10000000

1000000

100000

10000

ao tamao(Mb) 1980 0.0625 1983 0.25 1986 1 1989 4 1992 16 1996 64 2000 256

Reloj 250 ns 220 ns 190 ns 165 ns 145 ns 120 ns 100 ns

1000 1970 1975 1980 1985 Year 1990 1995 2000

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 43

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Resumen de crecimiento segn tecnologa

Relaciones de Moore (Intel)

Capacidad Lgica SPEC DRAM Disco x4 en 3 aos x4 en 3 aos x2 en 3 aos

Velocidad (latencia) x2 en 3 aos x2 en 1.5 aos x2 en 10 aos x2 en 10 aos

Si un estudiante tarda 6 aos en realizar su carrera:


Velocidad CPU X 16 Tamaos disco y memoria A travs de los SPEC se llega a la misma conclusin?

La distancia entre velocidad de CPU y memoria sigue creciendo.


UPCO ICAI Departamento de Electrnica y Automtica 44

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Brecha entre procesador y DRAM (gap latency)

1000 Rendimiento
Ley de Moore

CPU

Proc 60%/ao

100 10 1

Procesador-Memoria rendimiento brecha: (crece 50% / ao) DRAM DRAM 7%/ao


1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000

Ao
D.A. Patterson New directions in Computer Architecture Berkeley, June 1998

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

UPCO ICAI Departamento de Electrnica y Automtica 45

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Rendimiento y potencia consumida

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

Joel Emer, Compaq, HPCA00

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

Voltage (V)

UPCO ICAI Departamento de Electrnica y Automtica 46

C urrent (A)

Rendimiento y mejora de la CPU

Arquitectura de Ordenadores

Resumen de rendimiento (I)

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 =

La mejora tiene un lmite: importancia del elemento

Mejores benchmarks: tiempo de ejecucin y throughput


CPU, disco duro, sistema operativo o mquina completa?

Relaciones o leyes de Moore


La velocidad de la CPU crece ms rpidamente que la memoria

La poltica de precios de ordenadores, compras de ordenadores es equivalente a la de cual otro sistema


UPCO ICAI Departamento de Electrnica y Automtica 47

Jos A. Rodrguez Mondjar Cesreo Fernndez Martnez

También podría gustarte