tutorías con grupos reducidos (tgr) 1cm parte 1...
TRANSCRIPT
Tutorías con Grupos Reducidos (TGR)
Parte 1: Evaluación de prestaciones
ESTRUCTURA DE COMPUTADORES
Grupo de Arquitectura de Computadores (GAC)
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 1 / 42
Índice
1 Definición de métricas de rendimiento
2 Evaluación y comparación de rendimiento
3 Ejercicios
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 2 / 42
Índice
1 Definición de métricas de rendimiento
2 Evaluación y comparación de rendimiento
3 Ejercicios
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 3 / 42
Métricas de rendimiento
Tiempo de respuesta (latencia o tiempo de ejecución)Tiempo entre el inicio y el final de una tarea. Para maximizar elrendimiento se minimiza el tiempo de ejecución de una tarea:
Rx =1
tiempo de ejecucionx
ProductividadCantidad de trabajo hecho en un cierto tiempo
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 4 / 42
Ciclo de relojLos procesadores tienen un reloj que funciona a una frecuencia concreta ydetermina el momento en que tienen lugar los eventos
EjemploIntel© CoreTM i7-990X processor Extreme Edition: 3.46 GHz corespeed
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 5 / 42
Métricas de rendimiento
Tiempo de ejecución de CPU
Tiempo de CPU = ciclos de CPU × tiempo de ciclo
Tiempo de CPU =ciclos de CPU
frecuencia de reloj
El compilador genera las instrucciones para ejecutar y el procesador lasejecuta. El número de ciclos de reloj requerido por un programa es:
ciclos de CPU = instrucciones × media de ciclos por instruccion
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 6 / 42
Métricas de rendimiento
Ciclo de reloj por instrucción (CPI)Es el número medio de ciclos de reloj que una instrucción necesita paraejecutarse
Instrucciones diferentes pueden necesitar diferente cantidad de ciclos dereloj. El CPI proporciona una media:
CPI =
m∑i=i
CPIiNIi
Ndonde NIi es el número total de instrucciones tipo i , CPIi es el número deciclos de reloj para esa clase de instrucciones, N es el número total deinstrucciones, y m es el número total de tipos de instrucciones existentes.
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 7 / 42
Métricas de rendimiento
Ecuación básica del rendimiento
Tcpu = N × CPI × T =N × CPI
F
donde T es el tiempo de ciclo y F la frecuencia de reloj.
Esta fórmula se puede utilizar para comparar dos realizaciones diferentes opara evaluar un diseño alternativo si se conoce el impacto de los tresparámetros
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 8 / 42
Métricas de rendimiento
MIPS: millones de instrucciones por segundo
MIPS =N
Tcpu × 106
MFLOPS: millones de instrucciones en punto flotante por segundo
MFLOPS =NFP
Tcpu × 106
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 9 / 42
Índice
1 Definición de métricas de rendimiento
2 Evaluación y comparación de rendimiento
3 Ejercicios
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 10 / 42
Comparación de rendimiento
Comparación de una máquina X con una máquina Y
Rx > Ry
1Texecx
>1
Texecy
Texecx < Texecy
Relación cuantitativa entre dos máquinas diferentes
n =RxRy
la máquina X es n veces más rápida que la máquina Y
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 11 / 42
Índice
1 Definición de métricas de rendimiento
2 Evaluación y comparación de rendimiento
3 Ejercicios
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 12 / 42
Ejercicio 1
Enunciado:Un programa tarda 10 segundos en un ordenador A, el cual tieneun reloj de 100 MHz. Queremos construir una máquina B, conel mismo repertorio de instrucciones, que ejecuta el programa en6 segundos. Si sabemos que la máquina B requiere 1,2 veces losciclos de reloj que la máquina A necesitaba para ejecutar el pro-grama, qué frecuencia de reloj debería tener la máquina B?.
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 13 / 42
Ejercicio 1
Solución:
Tiempo de CPUA = ciclos CPUA × tiempo de ciclo
Ciclos CPUA = 10 × 100 × 106 = 109ciclos
Tiempo CPUB =1, 2 × ciclos CPUA
Frecuencia de reloj CPUB
Frecuencia de reloj CPUB =1, 2 × 109
6 = 200 MHz
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 14 / 42
Ejercicio 2
Enunciado:Supongamos que se tienen dos implementaciones de la misma ar-quitectura del repertorio de instrucciones. La máquina A tiene unciclo de reloj de 1ns y un CPI de 2,0 para un programa concreto,mientras que la máquina B tiene un tiempo de ciclo de 2ns y unCPI de 1,2 para el mismo programa ¿Qué máquina es más rápidapara este programa? ¿Cuánto más rápida?.
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 15 / 42
Ejercicio 2
Solución:NI = Número de instrucciones.
Tiempo de CPUA = ciclos CPUA × tiempo de ciclo = NI × 2, 0 × 1ns
Tiempo de CPUB = ciclos CPUA × tiempo de ciclo = NI × 1, 2 × 2ns
RendimientoARendimientoB
=Tiempo de CPUBTiempo de CPUA
=2, 4 × NI2 × NI = 1,2
La máquina A es 1,2 veces más rápida que la máquina B.
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 16 / 42
Ejercicio 3
Enunciado:Un diseñador de compiladores está intentando decidir entre dossecuencias de código para una máquina en particular. Para unadeclaración particular de un lenguaje de alto nivel, el diseñadordel compilador está considerando dos secuencias de código querequieren el siguiente número total de instrucciones:
Número de instruccionesSecuencia A (CPI=1) B (CPI=2) C (CPI=3)
1 2 1 22 4 1 1
¿Cuál es el CPI (medio) para cada secuencia?
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 17 / 42
Ejercicio 3
Solución:
CPImedio =
m∑i=i
CPIiNIi
N
CPIsec1 =(2 × 1) + (1 × 2) + (2 × 3)
2 + 1 + 2 = 2
CPIsec2 =(4 × 1) + (1 × 2) + (1 × 3)
4 + 1 + 1 = 1,5
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 18 / 42
Ejercicio 4Enunciado:
Considérese una máquina con tres tipos de instrucciones. Supon-gamos que medimos el código de un mismo programa para doscompiladores diferentes y obtenemos los siguientes valores:
Número de instrucciones (millones)Compilador A (CPI=1) B (CPI=2) C (CPI=3)
1 5 1 12 10 1 1
Asumiendo que la frecuencia de reloj de la máquina es de 500MHz,
a) ¿Qué secuencia es más rápida de acuerdo con la métricaMIPS?b) ¿Y con respecto al tiempo de ejecución?
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 19 / 42
Ejercicio 4
Solución (a):
CPIsec1 =(5 × 1 + 1 × 2 + 1 × 3) × 103
(5 + 1 + 1) × 103 = 1,43
MIPSsec1 =500 × 106
1, 43 × 106 = 349
CPIsec2 =(10 × 1 + 1 × 2 + 1 × 3) × 103
(10 + 1 + 1) × 103 = 1,25
MIPSsec2 =500 × 106
1, 25 × 106 = 400
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 20 / 42
Ejercicio 4
Solución (b):
Tiempo CPUsec1 =(5 × 1 + 1 × 2 + 1 × 3) × 103
500 × 106 = 0,00002s
Tiempo CPUsec2 =(10 × 1 + 1 × 2 + 1 × 3) × 103
500 × 106 = 0,00003s
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 21 / 42
Ejercicio 5Enunciado:
M1 y M2 son dos máquinas con el mismo compilador y repertoriode instrucciones (4 tipos: A, B, C y D). M1 tiene una frecuenciade reloj de 500 MHz y M2 de 750 MHz. El CPI medio para cadatipo de instrucción es:
Tipo CPI M1 CPI M2A 1 2B 2 2C 3 4D 4 4
a) Si las instrucciones ejecutadas en un programa se dividen equitati-vamente entre los 4 tipos, ¿cuánto más rápida es M2 respecto a M1?b) ¿A qué frecuencia de reloj tendría M1 el mismo rendimiento queM2?
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 22 / 42
Ejercicio 5
Solución (a):
Tiempo CPU1 = NI × (1 + 2 + 3 + 4)
4 × 1500 × 106 = 5 × NI ns
Tiempo CPU2 = NI × (2 + 2 + 4 + 4)
4 × 1750 × 106 = 4 × NI ns
La máquina 2 es 1,25 veces más rápida que la máquina 1.
Solución (b):2, 5F1
=3
750 × 106 => F1 =2, 53 × 750 × 106 = 625MHz
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 23 / 42
Ejercicio 6
Enunciado:Considera 2 implementaciones diferentes, M1 y M2, del mismorepertorio de instrucciones. M1 es una implementación uniciclo conuna frecuencia de reloj de 400 MHz y M2 una versión multicicloa 1,2 GHZ. Calcula que máquina es más rápida al ejecutar unprograma de 1 millón de instrucciones con la siguiente información:
Instrucción % ciclos M2Cargas 20 % 5
Almacenamientos 10 % 4Operaciones ALU 50 % 4
Saltos condicionales 15 % 3Saltos incondicionales 5 % 3
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 24 / 42
Ejercicio 6
Solución:
Tiempo CPU1 =106 × 1
400 × 106 = 0,0025s
Tiempo CPU2 =106 × (0, 2 × 5 + 0, 1 × 4 + 0, 5 × 4 + 0, 15 × 3 + 0, 05 × 3)
1, 2 × 109 = 0,003s
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 25 / 42
Ejercicio 7Enunciado:
Un diseñador de compiladores está intentando decidir entre dos se-cuencias de código para una máquina en particular. La frecuenciade reloj de la máquina es de 1,0 GHz. Para una declaración partic-ular de un lenguaje de alto nivel, el diseñador del compilador estáconsiderando dos secuencias de código que requieren el siguientenúmero de instrucciones:
Secuencia Número de instrucciones (miles de millones)A (CPI=1) B (CPI=2) C (CPI=3) D (CPI=1)
secuencia 1 2 1 2 1secuencia 2 1 1 4 2
a) ¿Cuál de las 2 secuencias es más rápida y por qué?b) Calcula los MFLOPS para ambas secuencias suponiendo que lasinstrucciones A y C son de punto flotante.
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 26 / 42
Ejercicio 7
Solución (a):
Tiempo CPU1 = 109 × (2 × 1 + 1 × 2 + 2 × 3 + 1 × 1) ×1
109 = 11s
Tiempo CPU2 = 109 × (1 × 1 + 1 × 2 + 4 × 3 + 2 × 1) ×1
109 = 17s
Solución (b):
MFLOPS1 =109 × (2 + 6)
11 × 106 = 727,2
MFLOPS2 =109 × (1 + 12)
17 × 106 = 764,7
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 27 / 42
Aceleración
Aceleración (Speedup)Medida del tiempo logrado tras incorporar una mejora al sistema
A =RdespuesRantes
=TantesTdespues
Es fundamental acotar la aceleración potencial a obtener con una posiblemejora (que puede ser muy costosa).
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 28 / 42
Ley de Amdahl
Ley de AmdahlLa mejora obtenida en el rendimiento al utilizar una parte optimizada estálimitada por la fracción de tiempo que se puede utilizar esa parte:
Tdespues =Tafectado
Am+ Tno_afectado
A =TantesTdespues
=1
(1 − Fm) + FmAm
donde Fm es la fracción de tiempo afectada por la mejora y Am es el factorde mejora.
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 29 / 42
Ejercicio 8
Enunciado:Queremos mejorar el rendimiento de un computador introduciendoun coprocesador matemático que realice las operaciones aritméti-cas en la mitad de tiempo. Calcular la ganancia en velocidad delsistema para la ejecución de un programa sabiendo que el 60%de dicha ejecución se dedica al cálculo de operaciones aritméticas.Si el programa tardaba 12 segundos en ejecutarse sin la mejora,¿cuánto tardará en ejecutarse sobre el sistema mejorado?
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 30 / 42
Ejercicio 8
Solución:TantesTdespues
=12s
Tdespues=
1(1 − 0, 6) + 0,6
2
Tdespues = 12 × (0, 4 +0, 62 ) = 8,4s
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 31 / 42
Ejercicio 9
Enunciado:Se mejora el diseño de un microprocesador para realizar todas lasinstrucciones de punto flotante 3 veces más rápido. Contesta a lassiguientes cuestiones:
a) ¿Cuál será la aceleración obtenida si la mitad del tiempo de eje-cución de un programa se emplea en la ejecución de instrucciones depunto flotante?b) Se busca un programa de prueba que destaque la nueva unidadde punto flotante descrita en el apartado anterior, y se quiere quemuestre un incremento de velocidad en su totalidad de 2. ¿Qué partedel tiempo de ejecución inicial deberían representar las instruccionesde punto flotante para conseguir este incremento de velocidad?
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 32 / 42
Ejercicio 9
Solución (a):
A =1
(1 − Fm) + FmAm
=1
(1 − 0, 5) + 0,53
= 1,5
Solución (b):
2 =1
(1 − Fm) + Fm3
=> 2 =3
3 − 2 × Fm=> Fm = 0,75
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 33 / 42
Ejercicio 10Enunciado:
Una arquitectura dada tiene dos clases de instrucciones, tipo A ytipo B. Existen dos procesadores que implementan esta arquitec-tura, M1 y M2. El número de ciclos de reloj para cada una de lasinstrucciones en cada procesador es el siguiente:
M1 M2A 1 3B 2 1
reloj 300MHz 400MHz
El fabricante de M2 dice que su procesador es 4/3 más rápido queM1 basándose en los resultados de tiempo obtenidos en un pro-grama benchmark dado. Determinar la fracción (tanto por cien)de instrucciones de tipo A que usa dicho programa benchmark.
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 34 / 42
Ejercicio 10
Solución:43 =
(1x + 2(1 − x))/300 × 106
(3x + (1 − x))/400 × 106 => 2x + 1 = 2 − x => x =13
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 35 / 42
Ejercicio 11Enunciado:
Usando la información de la tabla para 2 posible realizaciones, M1y M2, del mismo repertorio de instrucciones con una frecuencia dereloj de 1000MHz y 800MHz, respectivamente, y 2 compiladores,C1 y C2, conteste a las preguntas.
Tipo CPI M1 CPI M2 Uso C1 Uso C2A 4 1 30 % 40 %B 6 2 60 % 10 %C 8 3 10 % 50 %
a) ¿Cuál es la máquina más rápida y cuánto?b) Si queremos mejorar el rendimiento de M1 y M2 un 20%, quéinstrucción harías más rápida en cada caso y cuánto. Razona la res-puesta.
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 36 / 42
Ejercicio 11
Solución (a):
Tiempo M1 =4x0, 3 + 6x0, 6 + 8x0, 1
1000x106 = 5,6 ns/inst
Tiempo M2 =1x0, 4 + 2x0, 1 + 3x0, 5
800x106 = 2,6 ns/inst
RM2RM1
=Tiempo M1Tiempo M2 =
5, 62, 6 = 2,15
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 37 / 42
Ejercicio 11
Solución (b):
1, 25 =1
(1 − 0, 6) + 0,6x
=> 0, 5 +0, 75x = 1 => x = 1,5
CPIB = 61,5 = 4
1, 25 =1
(0, 5) + 0,5x
=> 0, 625 +0, 625x = 1 => x = 1,67
CPIC = 31,67 = 1.79
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 38 / 42
Ejercicio 12
Enunciado:Se está planteando realizar dos modificaciones en el diseño de unprocesador:
Mejorar la ALU de enteros de manera que el CPI de las ins-trucciones aritmético-lógicas con enteros pase de 1 a 0.8.Mejorar el coprocesador en punto flotante para que las ins-trucciones en punto flotante se ejecuten al doble de velocidad.
En este procesador se suele ejecutar un 45% del tiempo instruc-ciones aritmético-lógica con enteros y el 10% del tiempo de ins-trucciones en punto flotante.
a) Calcula la aceleración que se puede obtener con cada unade estas mejoras.
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 39 / 42
Ejercicio 12
Solución (a):
AALU =1
0, 55 + 0,451,25
= 1,099
Acopfp =1
0, 9 + 0,12
= 1,052
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 40 / 42
Ejercicio 12Apartado b
Ninguna de las dos mejoras sale demasiado costosa así que seplantea incorporar ambas al diseño. La utilización de las dosmejoras no se solapa, o se utiliza una o se utiliza la otra (lasinstrucciones de enteros no utilizan el hardware para puntoflotante y las de punto flotante no utilizan la ALU de en-teros). ¿Cómo sería la ley de Amdahl que considera variasmejoras que no se solapan?
Solución (b):
tdespues = (1 − ΣF )tantes + ΣFG tantes
A =tantestdespues
=1
(1 − ΣF ) + Σ FG
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 41 / 42
Ejercicio 12Apartado b
Ninguna de las dos mejoras sale demasiado costosa así que seplantea incorporar ambas al diseño. La utilización de las dosmejoras no se solapa, o se utiliza una o se utiliza la otra (lasinstrucciones de enteros no utilizan el hardware para puntoflotante y las de punto flotante no utilizan la ALU de en-teros). ¿Cómo sería la ley de Amdahl que considera variasmejoras que no se solapan?
Solución (b):
tdespues = (1 − ΣF )tantes + ΣFG tantes
A =tantestdespues
=1
(1 − ΣF ) + Σ FG
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 41 / 42
Ejercicio 12
Apartado c¿Cuál sería la aceleración para nuestro caso considerando lasdos mejoras en el diseño del procesador?
Solución (c):
A =1
(1 − 0, 45 − 0, 1) + 0,451,25 + 0,1
2= 1,16
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 42 / 42
Ejercicio 12
Apartado c¿Cuál sería la aceleración para nuestro caso considerando lasdos mejoras en el diseño del procesador?
Solución (c):
A =1
(1 − 0, 45 − 0, 1) + 0,451,25 + 0,1
2= 1,16
Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012 42 / 42