Upload
sandalio-crespo
View
30
Download
1
Embed Size (px)
Citation preview
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
11
DESEMPEÑODESEMPEÑOTEMAS PRELIMINARESTEMAS PRELIMINARESDEFINICIONESDEFINICIONESTIEMPO DE EJECUCIONTIEMPO DE EJECUCIONPERFORMANCEPERFORMANCEINCREMENTO EN EL RENDIMIENTOINCREMENTO EN EL RENDIMIENTOLEY DE AMDAHLLEY DE AMDAHLCICLOS DE RELOJ – TIEMPO DE PROGRAMACICLOS DE RELOJ – TIEMPO DE PROGRAMATCPU = CPU TIMETCPU = CPU TIMEMIPSMIPS
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
22
DEFINICIONESDEFINICIONES
EXECUTION TIME:EXECUTION TIME:
Tiempo transcurrido desde que inicia Tiempo transcurrido desde que inicia hasta que termina una determinada hasta que termina una determinada tareatarea
THROUGHPUTTHROUGHPUT
Cantidad total de tareas realizadasCantidad total de tareas realizadas
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
33
PERFORMANCEPERFORMANCE
““El computador A es más rápido que El computador A es más rápido que el computador B”el computador B”
Como se determina el rendimiento Como se determina el rendimiento de un computador para:de un computador para:– El usuario de un computadorEl usuario de un computador– El director de una sala de computoEl director de una sala de computo
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
44
RESPUESTASRESPUESTAS– El usuario de un computador: “El El usuario de un computador: “El
computador más rápido corre un computador más rápido corre un programa en menos tiempo” programa en menos tiempo” ((EXECUTION TIMEEXECUTION TIME))
– El director de una sala de computo: “El El director de una sala de computo: “El computador mas rápido completa más computador mas rápido completa más trabajos en una hora”. (trabajos en una hora”. (THROUGHPUT)THROUGHPUT)
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
55
EJEMPLO !!!EJEMPLO !!! De las siguientes modificaciones a un De las siguientes modificaciones a un
sistema, se obtiene un mayor número sistema, se obtiene un mayor número de trabajos hechos, un tiempo de de trabajos hechos, un tiempo de respuesta menor para un solo trabajo, respuesta menor para un solo trabajo, o las dos:o las dos:1.1. Ciclo de reloj mas rápidoCiclo de reloj mas rápido
2.2. Varios procesadores para tareas separadasVarios procesadores para tareas separadas
3.3. Procesamiento paraleloProcesamiento paralelo
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
66
RESPUESTAS AL EJEMPLORESPUESTAS AL EJEMPLOCiclo de reloj mas rápido: las dosCiclo de reloj mas rápido: las dos
Varios procesadores para tareas Varios procesadores para tareas separadas: mayor numero de trabajos separadas: mayor numero de trabajos hechos.hechos.
Procesamiento paralelo: las dosProcesamiento paralelo: las dos
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
77
TIEMPO DE EJECUCIONTIEMPO DE EJECUCIONAlgunas veces es mejor describir la Algunas veces es mejor describir la
relación de desempeño de dos relación de desempeño de dos máquinas en porcentajes:máquinas en porcentajes:
Por ejemplo, “X es n% más rápido que Por ejemplo, “X es n% más rápido que Y” significa:Y” significa:
1001Ejecución de TiempoEjecución de Tiempo XY
n
1001
Ejecución de TiempoEjecución de Tiempo
X
Y n
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
88
PERFORMANCEPERFORMANCEComo el tiempo de ejecución es Como el tiempo de ejecución es
inversamente proporcional a inversamente proporcional a rendimiento:rendimiento:
100
n1
oRendimient
oRendimient
oRendimient
1oRendimient
1
Ejecución de Tiempo
Ejecución de Tiempo
Y
X
X
Y
X
Y
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
99
INCREMENTO EN EL INCREMENTO EN EL RENDIMIENTORENDIMIENTO
El incremento en rendimiento entre X y El incremento en rendimiento entre X y Y es n:Y es n:
Y
YX
oRendimient
oRendimientoRendimient100n
X
XY
Ejecución de Tiempo
Ejecución de TiempoEjecución de Tiempo100n
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
1010
EJEMPLOEJEMPLO Si el computador A corre un programa Si el computador A corre un programa
en 10 segundos y B corre el mismo en 10 segundos y B corre el mismo programa en 15 segundos, indique programa en 15 segundos, indique cual frase es verdadera:cual frase es verdadera:
1.1. A es 50% mas rápido que BA es 50% mas rápido que B
2.2. A es 33% mas rápido que BA es 33% mas rápido que B
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
1111
RESPUESTARESPUESTA
A
AB
Ejecución de Tiempo
Ejecución de TiempoEjecución de Tiempo100n
5010
5*100
10
0151100n
Luego, A es 50% más rápido que B
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
1212
LEY DE AMDAHLLEY DE AMDAHLEn ocasiones la mejora del desempeño En ocasiones la mejora del desempeño
es parcial, o por una fracción de tiempo.es parcial, o por una fracción de tiempo.
nuevofn*1Ejecución de TiempoEjecución de Tiempo viejonuevo
Donde:
nuevo
nuevoviejo
TotalEjecución de Tiempo
TotalEjecución de TiempoTotalEjecución de Tiempon
nuevof Es la porción de tiempo que usa la mejora
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
1313
SPEEDUPSPEEDUP
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.
viejo
nuevooverall Ejecución de Tiempo
Ejecución de TiempoSpeedupsistema del desempeño elen Mejora
Nuevo TotalEjecución de Tiempo
Viejo TotalEjecución de TiempoSpeedupdesempeño deRelación nuevo
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
1414
SPEEDUPSPEEDUPLuego:Luego:
nuevo
nuevonuevo Speedup
ff
1
1Speedupoverall
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
1515
EJEMPLOEJEMPLOSe considera una mejora que corre 10 Se considera una mejora que corre 10
veces más rápido que la máquina veces más rápido que la máquina original, pero sólo se usa 40% del original, pero sólo se usa 40% del tiempo. Cual es la ganancia cuando se tiempo. Cual es la ganancia cuando se incorpora la mejora?incorpora la mejora?
4.0nuevof
10nuevoSpeedup
56.1
64.0
1
10
4.04.01
1Speedupoverall
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
1616
LEY DE AMDAHL- RESUMENLEY DE AMDAHL- RESUMEN
La ley de Amdahl sirve como guía para La ley de Amdahl sirve como guía para saber que tanto una modificación saber que tanto una modificación mejora el rendimiento y como distribuir mejora el rendimiento y como distribuir recursos para obtener costo/ recursos para obtener costo/ desempeño.desempeño.
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
1717
MEJORANDO RENDIMIENTOMEJORANDO RENDIMIENTO
Tiempo de RespuestaTiempo de Respuesta
Productividad (Número de Tareas en Productividad (Número de Tareas en t seg.)t seg.)
Para aumentar rendimiento hay que Para aumentar rendimiento hay que disminuir el tiempo de respuesta o el disminuir el tiempo de respuesta o el tiempo de ejecucióntiempo de ejecución
Rendimiento X = Tiempo de ejecución X
1
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
1818
Tc
Instrucción
PROGRAMA
CICLOS DE RELOJ – TIEMPO DE CICLOS DE RELOJ – TIEMPO DE PROGRAMAPROGRAMA
CICLOS DE RELOJ
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
1919
TCPU = CPU TIMETCPU = 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 - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
2020
EJEMPLO TCPUEJEMPLO 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 - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
2121
RENDIMIENTORENDIMIENTO
CPI= Número de Ciclos de reloj por CPI= Número de Ciclos de reloj por instruccióninstrucción
Ciclos de reloj = (# instrucciones) x CPI Ciclos de reloj = (# instrucciones) x CPI promediopromedio
TCPU = (# instrucciones) x CPI Promedio TCPU = (# instrucciones) x CPI Promedio
fcfc
fcfc Tecnología Hardware y Diseño Tecnología Hardware y Diseño
CPICPI Diseño Diseño
#Instr.#Instr. Tecnología Tecnología CompiladoresCompiladores
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
2222
Métricas para el RendimientoMétricas para el Rendimiento– MIPS =___MIPS =___NI___NI___ = = _ fc _ fc____
TTCPUCPUx10x1066 CPIx10 CPIx1066
No depende del repertorio de instruccionesNo depende del repertorio de instruccionesVaria entre programas sobre el mismo Varia entre programas sobre el mismo computadorcomputadorPuede variar inversamente con el Puede variar inversamente con el rendimientorendimiento
– MFLOPS = MFLOPS = #oper en punto flotante#oper en punto flotante Tiempo de ejecución x10Tiempo de ejecución x1066
MIPSMIPS
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
2323
EJEMPLO - CPIEJEMPLO - CPISe 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 - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
2424
SOLUCIONSOLUCION
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 relojA
I * 2.0=
Ciclos de relojB
I * 1.2=
AI*2.0*10ns= Tiempo CPU
BI*1.2*20ns=
Computador A es más rápido
Tiempo CPU
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
2525
EJEMPLOEJEMPLO
Usar MIPS para Usar MIPS para determinar que determinar que programa es mejor programa es mejor que otro y calcular el que otro y calcular el TCPUTCPU
Sea un computador Sea un computador de 150Mhz con tres de 150Mhz con tres tipos de instrucciones tipos de instrucciones y medidas de CPI por y medidas de CPI por instrucción como se instrucción como se muestran en la tabla. muestran en la tabla. Se obtuvo la siguiente Se obtuvo la siguiente tabla para dos tabla para dos compiladorescompiladores
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 - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
2626
SOLUCIONSOLUCION
CPU clock cycles = SUMATORIA (CPIi x Ci)
CPU clock cycles (A) = [ (5*1+2*2+1*3) E6 ]=12 E6CPU clock cycles (B) = [ (2*1+3*2+1*3) E6 ]=11 E6EXECUTION TIME CPU CLOCK CYCLES / FRECUENCIA
Execution Time (A) = 12 E6 / 150 E 6 = 0.0800 secsExecution Time (B) = 11 E6 / 150 E 6 = 0.0733 secsMIPS= INTRUCTION COUNT / EXECUTION TIEM X E6MIPS (A) = [ (5*1+2*2+1*3) E6 ] / 0.0800 E6= 150MIPS (B) = [ (2*1+3*2+1*3) E6 ] / 0.0733 E6=150.068
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
2727
SOFTWARE PARA LA EVALUACION SOFTWARE PARA LA EVALUACION DEL DESEMPEÑODEL DESEMPEÑO
Programas / Aplicaciones reales.Programas / Aplicaciones reales.Toys ProgramsToys ProgramsSynthetic benchmarks: programas artificiales que Synthetic benchmarks: programas artificiales que tratan de concordar con un gran conjunto de tratan de concordar con un gran conjunto de programas (Dhrystone y Whetstone )programas (Dhrystone y Whetstone )
Kernel benchmarks: son pequeñps, time-intensive Kernel benchmarks: son pequeñps, time-intensive pieces (Livermore Loops , Linpack )pieces (Livermore Loops , Linpack )Benchmarks are programs chosen to measure the Benchmarks are programs chosen to measure the performance of a computer system performance of a computer system SPEC (System Performance Evaluation SPEC (System Performance Evaluation Cooperative) Benchmarks are more realistic. Cooperative) Benchmarks are more realistic.
ARQUITECTURA DE COMPUTADORES - PERARQUITECTURA DE COMPUTADORES - PERFORMANCEFORMANCE
2828
REVISARREVISAR
Problemas de las diferentes formas Problemas de las diferentes formas de medición del rendimiento.de medición del rendimiento.