Académique Documents
Professionnel Documents
Culture Documents
1 INTRODUCCIN
2 CONECTIVIDAD
3 MQUINAS MIMD
4 SUPERESCALARES
5 EVALUACIN RENDIMIENTO
6 MQUINAS SIMD
Temario
Introduccin-2
1 INTRODUCCIN
Necesidades
Introduccin-3
Necesidades
Introduccin-4
250 Km
250 Km
(T, P, H, VV, DV, )
87.500 celdas y paso de 10 seg
Con un PC,
3..4 das?
Necesidades
Introduccin-5
Fortran90+MPI+OpenMP
Tpico:
32..128 tareas MPI
2 o 4 threads OpenMP
288 ncleos predecir
2011 POWER7
Nov/2011..
Necesidades
Introduccin-6
1980
2010
A 3 das
85%
98%
A 5 das
65%
90%
Distancia
36.000Km
800Km
Necesidades
Ingeniera: Aviones y turbinas
Introduccin-7
Necesidades
Introduccin-8
Aorta: un latido
500.000 puntos
3.500.000 ecuaciones
35 das 8 ncleos Xeon
Necesidades
Introduccin-9
www.nvidia.es
Necesidades
www.knome.com Sep/2012
A partir de 125.000$
Introduccin-10
Necesidades
Introduccin-11
Prediccin de tormentas
Estudios de turbulencias
folding.stanford.edu
12.000 tomos
Simular 1seg
256 procesadores
3 meses !!
Modelos ssmicos
Investigacin: SIDA, CANCER
Modelizacin del fluido cardiaco
Fenmenos ocenicos
Dinmica de fluidos y electromagnetismo
Tifn !!
Necesidades
Introduccin-12
Necesidades
Introduccin-13
1995
2000
2008
2002
www.dygrafilms.es
1 totalmente digital
2012
1 Europea en 3D
1er superhroe digital
117 SUNs
Necesidades, .........
Introduccin-14
Pixar How We Do It
El sueo de una noche
de San Juan (2005)
45 x fotograma [381.828]
Un nodo => + 32 aos
165 Pentium III y 4
6h x fotograma,
algunos 90h
Necesidades
Introduccin-15
Necesidades
Introduccin-16
Necesidades
Introduccin-17
Necesidades
Introduccin-18
18/02/2011
Necesidades
Introduccin-19
Necesidades
Introduccin-20
Necesidades
Introduccin-21
Exaflop?
100 GB
10 GB
1 GB
100 MB
10 MB
Genoma Humano
Turbulencia fluidos
Dinmica de vehculos
Circulacin ocanos
Visin, ................
Tiempo en
48 horas
1980
100 Mflops
Identificar
vehculos
Tiempo en
72 horas
Modelos
Plasma 3D
Biologa
estructural
5 Tflops y
8 Tbytes
Diseo
farmacutico
Dinmica de la Qumica
98Tbytes
2010? 2008
4/12/96
1988
1 Gflops
1991
10 Gflops
1993
100 Gflops
1995....
1 Tflops
Velocidad
del Sistema
1 Pflops?
2013?
6P
Core i7 980
4GHz
560.640P Titan Opteron + NVIDIA 2,2GHz
96 GFlop
27112 TFlop
CES 2013
Agosto
2012
Bateras basadas en
Grafeno encendern los
coches elctricos del
futuro
Carga 10 + rpido
2013 | 2014?
Intel Core i7
8MB cache L3
731.000.000
2006
1.700.000.000
2010
2.500.000.000
www.intel.com/pressroom/kits/events/moores_law_40th/
GHz
W
ILP
web.eecs.utk.edu/~dongarra
www.psc.edu/training/TCD_Sep04/index.html
3MHz .. 915MHz
0,2-0,3V
Conceptos
Introduccin-32
GRANO
ACELERACIN
EFICIENCIA
(Dependencia)
DBIL
ESCALABILIDAD
SI
FLUJO
NO
(Crecimiento lineal)
Conceptos
Introduccin-33
10
14
15
13
10
13
12
16
T4
14
T1
2
11
T3
11
12
16
T3
8
10
15
mezclar
1
T2
mezclar
1
T1
ordenar
2
15
11
12
13
14
16
11
12
13
14
15
16
T1
2
10
Cantidad de paralelismo
Introduccin-34
Grado = 26 / 9 = 2,89
T0 T1 T2 T3 T4 T5 T6 T7 T8 T9
Cmo vara?
Poco
Mucho
Muchsimo
3-5
32
256-65536
Tiempo
Cantidad de paralelismo
Introduccin-35
Compilador
Programador
S.O.
Finsimo 1 Instruccin
FINO
2 Bucle
MEDIO
3 Subrutina
20
500
2000
Miles....
Grado de
paralelismo
Sobrecarga
Comunica.
Cantidad de paralelismo
Introduccin-36
1 <= Sn <= n
n = Mximo terico
1 = Mximo terico
Cantidad de paralelismo
Introduccin-37
Conceptos
Introduccin-38
2 1 3 1 4 5 7 8
+ + + + + + + +
B 3 4 6 1 0 2 1 1
C
5 5 9 2 4 7 8 9
MMX
3DNow
SSE
SSE4
AVX
AltiVec
arqPar
Peluquera
10:00
10:15
10:30
10:45
11:00
1Hora
D54,D
D433,D
D2322
LCM
(1)
(2)
(1)
(1)(1)
10:00
10:15
10:20
10:30
10:40
10:45
11:00
P1
D5432
3 Mill.
Vs
20
20
20
L
(1)
(2)
(3)
(4)
C
(1)
(2)
(3)
M
(1)
(2)
1,5 M
1,5M
1,5M
Pipeline => 1P x 20
P1
Direct3D
F D I E
F D I
F D
F
M
E
I
D
F
W
M
E
I
D
F
W
M
E
I
D
F
W
M
E
I
D
W
MW
E MW
I E MW
Grado
106
No siempre
mejora de N !
30
3
Acoplamiento
Introduccin-41
Datos Comunes
Sincronismo
FUERTE
Pi
Pj
Grano
Grueso
Pi
DBIL
Pj
DC
Poca localidad
Cuellos de botella
Mucha localidad
Buena caracterstica
Escalabilidad
Introduccin-42
NO ESCALABLE
0,5
1,0
12 1,3
1,5
16
24 1,5
10
2,0
25
40 1,6
15
2,5
Lmites al paralelismo
Introduccin-43
F T1
(1-F) T1
Secuencial
Trozos paralelizables
n
CPUs
Sn = T1 / Tn
(1-F)T1/n
Tn
n
Sn =
1 + (n-1) F
Lmites al paralelismo
Sn
Significado
n
Sn =
Introduccin-44
F = 0%
20
16
1 + (n-1) F
12
F = 5%
8
F = 20%
12
16
20
Introduccin-45
Flujo de nico
Intrucc. Mltiple
Flujo de Datos
nico Mltiple
SISD
SIMD
MISD
MIMD
Von Neumann
Vectoriales / Sistlicos
Pipeline?
Introduccin-46
UC
UP
MP
In
I2
MP
I1
Programa
Datos
UC1
UC2
UCN
I1
I2
In
UP1
UP2
D
UPN
Modelo SIMD
Introduccin-47
Host
UP1
D1
UC
UPi
UPn
Di
E
Dn D
Acoplamiento fuerte
No escalable
Memoria Distribuida
Sncronas
LockStep
Host
UP1
D1
ML1
MP
Cuello de
botella
UC
UPi
UPn
Di
Dn
MLi
MLn
Acoplamiento dbil
Modelo MIMD
Introduccin-48
I1
Ii
t2
In
UCn
UP1
UPi
UPn
D1
Di
B
U
S
M.
P.
M. Distribuida (Multicomputador)
M P
R
E
Dn
D
Acoplamiento Fuerte
Memoria comn
M P
M P
Red
M P
a t1
M P
aa t2
M P
vs
M P
M P
Acoplamiento Dbil
Paso de mensajes
Introduccin-49
Arquitecturas Paralelas
?
?
GRID
Computing
SISD
SIMD
Von Neumann
Procesadores
Vectoriales
Symetric
Multi
Processor
Array de
Procesadores
Sistlicos
UMA
MISD
??
MIMD
Multiprocesadores
COMA
NUMA
CLOUD
Computing
Multicomputadores
MPP
COW
NOW
Beowulf
Perspectiva histrica
Introduccin-50
SIMD
Fiasco ILLIAC IV
Perspectiva histrica
Introduccin-51
MIMD
HWANG (1993) IDENTIFICA TRES GENERACIONES:
1983-1987
1988-1992
1993-1997
1983-1987
1988-1992
1993-1997
Tendencias
Introduccin-52
QU SISTEMA OPERATIVO?
Intel
SUN/Oracle
Intel
Cray
AMD
HP
SGI
IBM
75,8%
99%
12,2%
Total 14.885.800
Total
Max 1.572.864
Med 29.772
Min
1.280
SIMD
MPP
Cluster
SMP
Mono
Constelacin
Memoria
Comn Distri.
SIMD
1
MIMD
1
8+1
Total
1
10
Fujitsu FX10
Hitachi SR16000
IBM BlueGene/P&Q
IBM eServer p775
NEC SX-9
SGI Altix UV series
Hbrido:
Xeon + NVIDIA
Ordenador
Tflops
Ubicacin
#Ncleos
17.590
16.324
DOE/NNSA/LLNL (USA)
10.510
705.024
8.162
786.432
4.141
393.216
36
MareNostrum Xeon 16
636
560.640
1.572.864
33.664
Centros: 3, 2, 2, 0, 2, 3, 3, 1, 7, 6, 7, 5, 3, 3, 3, 2
Puesto: 314, 456, 427, , 267, 424, 5, 11, 5, 9, 26, 60, 87, 118, 114, 36
Cada vez ms en
la industria ?
Otros
Windows
HP-UX
UNIX
UNICOS
IRIX
Solaris
Linux
Arquitecturas Paralelas
1 INTRODUCCIN
2 CONECTIVIDAD
3 MQUINAS MIMD
4 SUPERESCALARES
5 EVALUACIN RENDIMIENTO
6 MQUINAS SIMD
Temario
2 CONECTIVIDAD
1 Introduccin
Conectividad-61
2 Conceptos
1 Clasificacin de las redes
2 Caracterizacin por Grafos
3 Perfiles de comunicacin
3 Redes de medio de transmisin compartido (Buses)
Introduccin
Conectividad-62
QUEREMOS MS VELOCIDAD:
A menor Grano, mayor Grado
TAREA
P1
P2
P4
P3
P5
Introduccin
Conectividad-63
P2
Pi
Pn
RED
M1
Mj
P2
Pi
RED
Mk
Pn
Introduccin
Conectividad-64
http://www.hpcresearch.nl/euroben/reports/overview12.pdf
Consumo?
Coste
*
50
Gigabit Ethernet
0,1
29..120
Introduccin
Conectividad-65
Introduccin
Conectividad-66
Sistema
Placa
ChipMulticore
LAN
WAN
Introduccin
Conectividad-67
Sistema
27 nodos
www.sicortex.com SC5832
Placa
Chip
6
ncleos
36 placas
Introduccin
Conectividad-68
27/Mayo/2009: Quiebra
Introduccin
Tom Willis Sep/2007
Intel Connects Cables
IBM
Sequoia
#2 Nov/12
1.572.864
nodos
Conectividad-69
Introduccin
LAN/WAN Internet
Millones de nodos
# Nodos dinmico
Conectividad-70
Multiprocesadores
Cientos .. Miles
Fijo
Enlaces largos
Cortos
Red irregular
Regular
Latencia alta
Baja
Conceptos
Conectividad-71
PERFILES DE COMUNICACIN
Conectividad-72
Ethernet
Redes inalmbricas
P1
Buses (Backplane)
P2
M1
Token
Ring
Pi
Mj
Pn
Mk
Sncronos vs asncronos
Multiplexados
Arbitraje del bus
Conectividad-73
P2
Acoplamiento dbil
Amplio uso en multicomputadores
P4
P3
Conectividad-74
P2
Pi
Pn
RED
M1
Mj
Mk
Red Telefnica
Acoplamiento fuerte
Totalmente conectadas:
Cada elemento tiene conexin
directa con los dems
Conectividad-75
Parcialmente conectadas:
conexas !
Conectividad-76
2
C
A1
B
D2
E3
Compromiso en el Grado
Menor conectividad => Ms latencia
Menor coste
Conectividad-77
5? => 2, 5, 4, 8, 7, 6
4 => 2, 5, 4, 3, 6 ms corto
Perfiles de Comunicacin
Conectividad-78
Ventanilla nica
N => N
Varias Ventanillas
N => 1
Reduccin
Bus Comn
1 => N
T.V. News
Mquinas CRCW
P2
Pi
Pn
M1
Mj
Mk
Conectividad-79
98% Hit
Pn
Algunos problemas !
colisiones
P2
P1
Fallo
costoso
Niveles cache ?
%Hit
16K L1D 88,3
256K L2 65,2
4M
L3 22,7
L* 98,0
Simulacin con:
PTLsim/X arquitectura tipo x86-64
L1D = 32KB [128 conjuntos, 4 vas]
SPEC CPU2006
400 millones de instrucciones simuladas
Benchmark
P2
Pi
Pn
Shared Bus
M1
Mj
L2 cache
controler
Shared L2 cache
Mk
Shared Bus
L3 cache
controler
Shared L3 cache
Soluciones ?
1
2
3
4
5
AR ARB AG RQ ACK
1
2
3
4
AR ARB AG RQ
5
6
P RPLY
1
2
3
4
5
6
7
8 9 10 11
AR ARB AG RQ P RPL
AR ARB AG Stall Stall RQ ACK
AR ARB Stall Stall AG Stall RQ ACK
AR Stall Stall ARB Stall AG Stall RQ
AR Stall ARB Stall AG
AR Stall ARB
12 13
14
15
P RPL
RQ P RPL
AG Stall Stall RQ
16
17
P RPL
1
2
RqA
1
1
2
2
3
3
4
4
5
5
6
6
10
11
12 13
14
15
16
17
AR ARB AG RQ
AR ARB AG RPL
AR ARB AG RQ
Mejora ?
AR ARB AG ACK
AR ARB AG RQ
AR ARB AG ACK
AR ARB AG RQ
AR ARB AG RPL
AR ARB Stall Stall Stall Stall AG RQ
AR ARB AG RPL
AR ARB Stall Stall Stall Stall AG RQ
AR ARB AG RPL
7
RpA
Transacciones
variables: 1..6 ciclos
RqA
RpA
RqB
RqB
10
11 12 13
14
RpB
RqC
RpC
RpB
RqC
RpC
4
5
6 7
8 9 10 11 12 13 14
Arb
Arb
Arb
Cmd Dir Dato Cmd Dir Dato Cmd Dir Dato Cmd Dir Dato
Normal
Arb
Inconveniente ?
Rfaga
arbitraje
mensaje A
mensaje B
1
GrA
7
GrB
Cmd Dir Dato Dato Dato Dato
10
ReA
11
12 13
14
15
Mensaje ms
prioritario
Mensaje
continuado
Buses mltiples
Concluyendo
Cachs (L1, L2 y L3)
Pipelining
Split Transaction
Modo rfaga
Buses Jerrquicos
Buses Mltiples
Muy costoso + 32P
Difusin
Serializacin
Frecuencia
Secuencial
Redes directas
Conectividad-87
Generalidades
Encaminamiento
Menor dimetro aumentando el grado
Array lineal
Anillo simple y de grado n
Conectividad total
Conectividad-88
MultiC ms integrado
P
IC
De otros
nodos
A otros
nodos
IC
Switch
Pn
IC
P
L2
Buffers
Arbitraje
Encamina.
Conectividad-89
.. 10GBseg
15nseg Lat
Conectividad-90
500MHz
2GBseg
1seg Lat
www.sicortex.com
Conectividad-91
Conectividad-92
Conectividad-93
19,2..25,6 GBseg
www.intel.com/technology/quickpath/introduction.pdf
Conectividad-94
Conectividad-95
Conectividad-96
http://techresearch.intel.com/spaw2/uploads/files/SCC_Platform_Overview.pdf
64 GBseg
Conectividad-97
Encaminamiento (Modos)
Conectividad-98
Redes directas
Conmutacin
de circuitos
Redes indirectas
Encaminamiento (Algoritmo)
0,0
8x8 = 64 nodos
Dimetro = 7+7=14fila col
Numerar nodo 0..63
1,0
2,0
0..7 0..7
E datos L 5,1
4,0
5,0
,N,N,E,E
1,6
0,2
0,3
0,4
0,5
6,0
7,0
E datos L
,N,N,E
1,6
0,6
3,0
Algo: MovCol+MovFila
E datos L
0,1
Conectividad-99
0,7
Encaminamiento (wormhole)
Conectividad-100
210
Buffer de
paquete
Destino
210
Los mensajes se
dividen en paquetes
(64..1024bits) y se
envan paquete a
paquete
210
Buffer de
flit
210
Destino
10
Los paquetes se
dividen en flits
(2..32 bits) y se
envan flit a flit
Similar a
IP/ATM
MPLS?
Encaminamiento (ejemplo)
Conectividad-101
Almacena y
Reenvo
Latencia
Wormhole
Distancia
+ 7 veces
mejor
Interbloqueo !
C
B
A
B
C
A
Una forma de
evitar el
interbloqueo
Conectividad-104
ARRAY LINEAL
0
2
3
4
3
5
Conectividad-105
Salto 3
1
2
2
2
3
d = 3, d = 1,71
Salto 4
1
1
2
2
3
1
2
d = 3, d = 1,71
1
2
2
2
2
1
d = 2, d = 1,57
d = 6, d = 3,2
Salto 3
d = 5, d = 2,67
Salto 5 iguala y 7 y 8 empeoran
Salto 4
d = 4, d = 2,27
d = 4, d = 2,13
Salto 4
d = 3, d = 2
Cmo podra ser N=32 y n=5?
Salto 5
d = 4, d = 2,13
Escalable ?
d = 4, d = ???
7
6
Conectividad-110
Conectividad-111
70
Dimetro
60
50
Array
Anillo
Anillo "n"
Total
40
30
20
10
0
0
20
40
# Nodos
60
Conectividad-112
RBOL BINARIO
EQUILIBRADO
Fat Tree
RBOL BINARIO
K=1
2
4
2
K=2
K=3
K=4
ESTRELLA
16
Conectividad-113
32
local
channels
Conectividad-114
Conectividad-115
MALLA 3D
MALLA 2D
K=3
K=1
K=2
O(1,1,1)
D(3,3,3)
O(2,2,1)
D(3,3,2)
Colisin!
Interbloqueos ?
Cuello de botella?
Conectividad-116
18
18
18
18
18
18
18
18
18
18
18
K=2
Conectividad-117
Grado 3
(3,1)
Grado 4
(4,1)
(3,2)
(4,2)
(3,3)
(4,3)
Grado 5?
(5,1)
(5,2)
Dim1
Dim2
Conectividad-120
Dimetro = log2 N
Grado = log2 N
Fcil encaminar
Dim4
Conectividad-121
1.
4321
0110
1
4
0111
1111
2.
0010
0011
1010
1000
0100
Realizar ORX ?
0101
Nodo actual
0001
0111
0110
0010
1010
1010
1010
1010
K=3
2
3
1
2
4
4
Dimetro ?
3
3
4
3
5
4
4
18
62
31
3*
4
4
M3D 10*10*10
T3D 10*10*10
27
15
6*
6
Hipercubo 10
896 N HiperCiclo 7
972 N Grafo Kautz
10
16
6
10
3
3
Conectividad-124
Topologa
N de nodos
Grado
Dimetro
Array lineal
N-1
Anillo
N/2
Anillo de grado n
n=log2N
n-1
rbol binario
2K-1
2*(K-1)
2K-1
2K
2*(K-1)
Estrella
N-1
Malla
nK
2*K
K*(n-1)
Toroide
nK
2*K
K* n/2
Hipercubo
2K
K*2K
2*K - 1 + K/2
Perspectiva histrica
Conectividad-126
MIMD
HWANG (1993) IDENTIFICA TRES GENERACIONES:
1983-1987
1988-1992
1993-1997
1983-1987
1988-1992
1993-1997
Perfil N*M
P2
O (N2)
P3
Crossbar
Pn
Muchas patas
8x8 OnChip
Funcionalidad de los conmutadores simples: mm2 => 5 ncleos
W => 2 ncleos
M1
M2
M3
colisin
Mm
difusin
crossbar
8*8
Conectividad-128
O (64)
Perfil 8*8 Reducir O( N2) a costa de ?
Latencia 1
directo
cruce
difusin
colisin
Red de
interconexin
Conjunto de
crossbar 2*2
etapa 1
etapa 2
etapa m
Conectividad-129
N=2
N=4
Crossbar 24
Red 16
Conectividad-130
000
000
001
001
010
011
100
101
001
010
001
001
010
010
110
111
Encaminamiento?
Sea de 001 a 010
010
011
100
101
110
111
Latencia
y O( ) ?
Conectividad-131
000
000
001
001
010
011
010
011
100
100
101
101
110
111
110
111
Permite difusin !
Latencia
Complejidad
Conmuta.
Perfil de
Comunicacin
BUS
CROSSBAR
MULTIETAPA
Bus
Multietapa Crossbar
Cte
Log2N*cte
cte
2 N log2N
N2
11
NN (*)
NN
intercluster
Conectividad-134