microarquitectura y paralelismo en este mil...

52
Microarquitectura y Paralelismo en este Mil ni Milenio Francisco Tirado Universidad Complutense de Madrid Universidad Complutense de Madrid

Upload: others

Post on 21-Jul-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

Microarquitectura y q yParalelismo en este

Mil niMilenio

Francisco TiradoUniversidad Complutense de MadridUniversidad Complutense de Madrid

Page 2: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

ÍndiceÍndiceEl motor: La Ley de Moore

Límites, problemas tecnológicos

P l l l d Th dParalelismo nivel de Thread

MultithreadingMu g

Multicores

2F. Tirado julio 2008

Page 3: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

El motor

Eniac 1946

LLNL 1978LLNL 1978150 Mflops7600 & Cray1

IBM Roadrunner122400 cores

Itaniun Quad Tukvila+2000 Mtrans122400 cores

Opteron+Cell1,38Tflops

+2000 Mtrans8M 65nm,170w,2GHz30MB cache, 24MB L3 4 cores 2 thread/coreQuickPath ( 96GB/s)

3

QuickPath ( 96GB/s)

F. Tirado julio 2008

Page 4: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

El motor

Top 500 Junio 2008

4F. Tirado julio 2008

Page 5: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

La ley de Moorey

Electronic- Abril1965

5F. Tirado julio 2008

Page 6: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

La Ley de MooreLa Ley de MooreLa Ley de Moore se ha cumplido

Tran

sist

ors

6F. Tirado julio 2008

Page 7: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

La Ley de Moore se ha cumplido

7

Fuente: Intel CorporationF. Tirado julio 2008

Page 8: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

La Ley de Moorey

HOYHOY

8

Fuente: Intel CorporationF. Tirado julio 2008

Page 9: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

La Ley de Moorey

9F. Tirado julio 2008

Page 10: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

La Ley de Moore

9

Manufacturing process details from 1997 to 2011Manufacturing process details from 1997 to 2011

10

Fuente: Intel Corporation

F. Tirado julio 2008

Page 11: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

1º problema consumo

11

Fuente: Intel CorporationF. Tirado julio 2008

Page 12: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

1º problema consumo

12

Fuente: Intel CorporationF. Tirado julio 2008

Page 13: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

1º problema consumo

Té i P

1 problema consumo

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 j y

13F. Tirado julio 2008

Page 14: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

1º problema consumo

¿ Q h i j d l di i t d l

p

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 Integrar múltiples cores en un chip. Balance complejidad del core-numero de cores

Chip heterogéneos y aceleradores “on chip”

14F. Tirado julio 2008

Page 15: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

2º problema retardo interconexiones

15F. Tirado julio 2008

Page 16: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

2º problema retardo interconexiones

Ciclo

16

Multi - Many coresF. Tirado julio 2008

Page 17: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

Retos de futuro 2015

17F. Tirado julio 2008

Page 18: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

El punto de inflexiónE p f

M 17 2004 Int l th ld's l st chip m k publicl ckn l d d th t itMay 17, 2004 … Intel, the world s largest chip maker, publicly acknowledged that ithad hit a ''thermal wall'' on its microprocessor line. As a result, the company ischanging its product strategy and disbandingone of its most dvanced design groups.Intel also said that it would abandon two advanced chip development projects …p p p jNow, Intel is embarked on a course already adopted by some of its majorrivals: obtaining more computing power by stamping multiple processors on asingle chip rather than straining to increase the speed of a single processor …Intel's decision to change course and embrace a ''dual core'‘ processorIntel s decision to change course and embrace a ''dual core' processorstructure shows the challenge of overcoming the effects of heat generated by theconstant on-off movement of tiny switches in modern computers … some analystsand former Intel designers said that Intel was coming to terms with escalatingg g gheat problems so severe they threatened to cause its chips to fracture atextreme temperatures…

New York Times, May 17, 2004

