Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

53
Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas

Transcript of Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

Page 1: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

Abril 2008

Procesadores para cómputo de altas prestaciones

Introducción: Tendencias Tecnológicas

Page 2: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

2 Programa

1. Introducción: Tendencias tecnológicas, costo/ rendimiento/consumo

2. Aspectos básicos de la segmentación. Diseño de un procesador segmentado, tipos de riesgos, segmentación con operaciones multiciclo.

3. Paralelismo a nivel de instrucción: planificación dinámica. Tratamiento de dependencias de control: Predicción de saltos. Especulación.

4. Ejecución de múltiples instrucciones por ciclo. Límites del paralelismo a nivel de instrucción. Procesadores multithreading, Multiprocesadores en un chip ( Multi /Many cores ).

5. Jerarquía de memoria: Cache, reducción de fallos, ocultación de latencia, memoria principal

Page 3: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

3 Contenidos

El entorno tecnológico

Rendimiento

Costo

Lecturas recomendadas G. E. Moore " Cramming More Components onto IC", Electronic, april 1965 J. L. Henning. " SPEC CPU2000: Measuring CPU performance in the new millennium." 

IEEE Computer, July 2000. 28-35 M Flynn, P Hung, "Microprocessor Design Issues: Thoughts on the Road Ahead", IEEE

Micro, May-June 2005, pp16-31, 2005 T. Agerwala, S Chatterjee "Computer Architecture Challenges and Apportunities for the

Next Decade" IEEE Micro, May-June 2005, pp58-69, 2005 H McGhan " SPEC 2006 Benchmark Suite", Microprocessor Report , October 10, 2006, V Agerwala, et all “ Clock Rate versus IPC: The End of the Road for Convencional

Microarchitectures” ISCA27, pp248-259, 2000

Page 4: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

4 El entorno

La Ley de Moore

Electronic- Abril1965

Page 5: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

5 El entorno

La Ley de Moore se ha cumplido

Tra

nsit

ors

Fuente: Intel Corporation

Page 6: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

6 El entorno

La Ley de Moore se ha cumplido

Fuente: Intel Corporation

Page 7: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

7 El entorno

Fuente: Intel Corporation

La Ley de Moore se ha cumplido

Page 8: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

8 El entorno

Fuente: Intel Corporation

La Ley de Moore continua

Page 9: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

9 La Ley de Moore

La Ley de Moore continua

HoyPenryn

Fuente: Intel Corporation

Page 10: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

10 La Ley de Moore

Fuente: Intel Corporation

Page 11: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

11 La Ley de Moore

Fuente: Intel Corporation

Manufacturing process details from 1997 to 2011

9

Page 12: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

12 El entorno

Microelectrónica + Microarquitectura

Una industria con un progreso que no tiene equivalente

Doblado cada 18 meses (1982-2000):- total de incremento 3,200X- Los coches viajarían a 176,000 MPH; y recorrerían 64,000

miles/gal.- El viaje: L.A. a N.Y. en 5.5 seg (MACH 3200)

Doblado cada 24 meses (1971-2001):- total de incremento 36,000X- Los coches viajarían a 2,400,000 MPH; y recorrerían 600,000

miles/gal.- El viaje: L.A. a N.Y. en 0.5 seg (MACH 36,000)

[John Crawford, Intel, 1993]

Page 13: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

13 La Ley de Moore

La Ley de Moore continua

Fuente: Intel Corporation

Page 14: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

14 1º problema consumo

Energía y potencia ( energía por unidad de tiempo) La energía consumida depende del tiempo

y de la potencia. En la gráfica la altura representa la potencia y el área tramada en oscuro es la energía.

Page 15: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

15

Energía y potencia ( energía por unidad de tiempo)

Fuente: Intel Corporation

1º problema consumo

Page 16: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

16

Energía y potencia ( energía por unidad de tiempo)

Fuente: Intel Corporation

1º problema consumo

Page 17: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

17

Energía y potencia ( energía por unidad de tiempo)

Tres componentesConmutación P= Cx V2x f ↑↑↑Fugas ( gate leakage )Cortocircuito ( subtreshold leakage)

1º problema consumo

Page 18: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

18

Energía y potencia

o ¿ Que hacer para seguir mejorado el rendimiento de los sistemas?

Mejora a nivel de un core. Balance power-performance

Integrar múltiples cores en un chip. Balance complejidad del core-numero de cores

Chip heterogeneos y aceleradores on chip

1º problema consumo

Page 19: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

19

Espacio de diseño

