Arquitecturas ParalelasCurso 14/15 1INTRODUCCIÓN 2CONECTIVIDAD 3MÁQUINAS MIMD 4MÁQUINAS SIMD y...
-
Upload
maria-rosa-maria-del-pilar-flores-plaza -
Category
Documents
-
view
215 -
download
0
Transcript of Arquitecturas ParalelasCurso 14/15 1INTRODUCCIÓN 2CONECTIVIDAD 3MÁQUINAS MIMD 4MÁQUINAS SIMD y...
Arquitecturas Paralelas Curso 14/15
1 INTRODUCCIÓN
2 CONECTIVIDAD
3 MÁQUINAS MIMD
4 MÁQUINAS SIMD y SIMT
5 SUPERESCALARES
Horas
7
6
7
6
5
arqPar Clasificación de Flynn Ampliada MIMD-2
Arquitecturas Paralelas
SISD SIMD MISD MIMD
Multi-procesadores
Multi-computadores
MPP COW
Von Neumann
ProcesadoresVectoriales
Array de Procesadores
Sistólicos
UMA NUMACOMA
Distintas formas de organizar la memoria común
??
Beowulf
Symetric
Multi
Processor
Distributed Shared Memory
arqPar Temario MIMD-3
3 MÁQUINAS MIMD
1 Multiprocesadores• Modelos UMA, NUMA y COMA• Coherencia de cachés
• Husmeo (snoopy)• Directorios
2 Multicomputadores• Modelos MPP, COW, Beowulf
3 Procesadores multinúcleo
Bibliografía:“Advanded Computer Architecture...” Kai Hwang-1993 [19..23, 348..363]“Structured Computer Organization” A.S. Tanenbaum-1999 [564..586]“Parallel Computer Architecture …” Culler y Singh-1999 [269..301, 553..571]
arqPar Multiprocesadores MIMD-4
Un único espacio de direcciones de memoria visible a todos los µPs
50move #50,$20
P1
P2
Pn
Memoria$0000000
$FFFFFFF
100
move #100,$1000000
move $1000000,R5
25
move #25,$4000000
Pi
move
Existen distintas formas de implementar este espacio de memoria
arqPar Multiprocesadores (UMA) MIMD-5
Acceso Uniforme a Memoria: Cada Pi mismo tiempo de acceso a todas y cada una de las posiciones de memoria
Puede complicarse algo para aumentar las prestaciones
P1 P2 Pn
C1 C2 Cn
M1 M2 Mk
Bus Común
¿Coherencia?
A
A’ A
Symetric Multi Processor
• ¿Límites?• ¿Ventajas?
arqPar Multiprocesadores (UMA) MIMD-6
Ejemplo: Sun Enterprise 10000 (1998)
Crossbar de 16x16 (Gigaplane-XB) => 19,87GB*seg
0 1 15
UltraSPARC 333MHz
1 GB de memoria
coherencia cachés
Mantiene modelo UMA ¿Al límite (64µP)?
Tarjetas de40x50 cm.
¿ 2014 ?
arqPar Multiprocesadores (UMA?) MIMD-7
32 38,4 ?
arqPar Multiprocesadores (UMA?) MIMD-8
3,2 GHz32 bits
51,2GB/s Bidireccional
arqPar Multiprocesadores (UMA?) MIMD-9
Servidores gama alta de SUN con UltraSPARC
..12 ..24
..52
..106
..36x2 ..72x2† Hasta
8/01/2009
arqPar Multiprocesadores (UMA?) MIMD-10
Servidores gama alta de SUN con SPARC64 VI [2n] y VII -VII+ [4n]
M4000 ..16 M5000 ..32 M8000 ..64 M9000 ..256
2007 .. 2010 ..
arqPar Multiprocesadores (UMA?) MIMD-11
Ejemplo: SPARC Enterprise M9000 => 64 SPARC64 VII
¿Coste?
368,5GB/s 368,5GB/s
8 Placas4 CPU’s4 núcleos2 Threads
Hasta 2TB
2,52GHz64KB L1 I64KB L1 D
6MB L2
737 GB/s
4TB
12MB L2
arqPar Multiprocesadores (UMA?) MIMD-12
Ejemplo: SPARC Enterprise M9000 => 64 SPARC64 VII
IBM POWER
arqPar Multiprocesadores (UMA?) MIMD-13
Ejemplo: SPARC M9000 Con descuentos => 3.298.483$www.tpc.org/tpch Oct/2010 #2 3.000GB Results
Latencias (Sun Fire E25K)Misma placa => 180..207 nsegOtra Placa => 333 , 440 nseg
¿UMA?
2009..2010 Compra SUN
2.841.219$
32 SPARC64 VII
512GB memoria
963.234$
78TB
1.416.010$
Mantenimiento 1.376.503$
arqPar Multiprocesadores (UMA?) MIMD-14
Servidores gama alta de SUN con SPARC64 X (16 núcleos [2t])
M10-1 16..512GB
M10-4 64..2TB
M10-4S ..1024..32TB
2013 ..
232GB/s * 4
arqPar Multiprocesadores (UMA?) MIMD-15
Servidores gama alta de SUN con SPARC64 X (16 núcleos [2t])
arqPar Multiprocesadores (UMA?) MIMD-16
Servidores gama alta de SUN con SPARC M6-32 (12 núcleos [8t])
2013 ..
3.072GB/s
arqPar Multiprocesadores (UMA) MIMD-17
4x16x8 = 512 Threads
54.981$ 98.141$ 117.881$128GB 256GB 512GB
2012
† Hasta ¿2012?
arqPar Multiprocesadores (UMA) MIMD-18
4x8x8 = 256Threads
42.966$ 76.300$ 234.964$ 128GB 512GB 2TB
2013
arqPar Multiprocesadores (UMA) MIMD-19
8x16x8 = 1.024Threads
211.829$ 494.205$ 2TB 4TB
2013
¿Coste real?
35cm
44,5cm
80cm
120Kg
arqPar Multiprocesadores (UMA) MIMD-20
Ejemplo: SPARC T5-8 Con descuentos => 4.663.073$www.tpc.org/tpcc Mar/2013 #3 Results
1.888.000$
Mantenimiento 1.597.398$
651.458$
8 SPARC T5
4TB memoria
1.741.042$
258TB
86TB
219.920$
2013
arqPar Multiprocesadores (UMA?) MIMD-21
Servidores gama alta de SUN vs IBM
arqPar Multiprocesadores (NUMA) MIMD-22
Acceso No Uniforme a Memoria: El acceso a memoria remota es más lento que el acceso a memoria local
1. Tlocal (P1,M1)
M1 P1
Mn Pn
M2 P2
R
e
d
2. Tremoto (Pn,M2)
Red Global
M1
M2
Mn
Red
P1
P2
Pn
M1
M2
Mn
Red
P1
P2
Pn
MG1 MG2 MGk
1. Tlocal 2. Tglobal 3. TremotoMás procesadoresDistributed Shared Memory
arqPar Multiprocesadores (NUMA) MIMD-23
Todavía dentro de NUMA, se contemplan dos modelos
M1 P1
Mn Pn
M2 P2
R
e
d
NC-NUMA
Sistemas sin cachés
CC-NUMA
P1
C1 M1
Pn
Cn Mn
P2
C2 M2
Red de interconexión
Sistemas con Cachés Coherentes
A AA’
IBM Power E880
arqPar Multiprocesadores (CC-NUMA) MIMD-24
Ejemplo: Sequent NUMA-Q 2000
Tarjetas con4 Pentium Pros
y hasta 4GB
Anillo SCIHasta 64K nodos
El más grande (199?):
63 nodos (252µP)
238Bytes (256GB)
CoherenciaCachés
arqPar Multiprocesadores (COMA) MIMD-25
Acceso sOlo a Memoria Caché: Es un submodelo de NUMA, donde la memoria principal de cada procesador, se trata como una caché.
NUMA => Un dato está asignado de forma estática a una memoria local determinada => Muchos accesos remotos (lentos)
A
Memoria Virtual
Una solución: Los datos se ubican dinámicamente en las memorias de los procesadores que los demandan
A A
¿Dónde está A?
¿Expulsar A? ACnC1 C2
RED
P1 P2 Pn
arqPar Multiprocesadores (COMA) MIMD-26
Problemática NUMA:
1. Desbordamiento caches (pequeñas) => + Accesos remotos
2. Con MV difícil ubicar en marco adecuado [P1 y luego P3*]
3. Falsa compartición
P1 Pi Pj Pn
1 load.A FP
int A[512], B[512]A, B
A B
Local*
2 load.B
Remoto*
Páginas 4KBLíneas de 64B¡32 accesos remotos!
arqPar Coherencia de CachésMIMD-27
Conceptos que se presupone conocidos:
•Concepto de caché y su ubicación en la jerarquía de memoria
•Distintos modelos:AsociativaCorrespondencia directaAsociativa por conjuntos
•Políticas de reemplazo (Azar, LRU, ...)
•Políticas de escritura:
Acierto: Escritura Inmediata “Write Through”Escritura Diferida “Write Back”
Fallo: No ubicar al escribirUbicar al escribir
MP 4GBL2 2*4MBLínea 64 Bytes
arqPar Coherencia de CachésMIMD-28
XX ------------------------ XXXX ------------------------ XXXX ------------------------ XXXX ------------------------ XX
YY --------- D3BC ------- YY
XX ------------------------ XXXX ------------------------ XXXX ------------------------ XXXX ------------------------ XX
012 --------- 4567 ------------ F 2222 3
00000000
00000040
00000080
000000C0
00400800
FFFFFFC0
FFFFFF80
FFFFFF40
FFFFFF00
ld $00400824, R5
Bloque Desp
26 6 2222 3012 --------- 4567 ------------ F
YY --------- D3BC ------- YY00400800
Etiqueta Desp 26 6
• Asociativa 004008 00 10 4
26
0000
0001
0020
2222 3012 --------- 4567 ------------ F
0001
• Correspondencia directa
YY --------- D3BC ------- YY
Eti Desp 10 16 6
Líneald $00400824, R5
FFFF
00 008 00 10 400 01
10
arqPar Coherencia de CachésMIMD-29
Problemática con: Datos compartidos
Problemática con: Migración de procesos
P1
X’
P2
X
cachés
MP
P1
X’
P2
X
P1
X’
P2
X
X
WriteBack
P1
X
P2
X
X
cachés
MP
P1
X’
P2
X
X
Write Back
Write Through
P1
X’
P2
X
X’
P1.W
¡P2.R!¡P3.R!
¡P2.W!
¿Write Through?
arqPar Coherencia de CachésMIMD-30
Problemática con: Entrada / Salida
P1
X
P2
X
X
cachés
MP E/S
P1
X
P2
XWrite
Through
XX’
P1
X’
P2
X
X
Write Back
X’ input X output
¿Solución?:
Snoopy: Para sistemas basados en busCotillear, espiar la actividad del bus
Directorios: Para redes estáticas, multietapa, etc.Directorios cachés que indican en
qué cachés hay copias de los datos
BUS
arqPar Coherencia de Cachés (Snoopy) MIMD-31
El espionaje no debe retardar el ciclo de bus (Hw adicional)
P1
C1
VTD
BUS
P2
C2
VTD
Pn
Cn
VTD
M.P. E/S
3FA4548ABC3FA45
100
Válida Tag Línea de Datos
$3FA456
VTEspía
VTEspía
VTEspía
¿Overhead?
Actualización
P1 P2 Pi Pn
X’ XX Y
X Y
P1 P2 Pi Pn
X’ XX Y
X Y
Invalidaci
ón
arqPar Coherencia de Cachés (Snoopy) MIMD-32
Para conseguir coherencia, básicamente hay dos políticas:
P1 P2 Pi Pn
X XX Y
X Y
X’ Y
CachésWriteThrough
X’ Y
X’X’
¿Mejor?
W* => 1 Inv.
Inv. Línea 64BAct. Dato (1..8)B
WriteBack
arqPar Coherencia de Cachés (Snoopy) MIMD-33
Protocolo 1: Caché de escritura inmediata e invalidación
•Cada bloque en uno de dos estados (Inválido, Válido)
•Cuando Pi va a escribir, se adueña del bus y:•Manda señal de invalidar•Escribe en M.P.
Diagrama de Estados
Ri/j => Pi/j lee bloqueWi/j => Pi/j escribe bloqueZi/j => Pi/j reemplaza bloque
INV VALRj,ZiWj,Zj
Zi,Wj
Ri,Wi
Ri,WiRj,Zj
Idea => La M.P. siempre coherente con las copias válidas en caché
Pega => Mucho tráfico en el bus (Cada W en caché => W en M.P.)
Ubicar en escritura
arqPar Coherencia de Cachés (Snoopy) MIMD-34
Protocolo 1: Comportamiento ante (Read/Write)+(Hit/Miss)
C1 C2 C3
MPA
RM: La MP suministra el bloque
C1
AC3
A
RH: La caché suministra el dato
C1
A’C2 C3
A
MPA
WH: W en MP e Invalidar
MPA’
WM: Como WH o puede que:RM + WH (ubicar en W)
C2
A’C2
A’’
MPA’’
P1RP3R
(P1R | P3R)*
P1W
P2W
arqPar Coherencia de Cachés (Snoopy) MIMD-35
Protocolo 2: Caché de escritura diferida e invalidación (propietaria)
A
A
Pi
A
Pj
Pi.w BusINV
A
A’
Pi
A
Pj
Pi.w BusINV
VAL
RO RW
arqPar Coherencia de Cachés (Snoopy) MIMD-36
Protocolo 2: Caché de escritura diferida e invalidación (propietaria)
•Conseguir que W* => Una única Invalidación•El estado VAL se desdobla en dos:
ReadOnly (Shared) ReadWrite (Modified)
C1
A
MPA
C2 C3
•Escritura => Invalidar y pasar a RW
•¿Read/Write miss?
P2W
¿Señales Bus?
A A
•Copia/s en cachés y MP coherentes•Lecturas locales sin tráfico de bus
MP propie-taria de A
Read H
it
C1
A
MPA
C2
A’C3
A
Write
Hit
•Copia única en la caché
MC propie-taria de A’
•R/W locales sin tráfico bus
arqPar Coherencia de Cachés (Snoopy) MIMD-37
Protocolo 2: Comportamiento ante fallo de lectura o escritura
C1
AC2 C3
MPA
RO: La MP suministra el bloque
ReadMiss
C2
A
: La C2 suministra el bloque RW
C2
A’
Se regresa a RO (W en MP)
C3
A’
MPA’
WriteMiss
C2
A’C3
A’
MPA’
C1
RO: La MP suministra el bloque
C1
A’
RW
C1
A’’
: La C1 escribe en MP La C3 toma la propiedad
C3
A’’’
MPA’’
P2RP2WP3R
P1WP3W
arqPar Coherencia de Cachés (Snoopy) MIMD-38
Protocolo 2: Diagrama de transición de estados
INV
RW RORi,Wi
Zj
Wi
Rj
Rj,WjZi,Zj
Wi
Ri,RjZj
Ri
Wj,ZiWj,Zi
Idea => Consistencia con el modelo de caché de escritura diferida
Pega => Tráfico innecesario en el busPrimer W en caché => INV siempre (¿No hay copias?)
arqPar Coherencia de Cachés (Snoopy) MIMD-39
Protocolo 3: MESI (Pentium, PowerPC, ...) ¿Goodman 1983?
•Como Protocolo 2, pero sin invalidar si no hay más copias
•El estado RO se desdobla en dos: “E” sólo una copia o “S” varias
Modificado:Bloque en caché modificado y única copia
Exclusivo: La única copia en caché, consistente con MP
Shared: Hay una o más copias en otras cachés y en MP
Inválido: El bloque no tiene datos válidos en la caché•El comportamiento es el siguiente:
C1
AC2 MP
AC3
P1 lee bloque A (P1R)
E
P2R C1
AC2
AMPA
C3
S SRM
arqPar Coherencia de Cachés (Snoopy) MIMD-40
Protocolo 3: MESI (Seguimiento de su comportamiento)
P2WC1
AC2
AMPA
C3
S S
C1
AC2
A1
MPA
C3
MI
P3R
C1
AC2
A1
MPA1
C3
A1
SI S
C1
AC2
A2
MPA1
C3
A1
MI I
P2W
P1W
C1
A3
C2
A2
MPA2
C3
A1
IM I
WH
RM
WH
WM
arqPar Coherencia de Cachés (Snoopy) MIMD-41
Protocolo 3: Diagrama de transición de estados MESI
M
S
I
E
Rj,Wj
WjRj
Wi
Wi
Ri,Wi
Ri
Ri,Rj
Wj
WiRi
WjRi Rj
¿ Mereció la pena ?
Intel QuickPath Interconnect
Source Snoop MESIFF: Cache to Cache
arqPar Coherencia de Cachés (Snoopy) MIMD-42
Protocolo 3: Diagrama de transición de estados MESI
¿ Mereció la pena ?
RO RW
INV
W.Inv*
E
S
M
Wb.Inv
Rj
¿ a >> b ?
¿ a + b ?
Wa
arqPar Coherencia de Cachés (Snoopy) MIMD-43
¿Cuántos accesos al bus?
6,6%
2,8%
1,2%
1,3%
1,5%
0,2%
1MB
arqPar Coherencia de Cachés (Directorios) MIMD-44
Con decenas/cientos de procesadores, no hay bus común
•¿Aplicable coherencia por husmeo?
•Si N = 36, lo normal es que nohaya 35 copias en 35 cachés (2..5)
Solución => Informar (comando/mensaje) sólo a los nodos cuyascachés contengan una copia del dato accedido (R/W)
CM
=> Difusión (inviable con N grande)
centralizado
1976 Tang
distribuido
1978 Censier ...
limitados encadenadoscompletos1990 Chaiken ...
Directorio
arqPar Coherencia de Cachés (Directorios limitados) MIMD-45
Mtotal = 232 => 4GB Mlocal = 224 => 16MBMcache = 220 => 1MB con líneas de 64B Nodo Bloque Offdr =>
8 18 6
Limitación => Sólo una copia (bien en ML o bien en una caché)
Red de interconexión
P0 M0
Nodo 0
P1 M1
Nodo 1
P255 M255
Nodo 255
Nodo 1 desea leer dato A en $FF000504 => Nodo 255, bloque 20, off 4
En caché 1 En Nodo 255 (C | M) En Nodo i (C)
Nodo 1 le pide el dato al Nodo 255
arqPar Coherencia de Cachés (Directorios limitados) MIMD-46
Red de interconexión
P0 M0
Nodo 0
P1 M1
Nodo 1
P255 M255
Nodo 255
Nodo 1 Nodo 255A(255:20:4) A
M255
C255
Ci
directorio
1 255 1 0
A AA
Tamaño directorio:
218 * 9 = 288KB
1,76% de 16MB
Anfitrión
0
0
218-1
C Nodo
20
1 8
P0 M0
Nodo 0
P1 M1
Nodo 1
P255 M255
Nodo 255
arqPar Coherencia de Cachés (Directorios limitados) MIMD-47
N1 lee A(255:20:4):
•N1 no la ve en su caché
AA
•N1 pide A a N255
•N255 consulta directorio
0
•N255 actualiza directorioy suministra A desde M255
N1 escribe A’(255:20:8)
A’
N0 lee A’(255:20:4):
•N0 no la ve en su caché•N0 pide A’ a N255
•N255 consulta directorio
1 1
•N255 actualiza directorioy redirige petición a N1
1 0
•N1 suministra A’ desde C1
A’
1 11 0
Coherencia trivial (Sólo una copia en el sistema)
Atómico
arqPar Coherencia de Cachés (Directorios completos) MIMD-48
Para permitir más de una copia en caché (sean 3), ¿Directorio?:
Tamaño directorio (supuestos 255 nodos):
218 * (2+3*8) = 832KB
5,08% de 16MB
Para permitir copia en cualquier número de cachés, ¿Directorio?:
E 1 2 3 4 5 255
S 0 1 0 1 0 1------------ => 8MB 50%
Se complica el mantenimiento de la coherencia
USMS
20352
3
255 4
E Nodos Estado => Necesario para coherencia:
Uncached, Shared y Modified
2 8 8 8
0
218-1
No es escalable en cuanto a ocupación adicional de memoria
arqPar Coherencia de Cachés (Directorios completos) MIMD-49
C1
A
C2
A
C3
AM255P255
Nodo 255
S 1 1 1 0 0 ------- 0 A
N3 desea escribir A’:
S SS
•N3 ve que no tiene la propiedad•N3 pide exclusividad a N255
•N255 enviará mensajes parainvalidar copias en N1 y N2
U U
•N1 y N2 responderán a N255que invalidaron sus copias
•N255 envía permiso W a N3
y actualiza directorio
M 0 0 1 0 0 ------- 0
•N3 recibe permiso, escribe y
envía confirmación a N255
A
•N255 da por finalizada latransacción
M 0 0 1 0 0 ------ 0
M
A’
¿ N1.R => A’ ?
arqPar Coherencia de Cachés (Directorios completos) MIMD-50
Ejemplo: DASH Univ. Standford, 1992 => SGI Origin 2000 $$$$
0 1 32
7654
111098
12 13 14 15
MemCPUcaché
Cluster
Snooping
directorio E: U,S,M
S0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1
0 1 2 15 Interclusterinterface
¿ Escalable ?
arqPar Coherencia de Cachés (Directorios completos) MIMD-51• Los directorios completos no son escalables:
E 1 2 3 4 5 255
S 0 1 0 1 0 1------------ 8MB 50%
N1
P1 M1
N7
P7 M7
E 1 2 3 4 5 63
S 0 1 0 1 0 1------------ 2MB 12,5%
=> 288KB 1,8%
E 1 2 3 4 5 6 7
S 0 1 0 1 0 0 0
N63
P63 M63
N255
P255 M255
Cada nuevo nodo: ensanchar un bit
todos los directorios
arqPar Coherencia de Cachés (Directorios encadenados) MIMD-52• Los directorios completos llenos de ceros:
2 6405 8 255
1
• ¿Cómo implementar esta visión del directorio?:
• Ahorrar memoria• Normalmente pocas copias de un dato• Ocasionalmente un dato puede estar en todas las cachés
1 3 2
45
10
254255
9
CabeceraDirectorio
Encadenado
0 1 0 0 0 1 0 0 0 ..........0 0 0 1 0 0 0 0 0 ..........0 0 0 0 0 0 0 0 0 ..........0 0 0 0 1 0 0 1 0 .........1
1 0 0 0 0 0 0 0 0 ..........
1 2 3 4 5 6 7 8 9 255EN35
1 1 1 1 1 1 1 1 1 .........1
arqPar Coherencia de Cachés (Directorios encadenados) MIMD-53
1ª aproximación: Cabecera y directorio centralizados en cada nodo
2 6405 8 255
1
1 3 2
45
10
254255
9
N35
M35
N35
P35
A
N2
M2P2 P6
A
N6
M6
A
2
Cab
●6Dir
B
5
8
255 ●
nodo bloque off
8 18 6
35:0:4A : $23000004
Cache de 218 entradas: una por bloque
Cache de ¿? entradas: ¿3 por bloque?
B : $230000BA 35:3:A
Gestión libre y
punteros
Mtotal = 232 => 4GB Mlocal = 224 => 16MB Mcache = 220 => 1MB con líneas de 64B
arqPar Coherencia de Cachés (Directorios encadenados) MIMD-54
Una solución: Cabecera centralizada y directorio distribuído
• ¿Tamaño del directorio? Número de líneas en las caches
Mtotal = 232 => 4GB Mlocal = 224 => 16MB Mcache = 220 => 1MB con líneas de 64B
• ¿Cómo formar las listas?
35:16404:4
C 2 6 35
C : $23100504
nodo bloque off 8 18 6
tag línea off 12 14 6
Cabecera 218
2
N35 P35M35
C
N2 P2 M2
C
N6 P6 M6
CC
16404
Directorio Encadenado Distribuído 214
561:20:4
206 35200
20
?
arqPar Coherencia de Cachés (Directorios encadenados) MIMD-55
Veamos el funcionamiento:
C 2 6 35
C:$23100504 35:16404:4 561:20:4nodobloque
taglínea
S 2
E Cab
561 6
Tag Sig
561 35
Tag Sig
561 0
Tag Sig
N35 N2 N6
¿N7 lee C? Miss + Pedir C a N35 + Inclusión por cabecera
561 2
Tag Sig
N7
7
arqPar Coherencia de Cachés (Directorios encadenados) MIMD-56
Veamos el funcionamiento: C:$23100504 35:16404:4 561:20:4nodobloque
taglínea
S 2
E Cab
561 6
Tag Sig
561 35
Tag Sig
561 0
Tag Sig
N35 N2 N6
¿N2 lee D:$23200510
561 2
Tag Sig
N7
7
35:32788:16562:20:16
¡ Por la misma entrada compiten
212 bloques !
2S
?
arqPar Coherencia de Cachés (Directorios encadenados) MIMD-57
Veamos el funcionamiento: C:$23100504 35:16404:4 561:20:4nodobloque
taglínea
S 2
E Cab
562 0
Tag Sig
561 35
Tag Sig
561 0
Tag Sig
N35 N2 N6
D : $23200510
561 6
Tag Sig
N7
7
2S
¿N35 escribe en C? Tamaño Cab+Dir
360K => 2,20%¡ Invalidar copias existentes !
?
Cab
A E Tag S A E Tag S A E Tag S
6 7 13 6
arqPar Coherencia de cachés (Directorios Encadenados) MIMD-58
Ejemplo: Sequent NUMA-Q 2000Tarjetas con
4 Pentium Prosy hasta 4GB
Anillo SCIHasta 64K nodos
Cabecera
Caché 32MB
Dir. Enc.
226 entradas4GB
219 entradas32MB
Estadosestables y
transitorios
Snoopy
Intel QuickPath Interconnect
Home Snoop MESIF
arqPar Coherencia de cachés (Directorios Encadenados) MIMD-59
Ejemplo: SPARC M6 2013
arqPar Multicomputadores MIMD-60
Cada Pi con memoria privada inaccesible a los demás (load/store)
M. Distribuida (Multicomputador)
M P M P M P
M P M P
M P M P M P
Red
Los Pi se comunican mediante el envío y recepción de mensajes
Hace atractivo a losmultiprocesadores
Hace más escalable a losmulticomputadores
64 SUN E 10000
1.024 SUN M10-4S
1.536 Cray XK7
299.008+ Titan Cray XK7
arqPar Multicomputadores (MPP) MIMD-61
MPP => Procesadores Masivamente Paralelos
Red localDiscos y E/S
Red de interconexión de altas prestaciones
Red localDiscos y E/S
UCPs Memoria Nodos
ProcesadorComunicación
•µP comerciales: Intel Xeon, IBM Power, AMD Opteron, … GPU’s
•Red de interconexión adaptada | propietaria y de altas prestaciones
•Baja latencia y elevado ancho de banda
•Gran capacidad de E/S (Terabytes..Petabytes)
•Tolerancia a fallos (Probable que falle un µP a la semana)
¡Cambios acelerados!
arqPar Multicomputadores (MPP) MIMD-62•Red de interconexión adaptada | propietaria y de altas prestaciones
7 10 70%24 50 48%40 100 40%65 500 13%
17, 67, 290, 335 y 420
TOP500Nov/2014
•Gran capacidad de E/S (Terabytes..Petabytes)
1999 ASCI Blue Pacific 1024 nodos simular 1ª fase expNuclear 3D:20 días – 50.000 ficheros – 6TB
2010 LHC Gran Colisionador de Hadrones 27TB diarios 10..15PB año2011 Jaguar Calentamiento Global 1PB
•Tolerancia a fallos
ASCI-Q#2 Nov200210 Primeras
semanas
arqPar Multicomputadores (MPP) MIMD-63
Ejemplo: Iniciativa ASCI => ASC
arqPar Multicomputadores (MPP) MIMD-64
75m$ 35m$437MF/W 2.500MF/W
¡Dejan de ser rentables!
arqPar Multicomputadores (MPP) MIMD-65
• 25/01/2013
#1 Jun/2012 Sequoia – 1.572.864Simulación dinámica de fluidos
Ruido turbinas aviones supersónicos
arqPar Multicomputadores (MPP) MIMD-66
Ejemplo: Intel/Sandia Red (Dic/1996..Sep/2005)
4608 procesadores:4536 cómputo32 servicios32 discos6 red2 bootstrap
3238
2
PentPro
64MB
PentPro
E/S NIC
PentPro
64MB
PentPro
E/S NIC
Kestrel board
Otro plano
Kestrelboard
•6 enlaces paralelosa 400MB/seg
•Nodos de E/S con640 discos (1TB)
ASCI-Q
arqPar Multicomputadores (COW) MIMD-67
COW/NOW => Cluster / Network Of Workstations
•Estaciones de trabajo (PC’s, iMac’s, etc...) conectadas en redcomercial (Ethernet (Fast, Giga), FDDI, ATM, etc...)
•Aprovechar los tiempos muertos decientos de máquinas de una organización
•Coste prácticamente cero
•Software para distribuir aplicaciones:PVM, MPI
•Rendimiento moderado y uso limitado
distribuídos centralizados
•Máquinas dedicadaspara aplicacionesespecíficas
¿www.beowulf.org?
arqPar Multicomputadores (COW) MIMD-68
Beowulf => Conjunto de nodos minimalistas aglutinados en red
•Verano de 1994 en el CESDIS (16DX4 con Ethernet)
•Todos sus componentes son de costes mínimos:Micros, Placas Base, Discos y Tarjetas de red
y se ensamblan en uno o varios armarios (racks)
•Software de libre distribución (Linux, GNU, PVM, MPI)
•Latencia de comunicación acotada y baja (MPPs..COWs-Distri.)
•Afinamiento del S.O. para incremetar la eficiencia
•Hágaselo usted mismo
arqPar Multicomputadores (COW) MIMD-69
2001
arqPar Multicomputadores (MPP vs Beowulf) MIMD-70
arqPar Multicomputadores (MPP vs Beowulf) MIMD-71
ASCI Q (Febrero/2002) McKenzie (Enero/2003)www.cita.utoronto.ca/webpages/mckenzie/index.htmlwww.lanl.gov/projects/asci
256 nodos Xeon 2,4 GHz * 2Linux RedHat 7.3, GigaEthernet
1,2 Teraflops * 100 mPts
2048 nodos AlphaServer * 4 => 819213,9 Teraflops
29.000 millones de pesetas*290
*12
arqPar Multicomputadores (MPP vs Beowulf) MIMD-72
Advanced School for Computing and Imaging
www.cs.vu.nl/das4/ Distributed ASCI Supercomputer
Medalla IEEE 2007
4 Univ. holandesas + 2 Institutos:
• Andy Tanenbaum (DAS1)
• 198 * 2 * 4 1.584 núcleos
• Intel Xeon E5620 2,4GHz
• 5 TB RAM
• 200 TB disco
• 10Gigabit Infiniband
• CentOS Linux
arqPar Multicomputadores (MPP vs Beowulf) MIMD-73
12 PS700 | PS7016 PS702
http://www.redbooks.ibm.com/redpapers/pdfs/redp4655.pdf
4 / 8 / 8+8 POWER7 Cores..3 GHz ..256GB
IBM BladeCenter HT IBM BladeCenter PS700, 701 y 702
16.544$ 2012104.000$..
2014 IBM BladeCenter HX5 Xeon 6, 8 y 10C => 7.600$ .. 19.757$
arqPar Multicomputadores (MPP vs Beowulf) MIMD-74
www.microway.com www.hp.com www.penguincomputing.com
? Xeon ..14Hasta 32 Xeon ..18..160 Intel Xeon ..18
2.600$..6.000$ * 16
2014
arqPar Multicomputadores (MPP vs Beowulf) MIMD-75
21 servidores SupermicroIntel Core 2 Q6600
2,4GHz + 4GB
84 núcleos + 84GB
20.600€ 21 servidores1.000€ armario
Sep/2008
arqPar Multicomputadores (Alta disponibilidad) MIMD-76
www-1.ibm.com/servers/esdd/tutorials/clustering
Tipo de negocio Impacto por hora de caída
Centro de reservas aéreas 89.500$
Operaciones bursátiles 6,45 millones $
Venta por catálogo 90.000$
Autorización tarjetas de crédito 2,6 millones $
Canales de venta de hogar 113.750$
Servicio de paquetería 150.250$
¿Regla de los cinco nueves?
9 90% sin fallos
99 99%
999 99,9%
99999 5,39’ caído al año
?
www.intel.com/pressroom/kits/quadcore
arqPar Procesadores Multinúcleo (Intel) MIMD-77
• ¿Por qué varios núcleos?
∆ F
• ConsumoDin = C * A * V2 * F
60MHz
3,8GHz
arqPar Procesadores Multinúcleo (Intel) MIMD-78
• Trabajar con frecuencias más bajas y …
? + rendimiento
arqPar Procesadores Multinúcleo (Intel) MIMD-79
• Multinúcleo Mejores rendimientos esperados
2006 cumpliéndose espectativas
?
arqPar Procesadores Multinúcleo MIMD-80
• Multinúcleo Venta de microprocesadores
arqPar Procesadores Multinúcleo MIMD-81
• Multinúcleo Uso en móviles
arqPar Procesadores Multinúcleo MIMD-82
http://isscc.org/trends/index.html 2014
arqPar Procesadores Multinúcleo (Intel) MIMD-83
• Dos pequeños mejor que uno grande
arqPar Procesadores Multinúcleo (Intel) MIMD-84
• ¿Qué aspecto tienen?
Caches independientes
Sm
art C
ache
arqPar Procesadores Multinúcleo (Intel) MIMD-85
• Cache compartida vs independiente
Multicores Multicores actuales (Intel) multi-86
• ¿Qué procesadores están en marcha?
2015
Multicores Multicores actuales (Intel) multi-87
• ¿Qué procesadores están en marcha?
2007 2008 2010 2011 2012 2013
2014
arqPar Procesadores Multinúcleo (Intel) MIMD-88
• Intel Core 2 Quad Q6600 (4 núcleos a 2,4 GHz) => Sep/2007 1.000€
Smart Cache
4MB
Smart Cache
4MB
2007..20092,33 .. 3 GHz
4, 6, 8 y 12MB L2Sin HT
arqPar Procesadores Multinúcleo (Intel) MIMD-89
• Intel Core i7 920 (4 núcleos a 2,66 GHz) => Mayo/2009 962€
2008..1,06 .. 3,33 GHz
4, 6, 8 y 12MB L32, 4 y 6 núcleos con HT
2011..1,5 .. 3,6 GHz
4, 6, 8, 10 y 12MB L32, 4 y 6 núcleos con HT
Multicores Multicores actuales (Intel) multi-90
• Intel Xeon E7 Family
Junio 2011: 2 Xeon E5520 8N/16T 1.925€ Micro 373$Xeon E7-88xx => 2.280..4.616$
E7 v2 2014.. 1.446..6.841$1,9 .. 3,4 GHz
12 .. 37,5 MB L36, 8, 10, 12 y 15 núcleos con 2 HT
32KB L1I + 32KB L1D256KB * 824MB L3
arqPar Procesadores Multinúcleo (AMD) MIMD-91
• AMD Quad-Core Phenom X4
2007
arqPar Procesadores Multinúcleo (AMD) MIMD-92
• AMD Quad-Core Phenom (Jerarquía de caches)
L1I 64KBL1D 64KB
arqPar Procesadores Multinúcleo (AMD) MIMD-93
• AMD Quad-Core Phenom ¿Bueno, bonito y barato?
Consumo
arqPar Procesadores Multinúcleo (AMD) MIMD-94
• AMD FX 8 cores
2011..2,8 .. 4,2 GHz
4, 6 y 8 MB L2 y 8MB L34, 6 y 8 núcleos
120..300$
arqPar Procesadores Multinúcleo (AMD) MIMD-95
• AMD 4/8/12/16-Core: Opteron 6200 y 6300
2MB L2 x 816MB L3
240..1.400$
arqPar Procesadores Multinúcleo (IBM) MIMD-96
• 2013: IBM presenta el POWER 8 [12 núcleos]
512KB L2 * núcleo + 96MB L3 compartida + 128MB L4 offChip
arqPar Procesadores Multinúcleo (Oracle) MIMD-97
• 27/Mar/2013: Oracle presenta el SPARC T5 [16 núcleos: 128Threads]
16
128KB L2 + 8MB L3
42.580$
T5-2
arqPar Procesadores Multinúcleo (Tilera) MIMD-98
• Marzo/2013 => Tilera [TILE-Gx 8072]: www.tilera.com
9, 16, 36, 72 cores – 1..1,2 GHz - 32K L12; 256K L2; 2,3 .. 18MB L3
8 x TILE-Gx36288 cores
TILExtreme-Gx Duo
arqPar Procesadores Multinúcleo (Tilera) MIMD-99
• Feb/2015=> Ezchip [Adquirió Tilera en Jul/2014]
100 ARM 64bit
Jul2016.. ??
arqPar Procesadores Multinúcleo (Kalray) MIMD-100
• Nov/2013 => KALRAY [MPPA 256]: www.kalray.eu
16 núcleosToro 2D
Hasta 5TFLOPS
25Feb2015 Q4_2015
arqPar Procesadores Multinúcleo (Adapteva) MIMD-101
• 3/10/2011 => Adapteva[EpiphanyIV]: www.adapteva.com
¡ Hasta 4096 núcleos en un chip !
arqPar Procesadores Multinúcleo (Coherencia) MIMD-102
• Cache compartida: Bus vs Red
UMA UCA NUMA NUCA
arqPar Procesadores Many-core (Intel) MIMD-103
• Nov 2012: Intel lanza el coprocesador Xeon Phi (60/61 núcleos)
Supercomputador EstampidaUniversidad de Texas
N Xeons => 2 PetaflopsM MICs => 8 Petaflops
#7 top500 Nov/2012
Supercomputador Tianhe-2Centro Supercomputación China
32.000 Xeon 12 cores48.000 Phi 57 cores
#1 top500 Nov/2014
arqPar Manycores (Intel) MIMD-104
http://download.intel.com/research/platform/terascale/terascale_overview_paper.pdf
Acelerador partes
secuenciales
Heterogéneos
arqPar Manycores (NVIDIA) MIMD-105
• Tarjetas Gráficas: NVIDIA-Kepler 1.536 núcleos
¿MIMD?
20062008201020122014
G80GT200FermiKeplerMaxwell
128256512
1.5362.408
GTX TITAN X 3.072
arqPar Procesadores Multinúcleo (Pegas) MIMD-106
• Multicore Is Bad News for Supercomputers. Samuel K. Moore – IEEE SPECTRUM Nov-2008
arqPar Procesadores Multinúcleo (¿Solución?) MIMD-107
• Intel Technology Journal, Volume 11, Issue 3, 2007
160GB/s2014 Fujitsu
Supercomputers
arqPar Procesadores Multinúcleo (¿Solución?) MIMD-108
FIN• GTC Marzo/2015
1TB/seg
¿ 2016 ?