18F. Tirado julio 2008

Page 19: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

Microarquitectura en los 90sq

F d di iFuentes de rendimientoSegmentación. Ciclo de relojEjecución superescalar “out of order”

Especulación de datos y controlC h bl kiCaches non-blockingDesambiguación de memoriaMas ancho superescalarMas ancho superescalar……..

19F. Tirado julio 2008

Page 20: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

Microarquitectura en los 90sq

Li iLimitesTecnológicos; consumo, ciclo-retardoILP limitadoCrecimiento muy rápido de la latencia de memoria

20F. Tirado julio 2008

Page 21: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

Microarquitectura en los 90s

¿ Cuanto ILP existe en las aplicaciones ?

q

21F. Tirado julio 2008

Page 22: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

Microarquitectura en los 90s

Acceso a Memoria

Microarquitectura en los 90s

100,000µProc

10,000

ce

µProc60%/año

100

1,000

erfo

rman Procesador Processor-Memory

Performance Gap:(crece 50% / año)

10

Pe

Memoria

(crece 50% / año)

DRAM7%/año.

11980 1985 1990 1995 2000 2005 2010

Año

7 /año.

22

Año

F. Tirado julio 2008

Page 23: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

Microarquitectura en los 90sq

S l ió l li i l d Th dSolución; paralelismo a nivel de Thread

Estrategias

Múltiples threads por core; – “Simultaneous multithreading: maximizing on-chip parallelism”, Dean Tullsen, Susan Eggers, and Henry Levy, ISCA22, 1995.and Henry Levy, S , 995.

Múltiples cores ; – “The case for a single-chip l i ” K l Ol k B N f h L multiprocessor”, Kunle Olukotun, Basem Nayfeh, Lance

Hammond, Ken Wilson, and Kunyung Chang, ASPLOS-VII, 1996.

23F. Tirado julio 2008

Page 24: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

Usar mejor los recursosPara la mayoría de las aplicaciones, la mayoría de las unidades de ejecución

desocupadas

j

8-way superscalar.

From: Tullsen, Eggers, and Levy,“Simultaneous Multithreading: Maximizing On-chip Parallelism, ISCA 1995.

24F. Tirado julio 2008

Page 25: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

Usar mejor los transistoresj

The case for a single-chip multiprocessor, Kunle Olukotun, BasemKunle Olukotun, BasemNayfeh, Lance Hammond, Ken Wilson, and KunyungChang, ASPLOS-VII, 1996.

Retardo interconexiones ciclo consumo

25

Retardo, interconexiones, ciclo, consumoEj; Piranha (Isca2000), Hydra(Micro2000),..

F. Tirado julio 2008

Page 26: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

Buscar paralelismo de mas de un threadp

o Hay mucho paralelismo en algunas aplicaciones (e.g., Database ori ifi d )Scientific codes)

o Thread Level Parallelism o Data Level Parallelismo Thread: proceso con sus propias instrucciones y datos

thread puede ser parte de un programa paralelo de múltiples i d di procesos, o un programa independiente.

Cada thread tiene todo el estado (instrucciones, datos, PC, i t t t ) i iti j ió register state, …) necesario para permitir su ejecución

