rendimiento - unlpelectro.fisica.unlp.edu.ar/arq/transparencias/arqii_01... · 2012. 8. 29. · d a...

25
Rendimiento v.2012 John Hennessy – David Patterson, Arquitectura de Computadores – Un enfoque cuantitativo, 1ª edición, Capítulos 1 y 2 (4ª edición, Capítulo 1)

Upload: others

Post on 01-Apr-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

Rendimientov.2012

John Hennessy – David Patterson, Arquitectura de Computadores – Un enfoque cuantitativo, 1ª edición,

Capítulos 1 y 2 (4ª edición, Capítulo 1)

Page 2: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

2

Rendimiento

Introducción

Cómo comparar la performance de dos computadoras diferentes en su arquitectura (ISA, Organización y Tecnología)? Cómo analizar el impacto de una mejora? Por qué existen tantos tipos de computadoras?

Comparación con la industria automotrizvelocidad máxima (km/h), aceleración (0­100 km/h), derrape (g), consumo (l/100 km)precio ($), costo de mantenimiento ($)

El mercado de computadorasrendimiento, tamaño, potencia?precio, costo de mantenimiento?

Tres grandes categoríasServers (rendimiento)Embedded (costo, potencia, tamaño)Desktop/Worstations (costo/rendimento)

Top500vs.

Green500

Top500vs.

Green500

Page 3: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

3

Rendimiento

Expresiones más utilizadas

Si T es el tiempo de ejecución de un determinado programa y η el rendimiento de la computadora que lo ejecuta, decimos que la computadora A es más rápida que la computadora B si:

TA<TB y ηA>ηB

Por lo tanto el rendimiento es inversamente proporcional al tiempo de ejecución del programa involucrado. Puede decirse que:

Tα1η

⇒T B

T A

=ηA

ηB

RENDIMIENTO == TPSRENDIMIENTO == TPS

Page 4: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

4

Rendimiento

Expresiones más utilizadas (cont)

Entonces, si A es más rápida que B, al utilizarla puedo hablar de una mejora o aceleración (speedup) S tal que:

Igualando las dos expresiones:

n=T B−T A

T A

100S=T B

T A

=1+n100

S=η A

ηB

=T B

T A

S=1+n100

A es un n% más rápida

que B

A es un n% más rápida

que B

n=ηA−ηB

ηB

100

IMPORTANTENo confundir los términos speedup con acceleration

IMPORTANTENo confundir los términos speedup con acceleration

Page 5: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

5

Rendimiento

Expresiones más utilizadas (cont)

Ejemplo: Una computadora ejecuta un cierto programa en 10 segundos. Una segunda computadora tarda 15 segundos en ejecutar el mismo programa. Por lo tanto, la primera es un 50% (no 33%!!) más rápida que la segunda, o sea que si la utilizo obtengo una mejora/aceleración de 1.5 respecto de la segunda.

n=(15−1010 )100=50 S=1510

=1 .5

IMPORTANTENo utilizar “es tanto más lenta...” y tener cuidado con

“incrementar”, “decrementar”, “desmejorar” y otros términos inciertos.

IMPORTANTENo utilizar “es tanto más lenta...” y tener cuidado con

“incrementar”, “decrementar”, “desmejorar” y otros términos inciertos.

Page 6: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

6

Rendimiento

Expresiones más utilizadas (cont)

En bibliografía más reciente se evitan también las expresiones del tipo “tanto % más rápido”. Se intenta utilizar solamente “n veces más rápido”, que coincide con la previa definición de aceleración. La enunciación en veces es menos confusa:

Sin embargo, el término speedup sigue siendo muy utilizado, y la expresión “es n veces más rápido que”... puede confundir.

n =T B

T A

Page 7: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

7

Rendimiento

Aumento del rendimientoLa tecnología de impelmentación tiene sus tiempos (Ley de Moore) lo que representa un límite...

Cómo se logra, desde la arquitectura y la organización, un aumento del rendimiento? (disminución del tiempo de ejecución).

Es importante diferenciar dos formas diferentes de aumentar el rendimiento de una computadora: Menor tiempo de ejecución real (LATENCIA) Mayor productividad (THROUGHPUT)

DISCUSION:Tiempos medios (estadístico, por ejemplo disco rígido) versus RT.

Page 8: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

8

Rendimiento

Aumento del rendimiento (cont)

1. Acelerar el caso más común 1. Acelerar el caso más común

2. Explotar la propiedad de localidad 2. Explotar la propiedad de localidad

3. Explotar el paralelismo de los programas 3. Explotar el paralelismo de los programas

Page 9: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

9

Aumento del rendimiento

1. Acelerar el caso más común

Opciones: CPU – MEM - I/O

Ley de Amdhal:Siendo T el tiempo de ejecución de una tarea, y f la fracción de ese tiempo que puede acelerarse un factor k, la aceleración obtenida será:

Corolario:

S=1

(1− f )+fk

T= (1− f ) T+fT

T MEJORADO=(1− f )T+fk

T

S=T

T MEJORADO

S MAX =1

(1− f )

Page 10: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

10

Aumento del rendimiento – 1. Acelerar el más común

Ejemplo

Considere un determinado caso de aplicación en que la CPU se utiliza el 50% del tiempo (el resto del tiempo se consume en accesos a memoria y al sistema se entrada/salida).Suponga que el costo de la CPU representa 1/3 del costo total de la computadora.

a) ¿Mejora la relación Costo/Rendimiento si reemplazo la CPU por otra 5 veces más rápida que cuesta 5 veces más?

b) ¿Hasta cuánto pagaría por la CPU?

c) Si pudiera comprar una CPU infinitamente rápida, ¿cúanto sería la aceleración?

Page 11: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

11

Aumento del rendimiento – 1. Acelerar el más común

Solución

a) La relación Costo/Rendimiento empeora:

Pero cuidado: puede ser que ahora sea útil y antes no!

S=1

(1−0.5 )+0 .55

=1 .66

CostoNUEVO=( 23×1+13×5)CostoORIGINAL=2 .33CostoORIGINAL

( CostoRendimiento )

NUEVO=2.331 .66

×( CostoRendimiento )

ORIGINAL

66% más rápido

133% más caro

Desmejora

VER: Agregar FP a un procesador hace más lenta la operación en enterosVER: Agregar FP a un procesador hace más lenta la operación en enteros

Page 12: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

12

Aumento del rendimiento

2. Localidad de referencia

INSTRUCCIONES(mediciones)

90% del tiempo ejecutando 10% del código

INSTRUCCIONES(mediciones)

90% del tiempo ejecutando 10% del código

DATOS(no tan tajante)

Localidad TEMPORAL, ESPACIAL y SECUENCIAL

DATOS(no tan tajante)

Localidad TEMPORAL, ESPACIAL y SECUENCIAL

(Principio de Localidad)Comportamiento predecible de los recursos de los sistemas de computadora.

Localidad temporal: un recurso accedido en un instante lo será de nuevo en el futuro inmediato.Localidad espacial: la probabilidad de acceder a un recurso es mayor si otro recurso próximo acaba de ser accedido.Localidad secuencial: caso particular de espacial; la memoria, en particular, suele ser accedida en forma secuencial.

Page 13: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

13

Aumento del rendimiento – 2. Localidad

Ejemplo

Agrego a una computadora memoria cache 5 veces más rápida que la memoria principal, de tamaño tal que pueda alojar el 10% más usado de un programa.

a) Calcular la aceleración obtenida en los accesos a memoria.

b) Calcular la aceleración en la ejecución de los programas si el ciclo de instrucción se divide en tres etapas iguales: FETCH-DECODE-EXEC.

c) Calcular la aceleración obtenida si el ciclo de instrucción tiene las siguientes cinco etapas: FETCH-DECODE-FETCHOP-EXEC-WRITEOP.

Page 14: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

14

Aumento del rendimiento – 2. Localidad

Solución

a) Si entra el 10% del programa, la puedo utilizar en el 90% de los accesos a memoria:

Los accesos son un 260% más rápidos.

b) La captación es 1/3 ciclo de instrucción:

La ejecución con caché es 32% más rápida que sin caché.

c) Los accesos a memoria son 3/5 del ciclo de instrucción: La ejecución con caché es 76% más rápida que sin caché.

S=1

(1−0.9 )+0 .95

=3 .66

S=1

0 .66+0 .333 .6

=1.32

Page 15: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

15

Aumento del rendimiento

3. Explotación del paralelismo

A nivel sistema A nivel procesador

Distintas estrategias:

Puedo acelerar hasta el límite impuesto por la tecnología.Puedo paralelizar secciones.O realizar varias simultáneamente. O utilizar el concepto de linea de montaje (todas las secciones en paralelo).

A B C D E

A

B

C

D

E

A B C D E

A B C D E

A B C D E

A B C D E

A B C D E

Latencia 5Productividad=1/5

Latencia 3Productividad=1/3

Latencia 5Productividad=2/5

Latencia 5Productividad=1/1

Page 16: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

16

El rendimiento es inversamente proporcional al tiempo de ejecución del programa involucrado.Cómo mido ese tiempo?

$ time test8.1u 7.3s 25.2 61%

$ time testreal 0m2.739s <- tiempo transcurrido (wall)user 0m2.304s <- tiempo de ejecuciónsys 0m0.016s <- llamadas al sistema operativo

El tiempo user (+sys?) es mi TCPU. El resto del tiempo esperando I/O

o ejecutando otros programas en el multitarea.

Rendimiento

Medición del tiempo de ejecución

61% = (8.1+7.3)/25.2 x 100

Page 17: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

17

