Upload
ngokhuong
View
218
Download
0
Embed Size (px)
Citation preview
1
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 1José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
RENDIMIENTO Y MEJORA DE LA CPU
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 2José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
¿Por qué hablar de rendimiento de un ordenador?• RAE 92: “Proporción entre el producto o el resultado
obtenido y los medios utilizados”.• Elegir el ordenador con mejor rendimiento (EL MEJOR)• Diseñar, montar o elegir un ordenador que sea apto para la
aplicación en la que va ser utilizado:– Rápido– Capacidad de almacenamiento adecuada– Capacidad de comunicaciones adecuada– Sistema gráfico adecuado (Servidor WWW vs. Cliente WWW)– Múltiples usuarios– Mantenimiento– Escalabilidad
• De los que cumplen: el más barato – Desembolso inicial, coste de las ampliaciones, consumo
2
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 3José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
¿Cómo medir el rendimiento?• Fórmula para una máquina
• ¿Cuántas veces es mejor la máquina A que la B?
• ¿Cómo medir las prestaciones?– Dependerá de la aplicación donde se quiera utilizar el ordenador
• ¿Coste?– Difícil de evaluar: sometido a las leyes del mercado– En la mayoría de los casos al comparar rendimientos se supone
que los costes son iguales (Tabla de comparación de Intel)
CosteesPrestacionoRendimient =
r_Bo_OrdenadoRendimientr_Ao_OrdenadoRendimientn =
or_Bes_OrdenadPrestacionor_Aes_OrdenadPrestacion
r_Bo_OrdenadoRendimientr_Ao_OrdenadoRendimientn ==
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 4José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
¿Dónde está el coste?
3
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 5José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
¿Qué mide? ¿Mi AMD será más rápido?• ¿Mi aplicación correrá más rápida en un AMD que en un
Pentium?
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 6José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Medir las prestaciones• Fundamental: Tiempo de ejecución de los programas
– ¿Cómo medir?• A mano: cronómetro en mano
– NO FALLA: el más rápido en ejecutar un programa siempre es el mejor a igualdad de coste.
– ¿Cómo saber esto a priori?• Mediante una fórmula
– Tiempo = Programa * Factor– ¿Cómo se comparan o miden programas?– ¿Cómo se calcula ese factor?– Problema de parada de la máquina de Turing: “No existe un
algoritmo general que permita calcular el número de operaciones de cualquier tipo de algoritmo (programa)”
– ¿Cómo mejorar a partir de las medidas la arquitectura?• Más prestaciones: almacenamiento, conexión...• Aunque parezca imposible se pueden introducir números
4
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 7José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
¿Qué números? Métricas básicas• Periodo o frecuencia de reloj de la CPU (MHz, GHz)• Tiempo de ejecución de un programa (latencia - Latency)
– Tiempo de respuesta– El ordenador más rápido es el que tarda menos en ejecutar un
programa– Mejorar el rendimiento = Mejorar el tiempo de ejecución =
Decrementar el tiempo de ejecución– ¿Cómo saber esto a priori?
• ¿Qué mejorar de la máquina? ¿Futuras aplicaciones?
• Productividad (Throughput)– Cuánto trabajo (operaciones) puede realizar por unidad de tiempo
• CPI– Ciclos por instrucción
• MIPS– Millones de instrucciones por segundo
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 8José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Tiempo de ejecución de un programa (latencia)• El tiempo de ejecución es la medida básica 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 ejecución 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 ¿Cómo 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 ejecución: 2min, 39s ; 65 % es tiempo de CPU
5
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 9José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Rendimiento y tiempo de ejecución• Si se mide el rendimiento como tiempo de ejecución
– Rendimiento de todo el ordenador– Si sólo se tiene en cuenta el tiempo de CPU es una medida del
conjunto CPU más Sistema Operativo• ¿Cuántas veces es mejor la CPU_A que la CPU_B?
• Ordenador completo
• Depende del programa utilizado: caso medio, casos extremos– Benchmark (Eje: SPEC’s): Simular diferentes tipos de aplicación.
grama_Acución_ProTiempo_Ejegrama_Bcución_ProTiempo_Eje
Bro_OrdenadoRendimientr_Ao_OrdenadoRendimientn ==_
gramacución_ProTiempo_Eje1oRendimient =
Programa_ATiempo_CPUPrograma_BTiempo_CPU
Bo_CPURendimiento_CPU_ARendimientn
__
_==
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 10José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Throughput• Mide la cantidad de trabajo realizado por unidad de tiempo
– Número de programas ejecutados por hora– Número de instrucciones ejecutadas por segundo– Número de consultas WWW despachadas por segundo– Medir la productividad: Director CPD (¿A cuántos doy servicio?)
• Frente a tiempo de ejecución (latencia)– Tiempo que tarda en ejecutarse un programa– Tiempo que tarda en ejecutarse una instrucción– Tiempo en despachar una consulta en un servidor WWW– Medida muy cercana al usuario final (¿Cuánto tarda?)
• Ejemplo– Un ordenador tarda 8 s. en ejecutar dos programas de igual carga:
• Tiempo de ejecución: 4 s (uno tras otro / multitarea: 8s aprox.)• Throughput: 2 programas/8 segundos=0.25• Con dos CPU’s: tiempo de ejecución: 4 s; throughput: 4/8: 0.5
6
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 11José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Reloj• Frecuencia de reloj
– Todo procesador tiene un reloj interno que funciona a frecuenciaconstante (¿Ordenadores portátiles?).
– Todo en el procesador ocurre a ritmo de ese reloj– Gasto energético es proporcional a la frecuencia del reloj
• Muy importante para el rendimiento en sistemas móviles– Mayor frecuencia no significa mayor rendimiento (Intel y AMD).– Ejemplo:
• 500 MHz: 500.000.000 ciclos por segundo (1GHz = 109 ciclos/s.)
• Duración del ciclo de reloj (periodo): inverso de la frecuencia– Los retardos máximos en los elementos del procesador fijan la
frecuencia máxima del reloj– Dato más del diseñador (¿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).
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 12José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Relación entre tiempo de CPU y reloj• Recuerde que tiempo de CPU es el tiempo de CPU
necesario para ejecutar un trozo de código
• Ejemplo:– 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 ejecución = mayor rendimiento
• ¿Cuántos ciclos de reloj necesita un programa para ejecutarse?– Volvemos al “Problema de parada de la máquina de Turing”– ¿Cómo pasar de número de instrucciones a número de ciclos?
_Relojma*Periodolos_PrograNúmero_CicTiempo_CPU =
_RelojFrecuenciamalos_PrograNúmero_CicTiempo_CPU =
7
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 13José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Otra métrica: Ciclos por instrucción (CPI)• Número medio de ciclos de reloj (ciclos máquina) por
instrucción
• A igualdad de arquitectura y reloj si disminuye el CPI aumenta el rendimiento
• Teóricamente es una medida estricta del rendimiento de la CPU– No aparece ni Sistema Operativo ni los tiempos de espera de la
Entrada/Salida– ¿Cómo se mide?
_ProgramatruccionesNúmero_Insmalos_PrograNúmero_CicCPI =
CPI_CPU_ACPI_CPU_B
Bo_CPURendimiento_CPU_ARendimientn ==
_
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 14José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
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 1ns y CPI de 2.0 y la CPU_B tiene un tiempo de ciclo de 2 ns y un CPI de 1.2. ¿Cuál es la máquina más rápida y cuánto?
– I es el número de instrucciones del programa– A es 1.2 veces más rápido que B– Si el periodo de B pasa a 1.3 ns (¿Qué frecuencia?) cambia
– B es 1.28 veces más rápido que A• Sólo es válido para el programa utilizado para calcular el CPI
2.11*2*2.1*2*__
_====
II
_ATiempo_CPUBCPUTiempo
Bo_CPURendimiento_CPU_ARendimientn
28.11
1*2*2.1*3.1*__
_====
II
_ATiempo_CPUBCPUTiempo
Bo_CPURendimiento_CPU_ARendimientn
8
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 15José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
¿Cómo se mide el CPI de una CPU?• Depende del programa utilizado
– Los programas utilizan subconjuntos diferentes del juego de instrucciones del procesador
• Cálculo científico (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/instrucción
– Si fuera un programa con una sola instrucción de cada tipo
CPI = (8 + 4 + 100)/3 = 37.3 ciclos/instrucción
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 16José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Ecuación básica del rendimiento• Función del número de instrucciones, CPI y periodo
• En algunos casos CPI se concreta para diferentes tipos de instrucciones– Tipo i de instrucción necesita CPIi ciclos– Ii: número de instrucciones del tipo i– T: Periodo
TCPIItPeriodoCPI_Programa*truccionesNúmero_InscuciónTiempo_Eje
⋅⋅== *
∑= TCPIIt ii *)*(
Número de instrucciones CPI PeriodoPrograma XCompilador X (X)Juego de instrucciones X XOrganización de la CPU X XTecnología X
9
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 17José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Ejemplo de rendimiento• Un diseñador de compiladores está intentando decidir
entre dos secuencias de código para un mismo programa. Los diseñadores de la CPU donde correrá ese programa le han proporcionado los siguientes datos
– Tiempo ejecución secuencia 1T1= (2*1+1*2+2*3)*T = 10*T = 10 ciclos (5 instrucciones); CPI1=2
– Tiempo ejecución secuencia 2T2= (4*1+1*2+1*3)*T = 9*T = 9 ciclos (6 instrucciones); CPI2=1.5
– La secuencia 2 es más rápida que la secuencia 1 aunque tenga más instrucciones
– Todos los factores son importantes en el rendimiento
Instrucciones CPITipo A 1Tipo B 2Tipo C 3
Tipo A Tipo B Tipo C1 2 1 22 4 1 1
Secuencia de código
Total de instrucción por clase
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 18José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
MIPS• Millones de instrucciones que ejecuta el procesador por
segundo
• Sólo sirve para comparar CPU’s que implantan el mismo juego de instrucciones
• Medida del rendimiento engañosa:– CPU A (1MHz) tiene una instrucción especial para realizar la raiz
cuadrada que tarda 100 ciclos en ejecutarla– CPU B (1MHz) no tiene la instrucción 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 ¿Quién hace más rápido la raiz cuadrada?
6*10Tiempo_CPU_ProgramatruccionesNúmero_InsMIPS =
10
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 19José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Más sobre MIPS• Utilizado para comparar máquinas diferentes de forma
engañosa– Número de instrucciones por segundo– Contenido semántico de las instrucciones– Programa con que se ha hecho la medida– Compilador utilizado
• MIPS de pico– Velocidad de ejecución de las instrucciones en el mejor de los
casos• Se toma un programa que tiene una sola instrucción que es la más
rápida de ejecutar del juego de instrucciones.
• MIPS y CPI son equivalentes– MIPS es interesante para el usuario, CPI para el diseñador
6o*10CPI*Period_Programa*truccionesNúmero_Ins_ProgramatruccionesNúmero_InsMIPS =
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 20José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
• Contabilizar operaciones de coma flotante en alto nivel frente a instrucciones necesarias para ejecutarlas– No depende de la arquitectura de la máquina (MIPS, CPI)– No depende del compilador
• Problemas– Sólo es aplicable a programas que hagan uso masivo de la coma
flotante (entornos de cálculo científico)– Depende del programa: una división tarda más que una multiplicación
• Solución MFLOPS normalizados (Función semejante a CPIi)
610*Tiempo_CPUteoma_Flotanraciones_CNúmero_OpeMFLOPS=
MFLOPS
Operaciones Coste normalizadoADD, SUB, COMPARE, MULT 1DIVIDE, SQRT 4EXP, SIN 8
11
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 21José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Resumen de lo visto: Medidas del rendimiento
Compilador
Lenguaje de Programación
Aplicación
DatapathControl
Transistores Cables Pines
ISA MIPSMFLOPS
Reloj
Respuestas diariasTransacciones por segundoTiempo de respuesta
CPI
Tiempo de respuesta
Medir para saber si la
CPU es adecuada para la aplicación
Medir para saber si la CPU
mejora(Independiente
de la aplicación)
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 22José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
¿Qué programa elegir para medir?• Mejor medida: CARGA REAL
– Comparar con el programa que estás siempre utilizando– Problema: No se sabe a priori que programas se van a ejecutar
• Alternativa: Programas de prueba (BENCHMARK)– Predecir el rendimiento de la máquina cuando ejecute los
programas reales. Simular la posible carga real.• ¿Cómo construir un benchmark?
– Medida reproducible– No vulnerable
• Preparar la CPU o el compilador para ejecutar más rápidamente del código del benchmark
– Conjunto de varios programas para que sea representativo• Programas actuales• Programas futuros: Difícil
– Ponderar los tiempos de ejecución de cada programa
12
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 23José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Ponderación en Intel
Java
Audio, vídeo, imagen
Juegos 3D
Ofimática
Ofimática
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 24José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Diferentes tipos de benchmarks• Basados en aplicaciones reales
– Científicas (secuenciación genoma), ingeniería (CAD, elementos finitos), bases de datos, edición, compiladores
– Filosofía de los SPEC• Núcleos: trozos críticos de programas representativos
– Facilidad• Microbenchmark (Medir aspectos concretos del sistema)
– Operación en coma fija– Operación en coma flotante– Entrada/salida– Memoria– Sistema Operativo
• Otros: juegos, algoritmos muy concretos (Ordenación)• El mejor: tu aplicación
13
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 25José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Comparación entre benchmarks
CARGA REAL
BENCHMARK BASADOSEN APLICACIONES REALES
NÚCLEOS
MICROBENCHMARK
Pros Contras
• Representativo• Muy específico• No portable• Difícil de correr o medir• Difícil para identificar causas de bajo rendim.
• Portable• Ampliamente usados• Mide mejoras sobre la realidad
• Fáciles de correr, incluso en etapas tempranas del diseño
• Menos representativo
• Vulnerables
• Difícil de extrapolar a una aplicación real
USUARIO
DISEÑADOR
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 26José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
SPEC• Sistem Performance Evaluation Cooperative (SPEC)
– Fundada en 1988 por un número pequeño 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 estándar de facto.• Filosofía de SPEC
– Asegurar que el mercado tenga un conjunto de métricas realistas y fáciles de usar para comparar diferentes sistemas entre sí.
– La base de la metodología SPEC es utilizar benchmark basados en un conjunto de códigos extraídos 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
14
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 27José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Programas: SPEC CINT2000 Benchmarks
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 28José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Programas: SPEC CFP2000 Benchmark
15
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 29José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Ejemplo de SPEC (¿cómo es la situación actual?)Modelo INT2000Intel D850GB motherboard (2.0 GHz, Pentium IV) 640hp workstation j6700 (PA-8700 750 MHz) 569AlphaServer GS320 68/(Alpha 21264C 1001 MHz) 561Gigabyte GA-7DX Motherboard (AMD Athlon 1.4GHz) 495Sun Blade 1000 Model 1900 (UltraSPARC-III 900 MHz) 439IBM RS/6000 Model M80 (RS64 IV 750 MHz) 409SGI 2200 1X (R14k 500MHz) 397
CFP2000Intel D850GB motherboard (2.0 GHz, Pentium IV) 704hp server rx4610 (Intel Itanium 800 MHz) 701AlphaServer ES40 6/833 (Alpha 21264B 833 MHz) 621Sun Blade 1000 Model 1900 (UltraSPARC-III 900 MHz) 427Gigabyte GA-7DX Motherboard (AMD Athlon 1.4GHz) 426SGI 2200 1X (R14k 500MHz) 362IBM RS/6000 Model M80 (750 MHz) 359
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 30José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Configuraciones de máquinas• 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
16
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 31José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
MIPS comparado con un benchmark
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 32José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
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 – ¿Dónde está SPEC?
• Productivity– 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
17
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 33José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
• Si se mejora la ejecución de una parte del programa (speedup de esta parte), no se mejora la ejecución de todo el programa en la misma cantidad (speedup del conjunto).
• Fórmula
– Caso anterior: SpeedupConjunto=1.1
Ley de Amdahl
10 s 90 s
100 s
91 s1 s
)1(
1
mejoradaFracción
mejoradamejorado
sinConjunto
FracciónSpeedupFracciónTiempo
TiempoSpeedup−+
==
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 34José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Ejemplo de la ley de Amdhal• El tiempo de ejecución de un programa es 100 segundos en
un sistema monoprocesador. 50% del programa espararalelizable en un sistema multiprocesador. Se utiliza un sistema con 5 procesadores. Calcular el speedup.
• Corolario de la ley de Amdhal: Hacer más rápido el caso más frecuente
• El alumno suele cometer errores cuando se aplica la ley de Amdahl para varias mejoras simultáneas.
7.15.01.0
1
)5.01(55.0
1=
+=
−+=ConjuntoSpeedup
18
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 35José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Caso multiprocesador
Grado de paralelizacióndel programa
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 36José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Precio (coste) de un ordenador• El coste y precio de un
ordenador es equivalente a la de cualquier otro sistema.
• Coste de fabricación– Componentes (muy sensible)– Costes directos: mano de obra,
gestión de compras, garantía, equipos defectuosos.
• Coste indirecto o margen bruto
– R&D, mantenimiento, marketing, ventas, costes financieros, beneficio mínimo, impuestos.
• Margen de descuento: descuento del precio final (compra por volumen, venta a distribuidores, etc)
25% al 40%
Componentes
Costes directos
Margen bruto
Margen de descuento
Precio delista
Preciomínimo 34% al 39%
6% al 8%15% al 33%
Para comprar un ordenador o sistema informático:
1. Que cumpla con los requisitos2. Más barato (ojo con olvidarse de garantía, mantenimiento, etc)
19
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 37José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Ejemplo de coste por elementos para un PC
La CPU sólo representa una pequeña fracción del coste
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 38José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
0%
20%
40%
60%
80%
100%
Mini W/S PC
Average Discount
Gross Margin
Direct Costs
Component Costs
0
1
2
3
4
5
Mini W/S PC
Average Discount
Gross Margin
Direct Costs
Component Costs
4.73.8
1.8
3.52.5
1.5
Comparación de coste entre máquinas
20
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 39José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Lo que me gustaría saber: rendimiento/coste• Secreto• Trabajo de consultoría muy bien pagado
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 40José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
• ¿Cómo se suma velocidad más capacidad más throughtput...? Definir la función de coste y optimizarla
1/Prestaciones
CosteLímite en la inversión
Mínimo en las prestaciones
Equipos a descartar
La curva de la verdad
21
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 41José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Relación coste/rendimiento en Pentium III
100.000
78.000
55.000
45.00042.000
3280 3100 2890 2690 2540 2420
Pentium III
700750800
866
933
1000
Coste
1/Rendimiento242025402690
2890
3100
3280Rendimiento
Frecuencia700 750 800 866 933 1000
Relación lineal:no hay cambios en
la organización750 descartado y 700 casi
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 42José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Ritmo de crecimiento del rendimiento / prestaciones• Evolución del rendimiento de los procesadores
0.1
1
10
100
1000
1965 1970 1975 1980 1985 1990 1995 2000
Ren
dim
ient
o
Año
Mainframes
Minicomputers
Microprocessors
Supercomputers
22
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 43José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
size
Year
1000
10000
100000
1000000
10000000
100000000
1000000000
1970 1975 1980 1985 1990 1995 2000
año tamaño(Mb) Reloj 1980 0.0625 250 ns1983 0.25 220 ns1986 1 190 ns1989 4 165 ns1992 16 145 ns1996 64 120 ns2000 256 100 ns
Evolución memoria (un solo chip DRAM)
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 44José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
• Relaciones de Moore (Intel)
• Si un estudiante tarda 6 años en realizar su carrera:– Velocidad CPU– Tamaños disco y memoria– ¿A través de los SPEC se llega a la misma conclusión?
• La distancia entre velocidad de CPU y memoria sigue creciendo.
Capacidad Velocidad (latencia)Lógica x2 en 3 años x2 en 3 añosSPEC x2 en 1.5 añosDRAM x4 en 3 años x2 en 10 añosDisco x4 en 3 años x2 en 10 años
X 16
Resumen de crecimiento según tecnología
23
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 45José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Brecha entre procesador y DRAM (gap latency)
µProc60%/año
DRAM7%/año
1
10
100
1000
1980
1981
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
DRAM
CPU
1982
Procesador-Memoriarendimiento brecha:(crece 50% / año)
Ren
dim
ient
o
Año
“Ley de Moore”
D.A. Patterson “ New directions in Computer Architecture” Berkeley, June 1998
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 46José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
Power Dissipation
0
20
40
60
80
100
120
21064 21164 21264 21364
Po
wer
(W)
00.5
11.5
22.5
33.5
Vol
tage
(V)
Supply Current
01020304050607080
21064 21164 21264 21364
Cu
rren
t (A
)
0
0.5
1
1.5
2
2.5
3
3.5
Vo
ltag
e (V
)
Joel Emer, Compaq, HPCA00
Rendimiento y potencia consumida• La potencia consumida se está incrementando• La corriente de la fuente de alimentación está aumentando
más rápidamente– Disminuye la tensión
24
Arquitectura de Ordenadores
UPCO ICAI Departamento de Electrónica y Automática 47José A. Rodríguez Mondéjar Cesáreo Fernández Martínez
Rendimiento y mejora de la CPU
)1(
1
mejoradaFracción
mejoradamejorado
sinConjunto
FracciónSpeedupFracciónTiempo
TiempoSpeedup−+
==
PeriodoCPI_Programa*truccionesNúmero_InscuciónTiempo_Eje *=
Resumen de rendimiento (I)• Fórmula fundamental del tiempo de ejecución (CPI)
– Todos los factores influyen• Ley de Amdahl:
– La mejora tiene un límite: importancia del elemento• Mejores benchmarks: tiempo de ejecución y throughput
– ¿CPU, disco duro, sistema operativo o máquina completa?• Relaciones o leyes de Moore
– La velocidad de la CPU crece más rápidamente que la memoria• La política de precios de ordenadores, compras de
ordenadores es equivalente a la de cual otro sistema