FO4 Fan-out of four ( retado de un inversor con 4 cargas ), medida del retardo de una etapade un pipelineNew methodology for early-stage, microarchitecture-level power-performance analysis of microprocessorshttp://portal.acm.org/citation.cfm?id=1014606

Mejor IPCMejor rendimiento por watio 18FO4

1º problema consumo

Mas etapasMenos etapas

Page 20: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

20

Espacio de diseño

Técnicas Power-aware

o Clock gating,

o Diferentes dominios de reloj,

o Cores simples,

o Voltage gating( UF, bloques de cache),

o Resizing adaptivo,

o Voltaje dinámico y escalado de frecuencia

1º problema consumo

Page 21: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

21

Espacio de diseño- cores-o Numero versus complejidad

1º problema consumo

o Cores simples mejor

o Tipo de paralelismo que explotan

Page 22: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

22

Retardo de la interconexiones

2º problema retardo interconexiones

Page 23: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

23

Retardo de la interconexiones

2º problema retardo interconexiones

Multi - Many cores

Ciclo

Page 24: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

24 La Ley de Moore

Retos de futuro 2015

Page 25: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

25 El entorno: tendencias

Resumen de evolución en tecnología de implementación

Uso de los computadores La cantidad de memoria necesaria crece entre 1.5 y 2 por año.

Más bits para direccionamiento. Programación en LAN. Los compiladores son fundamentales, son el

interfase entre las aplicaciones y el computador.

Capacidad VelocidadLatencia

Logica X2 en 3 años X2 en 3 años

DRAM X4 en 3 años X2 en 10 añosDisco X2 en 3 años X2 en 10 años

¿ Una arquitectura debe ser diseñada para soportar el paso del tiempo ?

Cambios en tecnología, Sw y aplicaciones.Arquitectura IBM360-390 (1964) ,X86 (1978), Sparc(1992)

Page 26: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

26 El entorno: tendencias

Procesador: ‘286, ‘386, ‘486, Pentium, Pentium Pro, Pentium 4 (21x,2250x)

Ethernet: 10Mb, 100Mb, 1000Mb, 10000 Mb/s (16x,1000x)

Modulo de Memoria: 16bit plain DRAM, Page Mode DRAM, 32b, 64b, SDRAM, DDR SDRAM (4x,120x)

Disco : 3600, 5400, 7200, 10000, 15000 RPM (8x, 143x)

Latencia y ancho de banda en los últimos 20 años

1

10

100

1000

10000

1 10 100

Mejora relativa de latencia

Mejora

en AB

relativa

Procesador

Memoria

Red

Disco

Mejora de latencia=

Mejora de AB

CPU alta, Memoria Baja(“Memory Wall”)

Page 27: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

27 Rendimiento

Dos conceptos clave

Avión

Boeing 747

Concorde

Velocidad

970 kph

2160 kph

Wa a París

6.5 hours

3 hours

Pasajeros

470

132

Throughput (pkph)

455900

285120

oTiempo de Ejecución (TEj) : Tiempo que tarda en completarse una tarea ( Tiempo de respuesta, latencia )

o Rendimiento ( Performance, Throughput) : tareas por hora, día ,…o "X es n veces más rápido que Y" significa

TEj(Y) Performance(X) --------- = ---------------------= nTEj (X) Performance(Y)

o Reducir el TEj incrementa el rendimiento

Page 28: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

28 Rendimiento

Medidas del rendimiento

Compilador

Lenguajesde

Programación

Aplicación

DatapathControl

Transistores cables

ARI (ISA)

Unidades Funcionales

(millones) de Instrucciones por segundo: MIPS(millones) de (FP) operaciones por segundo: MFLOP/s

Ciclos por segundo (frecuencia de reloj)

Megabytes por segundo

Respuestas por mes, hora, segundoOperaciones por segundo TPC

La única medida fiable es el tiempo de ejecución programas realesDos aspectos: Rendimiento del computador, Rendimiento del procesador

Page 29: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

29 Rendimiento

Rendimiento del procesadorT CPU= N * CPI * t

N Compiladores y LM CPI LM, implementación, paralelismo t implementación, tecnología

Ciclos medios por instrucción CPI

CPI = (TCPU * Clock Rate) / Numero de Instrucciones = Ciclos / Numero de Instrucciones

TCPU = Tiempo de ciclo * CPI i * I i

pCPI = CPI i * F i donde Fj es la frecuencia de aparición de la instrucción J

i = 1

n

i = 1

Invertir recursos donde se gasta el tiempo

Ejemplo : ALU 1 ciclo( 50%), Ld 2c(20%), St 2c(10%), saltos 2c(20%)CPI ALU 0.5, Ld 0.4, St 0.2, salto 0.4 TOTAL CPI = 1.5

