Sei sulla pagina 1di 12

Rendimiento de un computador

• Objetivo del rendimiento:


Determinar la efectividad de un sistema completo
de hardware y software.
• El rendimiento tiene un papel decisivo en la
compra de un equipo.
• Es difícil medir el rendimiento porque:
– No existe una métrica única capaz de englobar todos
los parámetros de un sistema complejo.
– El rendimiento de un computador depende de la
aplicación.
TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

• Los fabricantes saben todo esto y suministran las


medidas que más les favorecen.

• Nuestro objetivo:
Comprender cómo los diversos elementos hardware
y software de un computador afectan al rendimiento
global del sistema y conocer las diferentes medidas
de rendimiento.

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

Algunas cuestiones a las que


responderemos
• ¿Porqué diferentes hardware son mejores
que otros para diferentes programas?
• ¿Qué factores del rendimiento están
relacionados con el hardware?
• ¿Cómo afecta el juego de instrucciones en
el rendimiento?

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

1
Ejemplo
Aeroplano Pasajeros Autonomía (mi) Veloc. (mph)

Boeing 737-100 101 630 598


Boeing 747 470 4150 610
BAC/Sud Concorde 132 4000 1350
Douglas DC-8-50 146 8720 544

• ¿Qué aeroplano ofrece mayor rendimiento?


• ¿Cuál es más rápido?
• ¿Cuál tiene mayor capacidad de pasajeros?

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

Medidas de rendimiento
• Medidas de rendimiento usuales en computación:
– Computador personal: Tiempo de computación.
– Mainframe: productividad (throughput).

• Relación con el tiempo de ejecución:

Rendimiento = 1 / Tiempo de computación

Rendimiento = throughput

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

Definiciones de tiempo

– Tiempo de respuesta o tiempo transcurrido o “wall-


clock time” o “elapsed time”:
Tiempo total que tarda una tarea en completarse.

– Tiempo de ejecución de CPU: tiempo que la CPU


dedica a realizar una tarea completa (cambios de
contexto, operaciones de E/S).

Tiempo de CPU = Tiempo CPU usuario + Tiempo de CPU sistema

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

2
• Dos medidas de rendimiento basadas en tiempo:
– Rendimiento del sistema: basada en tiempo de
respuesta.
– Rendimiento de CPU: basada en tiempo de CPU de
usuario.
• Veremos el rendimiento de la CPU relacionando
parámetros de medida que permitirán evaluar el impacto
de cambios en el diseño.
• Parámetros que determinan el rendimiento de
CPU:
– Frecuencia de reloj.
– Número de ciclos de reloj para ejecutar cada instrucción.
– Número de instrucciones efectivas en que se traduce un
programa. TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

Definiciones
• Conceptos: ciclo de reloj, frecuencia de reloj (f), período
de reloj (T). 1
200 MHz son: × 109 = 5 nanoseg de periodo.
200 × 10 6
• Número de instrucciones efectivas de un programa (I).
• CPI es el número de ciclos de reloj por instrucción. Media
entre todas las instrucciones ejecutadas por un programa.
CPI = C/I
• Donde C es el número de ciclos totales para ejecutar un
programa.
• CPI es una medida para comparar diferentes realizaciones
de la misma arquitectura del repertorio de instrucciones.
TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

Tiempo de CPU
TCPU = I * CPI / f

• Factores que influyen en el TCPU:


– f: Tecnología hardware.
– CPI: Arquitectura y tecnología hardware.
– I: Arquitectura y compilador.

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

3
Mejora del rendimiento

seconds cycles seconds


= ×
program program cycle

Se puede mejorar:
El número de ciclos del programa.
La frecuencia de reloj.

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

Ejercicio
Sea un programa que se ejecuta en 10 segundos
en un computador a 1GHz. Necesitamos que el
programa se ejecute en 6 segundos. Se puede
fabricar un nuevo computador con nueva
tecnología para aumentar la frecuencia, pero eso
afectaría al diseño de la CPU, haciendo que el
programa requiera 1.2 ciclos más para su
ejecución. ¿A qué frecuencia debería trabajar el
nuevo computador?

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

Ideas
• Un programa requiere:
– Un cierto número de instrucciones.
– Un cierto número de ciclos.
– Un cierto número de segundos.
• El rendimiento está caracterizado por el tiempo de
ejecución.
• Ninguna de estas variables identifican el rendimiento
– # de ciclos para ejecutar el programa
– # de instrucciones del programa
– # de ciclos por segundo
– # de ciclos por instrucción
– # of instrucciones por segundo
TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

4
CPI
• Es difícil de medir.
C= CPIi * Ii
i

• CPIi es el CPI para las instrucciones de


tipo i.
• Ii es el número de instrucciones de tipo i en
el programa.
TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

Ejercicio
Sean dos computadores, A y B, con el
mismo juego de instrucciones. Para un
programa, el computador A tiene un CPI
de 2, y el B de 1.2. Si el ciclo de reloj de A
es 10 ns, y el de B es 20 ns. ¿Qué sistema
es más rápido para ese programa?

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

Tiempo de CPU
TCPU = I * CPI / f =
( CPIi * Ii) / f
i

Con lo que,
CPI = ( CPIi * Ii) / I =
i

{CPIi * (Ii / I)}


i
TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

5
MIPS
• Millones de instrucciones por segundo.
MIPS = I / (TCPU * 106) =
I / {(I *CPI / f) * 106} =
f / (CPI * 106)

TCPU = I / (MIPS * 106)

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

MIPS
• Es fácil de entender e intuitivo.

• Sin embargo:
– Depende del juego de instrucciones.
– Depende de la aplicación.
– Puede variar inversamente con el rendimiento.

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