En general, el tiempo de ejecucion de un programa puede expresarse como:

donde CPI es el número de ciclos de clock por instrucción y N el número de instrucciones.CPI es una medida estadística que depende del uso que se le de al repertorio de instrucciones.En general,

i: familia de instruccionesCPIi: ciclos de clock por instrucción de la familiaNi: recuento de instrucciones de la familiaN: recuento total de instrucciones

Medición del rendimiento

Performance del procesador

T CPU=CICLOS DE CLOCK DEL PROGRAMA

f CLOCK

=N .CPIf CLOCK

CPI=∑CPI i

N i

N

Page 18: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

18

Calcular el CPI para el siguiente caso de utilización de los recursos de un procesador:

Medición del rendimiento

Ejemplo

CPI=1 .57

Instrucción Frecuencia CPIiALU 43.00% 1LOAD 21.00% 2STORE 12.00% 2JUMP 24.00% 2

Page 19: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

19

Entonces, el tiempo de ejecucion de un programa puede expresarse como:

Medición del rendimiento

Ecuación de performance

T CPU=1

f CLOCK[ sciclo ] × CPI [ ciclos

instruccion ] × N [ instruccionesprograma ]

TECNOLOGÍA(proceso fab)

ORG(datapath)

ORG(serie-paral)

ISA(inst -complex)

ISA(inst complex)

COMPILADOR(eficiencia)

RISC vs CISCRISC vs CISCN: Brecha semántica

TO

DO

SR

ELA

CIO

NA

DO

S

ARQ

ISA

IMPL

ORG

TEC

Page 20: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

20

Medición del rendimiento

Benchmarks Parámetros (ej. fecuencia de clock) o MIPSPermiten comparar dentro de una familia, no entre diferentes arquitecturas (ej. RISC-CISC).Dependen de ISA y el programa.Pueden resultar inversamente proporc. al rendimiento (FP)

MFLOPSPrecaución con las diferentes ISAs (ej. 68882 de Motorola tiene seno y raíz cuadrada).Precaución con los cálculos parciales (no es lo mismo una suma completa que la normalización de una suma).

Programas reales (ej. Spice, CAD, gráficos)Deben estar disponibles o deben instalarse. Versiones.

MFLOPS=N FP

T CPU 106

MIPS=N

T CPU 106=

f CLOCK

CPI 106

Page 21: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

21

Medición del rendimiento

Benchmarks sintéticos

Programas, generalmente pequeños, escritos originalmente en FORTRAN (traducidos a C) Utilizados para comprobar el comportamiento ante un tipo determinado de carga.Por ejemplo:

Whetstone (1972) FP [MWIPS] Linpack (1984) FP álgebra lineal [FLOPS] Dhrystone (1984) ENTEROS [veces/seg]

Debe observarse el efecto del cache. Al ser programas pequeños no miden performance de memoria.

Benchmarketing.

Page 22: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

22

Medición del rendimiento

Benchmarks sintéticos

Consorcio de fabricantes de hw y sw

SPEC (1988) “Standard Performance Evaluation Corporation” (www.spec.org) Orientado a la CPU, tiempo, latencia.

TPC (1990) “Transaction Processing Performance Council” (www.tpc.org) Orientado a transacciones, throughput.

Compañías...

INFOSIZING (www.sizing.com)

Page 23: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

23

Medición del rendimiento

Medias pitagóricas

A: Media aritmética - PromedioNo utilizar cuando hay variaciones grandes, pues son enmascaradas.

G: Media geométrica - AreasEs mejor para performance relativa

H: Media armónica - TasasMuy sensible a valores pequeños, no se puede calcular si uno vale cero. Insensible a valores grandes. Es la media correcta para tasas.

Cómo promediar medidas si estamos buscando una única

figura de mérito.

Page 24: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

24

Medición del rendimiento

Medias pitagóricasEjemplos:

1. Un vehiculo viaja una cierta distancia d a velocidad x = 60 km/h y luego la misma distancia d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica de x e y (48 km/h). El tiempo total es como si hubiera viajado la distancia completa a la velocidad promedio.

2. Un vehiculo viaja un cierto tiempo t a velocidad x = 60 km/h y luego el mismo tiempo t a velocidad y = 40 km/h. La velocidad promedio se calcula como la media aritmética de x e y (50 km/h).

Propiedades:

Page 25: Rendimiento - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_01... · 2012. 8. 29. · d a velocidad y = 40 km/h. La velocidad promedio se calcula como la media armónica

25

Medición del rendimiento

Media cuadrática (RMS)

O valor cuadrático medio o RMS (del inglés root mean square): raíz cuadrada de la media aritmética de los cuadrados de los valores.

Útil cuando la variable toma valores positivos y negativos, como ocurre, por ejemplo, en los errores de medida. En tal caso se puede estar interesado en obtener un promedio que no recoja los efectos del signo.