Arquitectura de Computadores I

Download Report

Transcript Arquitectura de Computadores I

DESEMPEÑO
TEMAS PRELIMINARES
DEFINICIONES
TIEMPO DE EJECUCION
PERFORMANCE
INCREMENTO EN EL RENDIMIENTO
LEY DE AMDAHL
CICLOS DE RELOJ – TIEMPO DE
PROGRAMA
TCPU = CPU TIME
MIPS
ARQUITECTURA DE COMPUTADORES PERFORMANCE
1
DEFINICIONES
EXECUTION TIME:
Tiempo transcurrido desde que inicia
hasta que termina una determinada
tarea
THROUGHPUT
Cantidad total de tareas realizadas
ARQUITECTURA DE COMPUTADORES PERFORMANCE
2
PERFORMANCE
“El computador A es más rápido que
el computador B”
Como se determina el rendimiento
de un computador para:
– El usuario de un computador
– El director de una sala de computo
ARQUITECTURA DE COMPUTADORES PERFORMANCE
3
RESPUESTAS
– El usuario de un computador: “El
computador más rápido corre un
programa en menos tiempo”
(EXECUTION TIME)
– El director de una sala de computo: “El
computador mas rápido completa más
trabajos en una hora”. (THROUGHPUT)
ARQUITECTURA DE COMPUTADORES PERFORMANCE
4
EJEMPLO !!!
 De las siguientes modificaciones a un
sistema, se obtiene un mayor número
de trabajos hechos, un tiempo de
respuesta menor para un solo trabajo,
o las dos:
1. Ciclo de reloj mas rápido
2. Varios procesadores para tareas separadas
3. Procesamiento paralelo
ARQUITECTURA DE COMPUTADORES PERFORMANCE
5
RESPUESTAS AL EJEMPLO
Ciclo de reloj mas rápido: las dos
Varios procesadores para tareas
separadas: mayor numero de trabajos
hechos.
Procesamiento paralelo: las dos
ARQUITECTURA DE COMPUTADORES PERFORMANCE
6
TIEMPO DE EJECUCION
Algunas veces es mejor describir la
relación de desempeño de dos máquinas
en porcentajes:
Por ejemplo, “X es n% más rápido que
Y” significa:
n 

T iempode EjecuciónY  T iempode EjecuciónX 1 

 100
T iempode EjecuciónY 
n 
 1 

T iempode EjecuciónX  100
ARQUITECTURA DE COMPUTADORES PERFORMANCE
7
PERFORMANCE
Como el tiempo de ejecución es
inversamente proporcional a
rendimiento:
1
T iempode EjecuciónY Rendimiento Y Rendimiento X 
n 


 1 

1
T iempode EjecuciónX
Rendimiento Y  100
Rendimiento X
ARQUITECTURA DE COMPUTADORES PERFORMANCE
8
INCREMENTO EN EL
RENDIMIENTO
El incremento en rendimiento entre X y
Y es n:
 Rendimiento X  Rendimiento Y
n  100
Rendimiento Y




 T iempode EjecuciónY  T iempode EjecuciónX
n  100
T iempode EjecuciónX

ARQUITECTURA DE COMPUTADORES PERFORMANCE



9
EJEMPLO
 Si el computador A corre un programa
en 10 segundos y B corre el mismo
programa en 15 segundos, indique
cual frase es verdadera:
1. A es 50% mas rápido que B
2. A es 33% mas rápido que B
ARQUITECTURA DE COMPUTADORES PERFORMANCE
10
RESPUESTA
 T iempode EjecuciónB  T iempode EjecuciónA
n  100
T iempode EjecuciónA




5
 15  10 
n  100
  100*  50
10
 10 
Luego, A es 50% más rápido que B
ARQUITECTURA DE COMPUTADORES PERFORMANCE
11
LEY DE AMDAHL
En ocasiones la mejora del desempeño
es parcial, o por una fracción de tiempo.
Tiempode Ejecuciónnuevo  Tiempode Ejecuciónviejo1  n* f nuevo 
Donde:
 T iempode EjecuciónT otalviejo  T iempode EjecuciónT otalnuevo 

n  
T iempode EjecuciónT otalnuevo


f nuevo
Es la porción de tiempo que usa la mejora
ARQUITECTURA DE COMPUTADORES PERFORMANCE
12
SPEEDUP
Mejoraen el desempeñodel sistema  Speedup overall
Relación de desempeño Speedup nuevo
T iempode Ejecuciónnuevo

T iempode Ejecuciónviejo
T iempode EjecuciónT otalViejo

T iempode EjecuciónT otalNuevo
Donde el tiempo de ejecución total se refiere
al tiempo de ejecución de la tarea
completamente ejecutado por una
máquina con características A.
ARQUITECTURA DE COMPUTADORES PERFORMANCE
13
SPEEDUP
Luego:
Speedup overall 
1
f nuevo
1  f nuevo  
Speedupnuevo
ARQUITECTURA DE COMPUTADORES PERFORMANCE
14
EJEMPLO
Se considera una mejora que corre 10
veces más rápido que la máquina
original, pero sólo se usa 40% del
tiempo. Cual es la ganancia cuando se
incorpora la mejora?
f nuevo  0.4
Speedupnuevo  10
Speedup overall
1
1


 1.56