Ejercicio
Sea un computador con tres tipos de
instrucciones con CPI 1, 2 y 3 respectivamente.
Sea un programa compilado con dos
compiladores diferentes: uno produce 5 millones
de instrucciones del primer tipo, 1 millón del
segundo, y 1 millón del tercero. El otro produce
10 millones de instrucciones del primer tipo, 1
millón del segundo y 1 millón del tercero. El
sistema trabaja a 1GHz. Calcula los MIPS y el
tiempo de ejecución de cada programa
compilado.
TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

6
Variantes de MIPS
• MIPS pico.
– Independiza la medida de la aplicación.
– Ofrecer información sesgada y poco realista.
• MIPS relativo.
MIPSr = Tref * MIPSref / TCPU
– Independiza del juego de instrucciones.
– Difícil seleccionar la máquina de referencia.
– Dependencia con el compilador y el S.O.

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

MFLOPS
• Millones de operaciones de punto flotante
por segundo.
MFLOPS = F / (TCPU * 106)
– Depende del programa.
– Útil para cálculo masivo.
– Independiente del número de instrucciones.
– Depende del tipo concreto de operación:
• MFLOPS pico.
• MFLOPS normalizado.
TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

Programas para medir el


rendimiento
• Cada usuario típico tiene un conjunto de programas que
usa con asiduidad y que deben ser el criterio para evaluar
un computador.
• Los programas para evaluar el rendimiento: programas
de prueba (benchmarks) consisten en aplicaciones
reales, benchmarks reducidos, benchmarks sintéticos,
kernels (Linpack,…), ...
• El grupo de programas de prueba más popular y completo
se llama SPEC (System Performance Evaluation
Cooperative). SPEC 95 consta de 10 programas en coma
flotante y 8 programas enteros.
• 1 SPEC es lo que tarda en ejecutar los progrmas una
SUN/10. TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

7
Información errónea usando
benchmarks

• Dado que los benchmarks son conocidos,


los fabricantes se centran en optimizarlos
para que los números de sus máquinas sean
los más altos posible.

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

El compilador puede desvirtuar


los resultados
800

700

600
SPEC performance ratio

500

400

300

200

100

0
gcc espresso spice doduc nasa7 li eqntott matrix300 fpppp tomcatv

Benchmark
Compiler

Enhanced compiler

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

Resumiendo

• No hay un procedimiento único general


aceptado para medir el rendimiento. El
mecanismo más fiable consiste en realizar
un conjunto de medidas diferentes. Surge
el problema de resumir los resultados en un
solo valor.

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

8
Tiempo de ejecución total
• Suma de los tiempos de todos los
programas usados.
• Tiempo medio:

Tm = Ti / n
i

Donde n es el número de programas, y Ti


el tiempo de CPU de cada uno de ellos.
TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

Tiempo de ejecución ponderado


• Teniendo en cuenta la frecuencia de uso de
los programas medidos.
• Tiempo medio ponderado:

Tmp = Ti * Pesoi
i

Donde Pesoi es la frecuecia de uso de cada


programa.
TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

Ejemplo

Segundos Sistema Sistema Sistema


A B C
Programa
1 10 20
1
Programa
1000 100 20
2
Tiempo
1001 110 40
total
TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

9
Media ponderada
A B C Peso1 Peso2 Peso3
P1 1 10 20 0.50 0.909 0.999
P2 1000 100 20 0.50 0.091 0.001
Tmp 1 500.5 55 20
Tmp 2 91.82 18.18 20
Tmp 3 2 10.09 20
TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

Media ponderada normalizada


Normaliza a A Normaliza a B Normaliza a C

A B C A B C A B C

P1 100% 1000% 2000% 10% 100% 200% 5% 50% 100%

P2 100% 10% 2% 1000% 100% 20% 5000% 500% 100%

1001 2503
M. arit 100% 505% 505% 100% 110% 275% 100%
% %

M. geo 100% 100% 63% 100% 100% 63% 158% 158% 100%

2503
T 100% 11% 4% 910% 100% 36% 275% 100%
%

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

Tamaño de los programas

• No tiene por qué haber relación entre el


tamaño del código, el número de
instrucciones ejecutadas y el tiempo de
ejecución,

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

10
Tiempos normalizados
Tiempos Normaliza a A Normaliza a B
A B A B A B
P1 1 10 1 10 0.1 1

P2 1000 100 1 0.1 10 1

M.arit 500.5 55 1 5.05 5.05 1

M.geo 31.6 31.6 1 1 1 1


TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

Ley de Amdahl
• La ganancia de rendimiento debida a una
cierta mejora está limitada por el nivel de
uso de la característica mejorada.

Tmejorado = (Tafectado/Mejora) + Tno afectado

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

Ejemplo de la ley de Amdahl


• Un programa se ejecuta en 100 segundos,
consumiendo 80 en multiplicar. ¿En cuanto
hay que mejorar el multiplicador para que
sea 5 veces más rápido?

100/5 = 20 = 80/x + (100-80)


IMPOSIBLE

TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

11
Resumen
Sólo las medidas de rendimiento basadas en
tiempo de ejecución son completamente
correctas.
Top500 Computer Site (http://www.top500.org/):
• Lista de los 500 sistemas computacionales con más
rendimiento.
• Creada en 1993 y actualizada cada 6 meses.
• Medida de rendimiento: FLOPS al ejecutar Linpack.
• La lista incluye características de los sistemas y el área de
computación en que se están utilizando.
• NEC, IBM, HP e INTEL han fabricado las máquinas más
potentes de la última lista (Junio de 2002).
TECNOLOXÍA DE COMPUTADORES
Tema 1. Evolución e caracterización dos computadores

12

Potrebbero piacerti anche