MultiThreading y multi/many coresD t L l P ll li O i idé ti b d o Data Level Parallelism: Operaciones idénticas sobre grandes volúmenes de datos ( extensiones multimedia y arquitecturas vectoriales

26

vectoriales

F. Tirado julio 2008

Page 27: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

MultithreadingEjecución Mulithreaded Multithreading: múltiples threads comparten los recursos del

g

o Multithreading: múltiples threads comparten los recursos del procesador

El procesados debe mantener el estado de cada thread e.g., una copia de bloque de registros, un Pc separado, tablas de paginas separadas. La memoria compartida ya soporta múltiples procesos La memoria compartida ya soporta múltiples procesos. HW para conmutación de thread muy rápido. Mucho mas rápido que entre procesos.

o ¿Cuando conmutar? Cada ciclo conmutar de thread (grano fino)Cuando un thread debe parar ( por ejemplo fallo de cache ) Cuando un thread debe parar ( por ejemplo fallo de cache )

o HEP ( 1978 ), Alewife , M-Machine , Tera-Computer

27

( ), , , p

F. Tirado julio 2008

Page 28: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

Multithreading

Multithreading de Grano Fino

g

o Conmuta entre threads en cada instrucción, entrelazando la ejecución de los diferentes thread.

o Generalmente en modo “round-robin” los threads o Generalmente en modo round robin , los threads bloqueados se saltan

o La CPU debe ser capaz de conmutar de thread cada ciclo ciclo.

o Ventaja; puede ocultar stalls de alta y baja latencia, cuando un thread esta bloqueado los otros usan los recursos recursos.

o Desventaja; retarda la ejecución de cada thread individual, ya que un thread sin stall es retrasado por reparto de recursos (ciclos) entre threadsreparto de recursos (ciclos) entre threads

o Ejemplo Niagara de SUN (Niagara 2 )

28F. Tirado julio 2008

Page 29: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

MultithreadingMultithreading Grano GruesoConmuta entre threads solo en caso de largos stalls como o Conmuta entre threads solo en caso de largos stalls, como fallos de cache L2

o Ventajas o Ventajas No necesita conmutación entre thread muy rápida. No retarda cada thread, la conmutación solo se produce cuando un thread no puede avanzar.

o Desventajas; no elimina perdidas por stalls cortos. La conmutación es costosa en ciclos.

Como CPU lanza instrucciones de un nuevo thread el Como CPU lanza instrucciones de un nuevo thread, el pipeline debe ser vaciado. El nuevo thread debe llenar el pipe antes las las instrucciones empiecen a completarse. p p

o Ejemplos IBM AS/400, Montecio/Monvale ( Itanium 9000), 64 V

29

Spacr64 VI

F. Tirado julio 2008

Page 30: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

MultithreadingSimultaneous Multi-threadingUn thread, 8 unidades Dos threads, 8 unidades

g

1

M M FX FX FP FP BR CCCiclo

1

M M FX FX FP FP BR CCCiclo,

2

3

2

3

4

5

4

5

6

7

6

7

8

9

7

8

9

30

M = Load/Store, FX = Fixed Point, FP = Floating Point, BR = Branch, CC = Condition Codes

9

F. Tirado julio 2008

Page 31: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

MultithreadingSimultaneous Multithreading (SMT)

o Simultaneous multithreading (SMT): dentro de un procesador psuperescalar fuera de orden ya hay mecanismo Hw para soportar la ejecución de mas de un thread

Gran numero de registros físicos donde poder mapear los ist s it tó i s d l s dif t s th dsregistros arquitectónicos de los diferentes threads

El renombrado de registros proporciona un identificador único para los operandos de una instrucción, por tanto instrucciones de diferentes thread se pueden mezclar sin confundir sus de diferentes thread se pueden mezclar sin confundir sus operados La ejecución fuera de orden permite una utilización eficaz de los recursos. los recursos.

Solo necesitamos sumar una tabla de renombrado por thread y PC separados

Commit independiente se soporta con un ROB por thread ( mm p p u p (Lógico o físico)

Ojo conflictos en la jerarquía de memoriaEjemplos Pentium4, Power5, Power6, Nehalem,..

31

j p , , , ,

F. Tirado julio 2008

Page 32: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

MultithreadingSimultaneous multithreading

g

32F. Tirado julio 2008

Page 33: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

MultithreadingComparación

Superescalar Grano fino Grano Grueso MultiprocesamientoSimultaneousMultithreading

g

Grano f no p g

mpo

Tiem

Thread 1 Thread 3 Thread 5

33

Thread 1Thread 2

Thread 3Thread 4

Thread 5Idle slot

F. Tirado julio 2008

Page 34: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

CMPCMP

[Amarasinghe06]

256

512

CiscoCSR-1

PicochipPC102

AmbricAM2045

[Amarasinghe06]

res 64

128 IntelTflops

CSR-1

# o

f co

8

16

32Raw

C ll

CaviumOcteon

RazaXLR

#

2

4

8

P 4 Opteron

Niagara

Tanglewood

Cell

Xbox360PA-8800

Boardcom 1480 Opteron 4PXeon MP

4004

8008

80868080 286 386 486 Pentium P2 P3P4Itanium

Itanium 21

2

Athlon

Power4 Opt ron

Power6Yonah

PExtreme

g

34

1985 199019801970 1975 1995 2000 2005 20??

F. Tirado julio 2008

Page 35: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

CMPCMP

35F. Tirado julio 2008

Page 36: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

CMPCMP

36F. Tirado julio 2008

Page 37: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

Espacio de diseño CMPpDado un par área ( Mtrans) / consumo como se debe asignar a cores / thread / cachesasignar a cores / thread / caches

¿Cuantos thread por core?¿Como de complejo cada p j

core?Organización L1,L2,

tamaño, unificada o no,política de escritura, inclusiva o noinclusiva o no

Gestión de consumo/potenciaInterconexión

“BUENOS VECINOS”

37F. Tirado julio 2008

Page 38: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

Espacio de diseño CMPpEscalar en orden NpMtN nº de I pipesM º d th d M nº de thread por core

Superescalar NsMtN ancho superescalarN ancho superescalar

38F. Tirado julio 2008

CMP: Techniques to improve throughput and latency K. Olukotum Morgan&Claypoll 2007

Page 39: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

Paralelismo y aplicacionesy p

39F. Tirado julio 2008

Page 40: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

CMP+ Multithreading grano fino

Niagara (UltraSparc T1)Tolerar (soportar) la latencia de memoria mediante hilos concurrentesTolerar (soportar) la latencia de memoria mediante hilos concurrentes

Incrementa la utilización del procesadorIncrementa la utilización del procesadorEs necesario un gran ancho de banda

4 accesos concurrentes a memoria

40

K Olukotun HydraChip (Stanford), Sun MAJC(2000)Afara (2000), Sun (2003)

F. Tirado julio 2008

Page 41: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

CMP+ Multithreading grano fino

Niagara: Múltiples cores-múltiples thread

41F. Tirado julio 2008

Page 42: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

CMP+ Multithreading grano fino

Niagara UltraSparc T1

1Ghz, 1 instrucción por ciclo, 4 thread por core, 60WI L1 16Kb(4W) D L1 8Kb (4W) it di t L2 3Mb(12W)

42

I-L1 16Kb(4W), D-L1 8Kb (4W), escritura directa, L2, 3Mb(12W)Crossbar no bloqueante, No predictor de saltos, no FP ( 1 por chip)

F. Tirado julio 2008

Page 43: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

CMP+ Multithreading grano fino

Niagara UltraSparcT1

6 etapas4 thread independientesalgunos recursos x4: Banco de registros contador de programa store algunos recursos x4: Banco de registros, contador de programa, store

buffer, buffer de instruccionesel control de selección de hilo determina el hilo en cada ciclo de reloj

cada ciclo elige un hilo

43

cada c clo el ge un h loUna FPU por chip

F. Tirado julio 2008

Page 44: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

CMP+ Multithreading grano finoNiagara 2 Throughput oriented

CMP Multithreading grano fino

8 Sparc cores, L2 tid 4MB 8 bL2 compartida 4MB, 8 bancos,

16WaysDos pipes de ejecución enteraDos pipes de ejecución entera

8 thread por core

Una FGU LSU SPU por coreUna FGU , LSU, SPU por core

Más AB con memoria 42,7GBs

65 11M 500Mt s 342 265nm, 11M, 500Mtrans, 342nm2

1 PCI-Ex8, 2 10/1 GB Enet port

44F. Tirado julio 2008

Page 45: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

CMP+ Multithreading grano finoNiagara 2

CMP Multithreading grano fino

Busca 4 instrucciones por ciclopUn buffer de instrucciones por threadPredicción estatica, no tomado,

5 ciclos de penalizaciónPrefeching de instrucciones sobre missDos grupo de 4 Thread, una instrucción

por grupo y cicloC fli b L U d difi ió

45F. Tirado julio 2008

Conflictos sobre LSU,.. en decodificación8 etapas enteros, 12 etapas FP

Page 46: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

CMP+ Multithreading grano fino3 Generación Rock

High Throughput y high single thread performance

CMP Multithreading grano fino

H gh hroughput y h gh s ngle thread performance65 nm, 16 cores, 2.3 GHz, 396mn2, 249w32 threads + 32 Scout-thread

I L1, 32KB, 4ways, compartida por 4 cores( elimina duplicación de código en aplicaciones)

F h 16 lFetch 16 instrucciones por ciclo2 predicciones de saltos por ciclo

( disagree gshare)

D L1, 32KB, 4ways, compartida 2 coresun load+ un store por core por ciclo.

L2, 4 bancos, 2MB, Operaciones de memoriaatómicas

46F. Tirado julio 2008

Dos full crossbar 5x5 a 2.3 GHz

Page 47: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

CMP+ Multithreading grano fino3 Generación Rock

Core Cluster

CMP Multithreading grano fino

Core Cluster

Compartido

47F. Tirado julio 2008

Page 48: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

CMP+ Multithreading grano fino3 Generación Rock

CMP Multithreading grano fino

Operaciones de alta latencia lanzan un Operaciones de alta latencia lanzan un Scout thread ( L1 miss, Div/sqt,..

El Scout threadEl Scout threadSe ejecuta antes de thread principalPredice y resuelve saltosPrebúsqueda instrucciones y datosrebúsqueda nstrucc ones y datosRegistros sombra para estado especulativoCheckpointing

Durante el scoutSe ejecutan y retiran instrucciones no

dependientesSe retrasan( defer) instrucciones no listas“Replay” solo instrucciones dependientes

48F. Tirado julio 2008

S Chaudhry et all “ High-performance throughput computing”, IEEE Micro, junio 05

Page 49: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

CMP+ Multithreading grano fino3 Generación Rock

CMP Multithreading grano fino

49F. Tirado julio 2008

Page 50: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

Intel Dual Core, Core2, Quad,…, , Q ,Tick-Tock “Donnington” Final 2008

6 Cores Penryn6 Cores PenrynFSB 1066MHz3MB L2 cada dos cores16MB L3 compartida

“Nahalen” Final 2008

16MB L3 compartida

FNuevo core 2 Threads SMT2 a 8 coresL2 256KB propietariap pL3 8MB compartida todos los cores(inclusiva)( 4 )128 Mi “on fly” (96 Penryn)

á 2 Level TLB y 2 level BTBMejores en prefech y Load/storesQuickPath 25GB/s“ hi ” l d d i

MásAtom x86, 24mn2,160mw, 2threadsLarrabee 2010, 16 a 24 cores

F. Tirado julio 2008 50

“on chip” controlador de memoria

Page 51: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

AMD,…,

Susuka45nm 6MB L3

Istambul 6 cores ,…Fusion 2009

F. Tirado julio 2008 51

Page 52: Microarquitectura y Paralelismo en este Mil niMileniocenditel.gob.ve/files/pagina/jornadas/Tirado_Microarquitectura... · Buscar paralelismo de mas de un thread o Hay mucho paralelismo

¿Preguntas?¿Preguntas?Muchas graciasMuchas gracias

52F. Tirado julio 2008