3rendimiento

24
Arquitectura de Ordenadores UPCO ICAI Departamento de Electrónica y Automática 1 José 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 2 José 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

Transcript of 3rendimiento

Page 1: 3rendimiento

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

Page 2: 3rendimiento

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?

Page 3: 3rendimiento

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

Page 4: 3rendimiento

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

Page 5: 3rendimiento

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

Page 6: 3rendimiento

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 =

Page 7: 3rendimiento

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

Page 8: 3rendimiento

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

Page 9: 3rendimiento

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 =

Page 10: 3rendimiento

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

Page 11: 3rendimiento

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

Page 12: 3rendimiento

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

Page 13: 3rendimiento

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

Page 14: 3rendimiento

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

Page 15: 3rendimiento

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

Page 16: 3rendimiento

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

Page 17: 3rendimiento

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

Page 18: 3rendimiento

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)

Page 19: 3rendimiento

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

Page 20: 3rendimiento

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

Page 21: 3rendimiento

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

Page 22: 3rendimiento

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

Page 23: 3rendimiento

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

Page 24: 3rendimiento

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