0.4 0.64
1  0.4 
10
ARQUITECTURA DE COMPUTADORES PERFORMANCE
15
LEY DE AMDAHL- RESUMEN
La ley de Amdahl sirve como guía para
saber que tanto una modificación
mejora el rendimiento y como distribuir
recursos para obtener costo/
desempeño.
ARQUITECTURA DE COMPUTADORES PERFORMANCE
16
MEJORANDO RENDIMIENTO
Tiempo de Respuesta
Productividad (Número de Tareas en
t seg.)
Para aumentar rendimiento hay que
disminuir el tiempo de respuesta o el
tiempo de ejecución
1
Rendimiento X =
Tiempo de ejecución X
ARQUITECTURA DE COMPUTADORES PERFORMANCE
17
CICLOS DE RELOJ – TIEMPO DE
PROGRAMA
PROGRAMA
Tc
CICLOS DE RELOJ
Instrucción
ARQUITECTURA DE COMPUTADORES PERFORMANCE
18
TCPU = CPU TIME
Tcpu= Tiempo de ejecución de la CPU
en un programa
Tcpu= (Ciclos de reloj para el
programa) X (Duración del ciclo)
ARQUITECTURA DE COMPUTADORES PERFORMANCE
19
EJEMPLO TCPU
Un programa corre en 10 s en un
computador A con un reloj de
100Mhz. Que reloj se necesita en un
computador B para correr el mismo
programa en 6 s si correr este
programa en B necesita 1.2 veces el
numero de ciclos de A?
ARQUITECTURA DE COMPUTADORES PERFORMANCE
20
RENDIMIENTO
CPI= Número de Ciclos de reloj por
instrucción
Ciclos de reloj = (# instrucciones) x CPI
promedio
TCPU = (# instrucciones) x CPI Promedio
fc
fc
 Tecnología Hardware y Diseño
CPI
 Diseño
#Instr.  Tecnología Compiladores
ARQUITECTURA DE COMPUTADORES PERFORMANCE
21
MIPS
Métricas para el Rendimiento
– MIPS =___NI___ =
TCPUx106
_ fc__
CPIx106
No depende del repertorio de instrucciones
Varia entre programas sobre el mismo
computador
Puede variar inversamente con el
rendimiento
– MFLOPS = #oper en punto flotante
Tiempo de ejecución x106
ARQUITECTURA DE COMPUTADORES PERFORMANCE
22
EJEMPLO - CPI
Se tienen dos implementaciones de una
arquitectura con el mismo conjunto de
instrucciones. El computador A tiene un
tiempo de ciclo de reloj de 10 ns y un CPI
de 2.0 para un programa.
El computador B tiene un tiempo de ciclo de
reloj de 20ns y un CPI de 1.2 para el
mismo programa.
Cual computador es más rápido?
ARQUITECTURA DE COMPUTADORES PERFORMANCE
23
SOLUCION
Cada máquina ejecuta el mismo número de instrucciones
para este programa, que llamaremos I. El número de ciclos
de reloj se calcula como:
Ciclos de reloj
A
Ciclos de reloj
B
Tiempo CPU
A
= I*2.0*10ns
=
I * 2.0
=
I * 1.2
Tiempo CPU =
I*1.2*20ns
B
Computador A es más rápido
ARQUITECTURA DE COMPUTADORES PERFORMANCE
24
EJEMPLO
Usar MIPS para
determinar que
programa es mejor
que otro y calcular el
TCPU
Sea un computador
de 150Mhz con tres
tipos de instrucciones
y medidas de CPI por
instrucción como se
muestran en la tabla.
Se obtuvo la siguiente
tabla para dos
compiladores
INSTRUCTION
CLASS
CPI FOR THIS
INSTRUCTION
CLASS
A
1
B
2
C
3
CODE
FROM
INSTRUCTION COUNT (IN
MILLIONS) FOR EACH
INSTRUCTION CLASS
A
B
C
COMPILER 1
5
2
1
COMPILER 2
2
3
1
ARQUITECTURA DE COMPUTADORES PERFORMANCE
25
SOLUCION
CPU clock cycles = SUMATORIA (CPIi x Ci)
CPU clock cycles (A) = [ (5*1+2*2+1*3) E6 ]=12
E6
CPU clock cycles (B) = [ (2*1+3*2+1*3) E6 ]=11
E6
EXECUTION TIME CPU CLOCK CYCLES / FRECUENCIA
Execution Time (A) = 12 E6 / 150 E 6 = 0.0800
secs
Execution Time (B) = 11 E6 / 150 E 6 = 0.0733
secs
MIPS= INTRUCTION COUNT / EXECUTION TIEM X E6
MIPS (A) = [ (5*1+2*2+1*3) E6 ] / 0.0800 E6= 150
MIPS (B) = [ (2*1+3*2+1*3) E6 ] / 0.0733 E6=150.068
ARQUITECTURA DE COMPUTADORES PERFORMANCE
26
SOFTWARE PARA LA EVALUACION
DEL DESEMPEÑO
Programas / Aplicaciones reales.
Toys Programs
Synthetic benchmarks: programas artificiales que
tratan de concordar con un gran conjunto de
programas (Dhrystone y Whetstone )
Kernel benchmarks: son pequeñps, timeintensive pieces (Livermore Loops , Linpack )
Benchmarks are programs chosen to measure the
performance of a computer system
SPEC (System Performance Evaluation
Cooperative) Benchmarks are more realistic.
ARQUITECTURA DE COMPUTADORES PERFORMANCE
27
REVISAR
Problemas de las diferentes formas
de medición del rendimiento.
ARQUITECTURA DE COMPUTADORES PERFORMANCE
28