Page 30: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

30 Rendimiento

Page 31: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

31 Rendimiento

Rendimiento global del computador :

Benchmarks La única forma fiable es ejecutando distintos programas reales.

Programas “de juguete”: 10~100 líneas de código con resultado conocido. Ej:: Criba de Erastótenes, Puzzle, Quicksort

Programas de prueba (benchmarks) sintéticos: simulan la frecuencia de operaciones y operandos de un abanico de programas reales. Ej:: Whetstone, Dhrystone

Programas reales típicos con cargas de trabajo fijas (actualmente la medida más aceptada)

SPEC89: 10 programas proporcionando un único valor. SPEC92: 6 programas enteros (SPECint92) y 14 en punto flotante

(SPECfp92).Sin limites en opciones de compilación SPEC95: 8 programas enteros (SPECint95) y 10 en punto flotante

(SPECfp95). Dos opciones en compilación: la mejor para cada programa y la misma en todos (base)

SPEC2000 12 programas enteros y 14 en punto flotante. Dos opciones de compilación ( la mejor: spec--, la misma spec--_base

Otros HPC:LINPACK, SPEChpc96, Nas Parallel Benchmark Servidores: SPECweb, SPECSFS( File servers), TPC-C Graficos: SPECviewperf(OpenGL), SPECapc( aplicaciones 3D) Winbench, EEMBC

SPEC2006

Page 32: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

32 Rendimiento

Un Ejemplo: Intel Xeon 5160 (Core2, 3.0Ghz, 1333Mhz)

Page 33: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

33 Rendimiento

SPEC de los últimos procesadores ( SPEC2000)o Retirados febrero 2007

0

500

1000

1500

2000

2500

3000

3500

4000

Specint2000 Specfp2000

AMD Opteron 3.0 Ghz

P Xeon5080 3.8 Ghz

P Xeon5160 3Ghz

I tanium 2 1.6 Ghz 9MB

Power 5+ 2.2Ghz

21364 1.3Ghz

UltraI I I 1.05Ghz

Sparc64 V 2.1Ghz

Pemtium4NetBurst

Core

Page 34: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

34 Rendimiento

SPEC2006 vesus SPEC2000Evolución de la jerarquía de memoria (256KB, 256MB a 4MB, 1GB) Más programas más complejos

Page 35: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

35 Rendimiento

SPEC2006 vesus SPEC2000

Page 36: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

36 Rendimiento

Evolución de los SPEC

Page 37: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

37 Rendimiento

Un Ejemplo: Intel Xeon 5160 (Core2, 3.0Ghz, 1333Mhz)

Page 38: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

38 Rendimiento

SPEC de los últimos procesadores ( SPEC2006)

0

5

10

15

20

25

Specint2006 Specfp2006

AMD Opteron 3,2 Ghz

P Xeon5080 3.8 Ghz

Core 2 Quad 45nm3 Ghz

Power6 4,7 Ghz

Sparc64 VI 2,4Ghz

I tanium 2 1.67 Ghz 12MB

Pemtium4NetBurst

Core

Page 39: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

39 Rendimiento

SPECint95

Page 40: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

40 Rendimiento

SPECint2000

Page 41: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

41 Rendimiento

Page 42: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

42 Ejemplos

Page 43: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

43 Fabricación de un CI

Page 44: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

44 Coste

Coste : El fundamental, el coste del CI

coste de CI = Die coste + Testing coste + Packaging coste Final test yield

Die coste = coste del Wafer Dies por Wafer * Die yield

Complejidad y RAM on chip Numero de pines y material (<10 a >40 )

>90%

Material, Proceso, Diámetro

Wafer yield (100%), Defectos 0.6 a 1.2 cm2

El costo de CI (Die) f(área del die)2Die

Wafer

Page 45: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

45 Coste

Algunos ejemplos reales

Page 46: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

46 Coste

Evolución en la vida comercial

Page 47: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

47 Tendencias

Page 48: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

48 Tendencias

Page 49: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

49 Tendencias

Page 50: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

50 Tendencias

Page 51: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

51 Tendencias

Page 52: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

52

Sony/IBM/Toshiba Cell (9 cores)

IBM Cyclops64 (80 cores, in development)Sun Niagara (8

cores)

Microsoft/IBM Xbox360 (3 cores)

Ejemplos de multicores. Many cores

Intel Larrabee en desarrollo, subset x86, heterogéneo

Page 53: Abril 2008 Procesadores para cómputo de altas prestaciones Introducción: Tendencias Tecnológicas.

53