Tutorías con Grupos Reducidos (TGR) 1cm Parte 1...

Post on 17-Apr-2020

5 views 0 download

Transcript of Tutorías con Grupos Reducidos (TGR) 1cm Parte 1...

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