You are on page 1of 62

Arquitecturas Avanzadas

Curso 10/11
Horas

1 INTRODUCCIN

2 CONECTIVIDAD

3 MQUINAS MIMD

4 MQUINAS SIMD

5 SUPERESCALARES

arqAva

2 CONECTIVIDAD
1 Introduccin

Temario

Conectividad-2

Interconnection Networks. An engineering


Jos Duato y - 2003 [Captulos 1 y 2]
Principles and Practices of Interconnection ...
William James Dally y - 2004 [Cap: 1,2,3,22]

2 Conceptos
1 Clasificacin de las redes
2 Caracterizacin por Grafos
3 Perfiles de comunicacin
3 Redes de medio de transmisin compartido (Buses)
4 Redes directas (estticas )
1 Encaminamiento
2 Array lineal, anillo, ..., hipercubo
5 Redes indirectas (dinmicas)
1 Crossbar, redes multietapa ()

arqAva

Introduccin

Conectividad-3

QUEREMOS MS VELOCIDAD:
A menor Grano, mayor Grado
TAREA

P1

P2

P4

P3

P5

! AUMENTAN LAS NECESIDADES DE COMUNICACIN !

arqAva

Introduccin

Conectividad-4

Comunicacin Hw <===> Comunicacin Sw


Memoria Comn (Load/Store)
Comunicar Pi y Memoria
P1

P2

Pi

Pn

RED
M1

Mj

Paso Mensajes (Send/Receive)


Comunicar Pi con Pj
P1

P2

Pi

RED
Mk

Es muy importante la Latencia y el Ancho de banda

Pn

arqAva

Introduccin

Conectividad-5

http://www.euroben.nl/reports/overview09.pdf

Coste
*
50
Gigabit Ethernet

0,1

10..40

LA RED TIENE UNA IMPORTANCIA VITAL !

arqAva

Introduccin

Conectividad-6

Sistema
Placa
ChipMulticore

LAN
WAN

arqAva

Introduccin

Conectividad-7

Sistema

27 nodos

www.sicortex.com SC5832
Placa

Chip

6
ncleos

36 placas

arqAva

Introduccin

Conectividad-8

72 ncleos 96GB 100GF => 19.000

27/Mayo/2009: Quiebra

arqAva

Introduccin

LAN/WAN Internet

Conectividad-9

Multiprocesadores

Millones de nodos

Cientos .. Miles

# Nodos dinmico

Fijo

Enlaces largos

Cortos

Red irregular

Regular

Latencia alta

Baja

arqAva

Conceptos

Conectividad-10

CLASIFICACIN DE LAS REDES


MEDIO DE TRANSMISIN COMPARTIDO
DIRECTAS vs INDIRECTAS

TOTAL vs PARCIALMENTE CONECTADAS

CARACTERIZACIN POR GRAFOS


GRADO Y DIMETRO

PERFILES DE COMUNICACIN

1 => 1; N => N; 1 => N; N => 1

arqAva

Clasificacin de las Redes

Conectividad-11

Medio de Transmisin Compartido: Ponerse de acuerdo


en su uso (maestro/esclavo, )
Redes locales

Ethernet

Redes inalmbricas
P1

Buses (Backplane)
P2

M1
Token
Ring

Pi

Mj

Pn

Mk

Sncronos vs asncronos
Multiplexados
Arbitraje del bus

arqAva

Clasificacin de las Redes

Conectividad-12

Redes directas: Conexiones fijas entre los elementos


(Pi, Pj) invariables durante la ejecucin
P1

P2

Acoplamiento dbil
Amplio uso en multicomputadores

P4

P3

Los propios Nodos encaminan


Los caminos del origen al
destino pueden ser distintos

arqAva

Clasificacin de las Redes

Conectividad-13

Redes indirectas: Conexiones varan entre los elementos


(Pi, Mj) variables durante la ejecucin
P1

P2

Pi

Pn

RED
M1

Mj

Mk
Red Telefnica

Acoplamiento fuerte
Amplio uso en multiprocesadores
Encamina la propia red

arqAva

Clasificacin de las Redes

Totalmente conectadas:
Cada elemento tiene conexin
directa con los dems

Conectividad-14

Parcialmente conectadas:
conexas !

Latencia mnima (Lm)

Mayor latencia (2Lm)

Alto coste O(n2)

Menor coste O(n)


Encaminar ms
complejo

No escalable

Jerarquizadas: Aislar trfico por localidades

arqAva

Caracterizacin por Grafos

Conectividad-15

Nodos => P y/o Bancos de Memoria


Aristas => Enlaces de comunicacin

Grado de un nodo: Lneas incidentes (Si unidireccionales Ge + Gs)


4
2
C

A1

B
D2
E3

Relacionado con el nmero de puertos E/S


y, por lo tanto, con el coste

Deseable constante y pequeo

Grado de la red: El del nodo con mayor grado (4)


Deseable regularidad

Ms conectividad => Menor latencia


Mayor coste

Compromiso en el Grado
Menor conectividad => Ms latencia
Menor coste

arqAva

Caracterizacin por Grafos

Conectividad-16

Dimetro de la red: Camino ms distante de entre los mnimos que


unen a dos nodos cualesquiera.
Mtrica => Nmero de saltos => 2

1, 2, 3, ......?

5? => 2, 5, 4, 8, 7, 6
4 => 2, 5, 4, 3, 6 ms corto

Relacin directa con la latencia


6

arqAva

Perfiles de Comunicacin

Conectividad-17

Enlaces de comunicacin establecidos concurrentemente.


1 => 1

Ventanilla nica

N => N

Varias Ventanillas

N => 1

Reduccin

Bus Comn
1 => N

T.V. News

Difusin, Broadcast, Multicast

Mquinas CRCW

arqAva

Redes Medio Compartido (Bus I)

P1

P2

Pi

Pn

M1

Mj

Mk

Conectividad-18

Cuntos Pi podr instalar?

Pentium 4 a 3,8GHz
Bus de 64 bits y 800MHz
Un nico Pi satura el Bus?
$

Cachs !

98% Hit
Pn

Algunos problemas !
colisiones

P2
P1

Fallo
costoso

Soluciones ?

arqAva
Redes Medio Compartido (Bus II) Conectividad-19
Bus pipelining
Write
Read
Pedir bus
Arbitrar
Dar bus
Usar bus

1
2
3
4
5
AR ARB AG RQ ACK

1
2
3
4
AR ARB AG RQ

5
6
P RPLY

Cuntos ciclos 2W y 4R?

Con pipeline mejor


read 1
write 2
write 3
read 4
read 5
read 6
bus ocupado

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

arqAva
Redes Medio Compartido (Bus III) Conectividad-20
Split transaction: Pipelining + Dividir la transaccin en dos
1
read
resp
write
ack
write
ack
read
resp
read
resp
read
resp

1
1
2
2
3
3
4
4
5
5
6
6

1
2
RqA

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
3

7
8 9
RpA
RqB

Transacciones
variables: 1..6 ciclos
RqA

RpA
RqB

10

11

12 13

14

RpB

RqC

RpC

PCI Express
USB

8 peticiones pendientes en SGI

RpB

RqC

RpC

112 peticiones pendientes en SUN E 6000

arqAva
Redes Medio Compartido (Bus IV) Conectividad-21
Modo rfaga (Burst): Transacciones largas (lnea de cach)
1
2
3
4
5
6
7
8 9 10 11 12 13 14
Arb
Arb
Arb
Arb
Cmd Dir Dato Cmd Dir Dato Cmd Dir Dato Cmd Dir Dato

Normal
Arb
Cmd Dir Dato Dato Dato Dato

Inconveniente ?

Rfaga

arbitraje
mensaje A
mensaje B

1
2
3
4
5
6
7
8 9 10 11 12 13 14 15
GrA
GrB
ReA
Cmd Dir Dato Dato Dato Dato
Eti Dato Dato Dato Dato
Cmd Dir Dato

Mensaje ms
prioritario

Mensaje
continuado

arqAva
Redes Medio Compartido (Bus V) Conectividad-22
Buses jerrquicos

Buses mltiples

Concluyendo
Cachs (L1, L2 y L3)
Pipelining
Split Transaction
Modo rfaga
Buses Jerrquicos
Buses Mltiples
Muy costoso + 32P

Difusin
Serializacin
Frecuencia
Secuencial

arqAva

Redes directas

Conectividad-23

Generalidades
Encaminamiento
Menor dimetro aumentando el grado
Array lineal
Anillo simple y de grado n
Conectividad total
Compromiso grado vs dimetro y muchos nodos
rbol, Fat Tree y Estrella
Mallas y Toroides
Hipercubo con y sin ciclo
Tabla de parmetros

arqAva

Redes directas (Generalidades)

Conectividad-24

MultiC ms integrado
P

IC

De otros
nodos

A otros
nodos

IC
Switch
Pn

Red con enlaces directos entre Pi

IC

L2

Transputer
Buffers
Arbitraje
Encamina.

Nodos => PCs o similares


Ejemplos: Alpha 21364, SiCortex, Intel Core i7, AMD Istanbul

arqAva

Redes directas (P 21364)

Conectividad-25

arqAva

Redes directas ( Toro2D 21364 )

.. 10GBseg
15nseg Lat

Conectividad-26

.. 128 nodos [8x16]


.. 4 TB MP
12 dimetro

arqAva

Redes directas (P SiCortex)

500MHz

2GBseg
1seg Lat

www.sicortex.com

Conectividad-27

arqAva

Redes directas (P SiCortex)


Kautz Graph

Conectividad-28

arqAva

Redes directas (Intel Core i7)

Conectividad-29

19,2..25,6 GBseg

www.intel.com/technology/quickpath/introduction.pdf

arqAva

Redes directas (Intel Core i7)

Conectividad-30

arqAva

Redes directas (AMD Istanbul) Conectividad-31

..51,2 GBseg

arqAva

Encaminamiento (Modos)

Conectividad-32

Mecanismo Hw/Sw para que la informacin llegue del origen al


destino.
Hay que distinguir entre:
Algoritmo:
Eleccin del camino y gestin de conflictos
Tcnica:
Modo de propagar la informacin
Conmutacin
de paquetes

Redes directas

Conmutacin
de circuitos

Redes indirectas

arqAva
8x8 = 64 nodos
Dimetro = 7+7=14
Numerar nodo 0..63

Encaminamiento (Algoritmo)
0,0

0,1

0,2

0,3

Conectividad-33
0,4

0,5

0,6

fila col
0..7 0..7

1,0

Distribuido: A[2,3] => B[5,1]

2,0

E datos L 5,1

3,0

Algo: MovCol+MovFila

5,0

E datos L .,NN,E,E 5,1

6,0
7,0

N[00], E[01], S[10], O[11]

A
C

4,0

En origen: C[3,4] => D[1,6]

E datos L .,NN,E 5,1

0,7

arqAva

Encaminamiento (wormhole)

Conectividad-34

En conmutacin de paquetes veremos dos tcnicas:


Almacenamiento y reenvo
Origen

210

Buffer de
paquete

Destino

210

Los mensajes se
dividen en paquetes
(64..1024bits) y se
envan paquete a
paquete

Elevada latencia (3*Tiempo trans. Paquete Ttp)


Wormhole
Origen

210

Buffer de
flit

210

Destino

10

Mejora la latencia (2*Tiempo trans. Flit + Ttp)

Los paquetes se
dividen en flits
(2..32 bits) y se
envan flit a flit

Similar a
IP/ATM
MPLS?

arqAva

Encaminamiento (ejemplo)

Conectividad-35

Almacena y
Reenvo
Latencia

Toro2D 8*16 Alpha 21364


Dimetro = 12
Flit = 39 b Paquete = 702b
Ancho Banda = 3,2Gb*seg
Tflit = 12,1875nseg
Tpaq = 219,375nseg
AlmaReen => 2.632,5 nseg
Wormhole => 353,4 nseg

Wormhole

Distancia

+ 7 veces
mejor

arqAva

Encaminamiento (Interbloqueo)

Conectividad-36

C
D

Interbloqueo !
C

B
A
B

C
A

arqAva

Encaminamiento (Canales virtuales) Conectividad-37

Una forma de
evitar el
interbloqueo

arqAva

Redes directas (array, anillo)

Conectividad-38

Grado, dimetro, escalable,


0

ARRAY LINEAL

ANILLO (DE GRADO 2)


0

0
2

ANILLO (DE GRADO n 3)

1
2

3
5

Redes directas (anillo de grado n)

arqAva

Conectividad-39

N=8 n=3
Salto 2
1

Salto 3

1
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
1

d = 2, d = 1,57

Redes directas (anillo de grado n)

arqAva

Conectividad-40

N = 16 n = 3
Salto 2

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

Redes directas (anillo de grado n)

arqAva

Conectividad-41

N = 16 n = 4
Salto 3

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

arqAva

Redes directas (anillo de grado n)

Conectividad-42

N = 32 n = 5

Escalable ?

d = 4, d = ???

arqAva

Redes directas (conexin total)

Grado, dimetro, escalable,


0

1
2

7
6

Conectividad-43

arqAva

Redes directas (Grfica)

Conectividad-44

70

Dimetro

60
50

Array
Anillo
Anillo "n"
Total

40
30
20
10

Moverse por aqu


con menor grado

0
0

20

40
# Nodos

60

arqAva

Redes directas (rbol, )

Grado, dimetro, escalable,

Conectividad-45

RBOL BINARIO
EQUILIBRADO
Fat Tree

RBOL BINARIO
K=0
2

4
2

K=1

K=2
K=3

Cuello de botella [trfico aleatorio]


Cmo encaminar A B?

ESTRELLA

arqAva

Redes directas (malla)

Conectividad-46

Grado, dimetro, escalable,


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)

Encaminamiento ordenado por direcciones

M3D 512 8*8*8 => D=21


Escalabilidad cuadrtica o cbica?

Colisin!

Interbloqueos ?
Cuello de botella?

arqAva

Redes directas (malla3D)

Conectividad-47

Cuello de botella trfico NN?


18
18
18
18
18
18

18

18

18

18

18

18

18 msj por todos


los enlaces en cada
sentido !

arqAva

Redes directas (toroide)

Grado, dimetro, escalable,

TOROIDES (2D y 3D)


K=1

K=2

T3D 512 8*8*8 => D=12


Anillo embebido !

Conectividad-48

arqAva

Redes directas (hipercubo)

Conectividad-49

HIPERCUBO N=2k nodos, k dimensiones = log2 N


Dim3
Dim1

Dim2

Dimetro = log2 N

Grado = log2 N
Fcil encaminar
Dim4

Escalable a costa de demasiado grado


Topologa cada vez menos utilizada

arqAva

Redes directas (hipercubo)

Conectividad-50

Encaminamiento en HIPERCUBO (Sea N=16)


3

1.

Numerar nodos en binario. Nodos


adyacentes difieren en un bit (el
asociado a la direccin que les une)

2.

Enviar mensaje por el enlace


asociado a la menor direccin
donde no coinciden bit del nodo
actual y bit del nodo destino

4321
0110

1
4

0111
1111

0010
0011

1010

1000
0100

Realizar ORX ?

0101

0111 ORX 1010 = 1101


0000

Nodo actual

0001

0111

0110

0010

1010

Nodo destino 1010

1010

1010

1010

arqAva

Redes directas (hipercubo con ciclos)

Conectividad-51

Grado, dimetro, escalable,

K=3

HIPERCUBO CON CICLOS

2
3

4
4

Dimetro ?

3
3

4
4

4
5

arqAva

Redes directas (Grafo de Kautz)

Conectividad-52

arqAva

Redes directas (Un ejemplo)

Conectividad-53

Cmo conectar unos 512 nodos?

Topologa Dimetro Grado


M3D 8*8*8
21
6*
T3D 8*8*8
12
6
Hipercubo 9
9
9
384 N HiperCiclo 6
896 N HiperCiclo 7

14
16

3
3

972 N Grafo Kautz

5832
ncleos

T3D 8*8*6
T3D 10*10*9

11
14

6
6

arqAva

Redes directas (Tabla de Parmetros) Conectividad-54

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)

rbol binario equilibrado

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

Hipercubo con ciclos

arqAva

Perspectiva histrica

Introduccin-55

MIMD
HWANG (1993) IDENTIFICA TRES GENERACIONES:
1983-1987

Hipercubo con Encaminamiento Sw

1988-1992

Malla con Encaminamiento Hw (Sw de grano medio)

1993-1997

P y comunicaciones en el mismo chip (grano fino)

2010?

Multiprocessor systems-on-chips (MPSoCs) Niagara


Hoy 4..8 ncleos .. 64 en 2010 .. Se llegar a 1.000?

Conexin interna?
Simil con intracluster

arqAva

Redes indirectas (Barras cruzadas) Conectividad-56


P1

Perfil N*M

P2

O (N2)

P3

Crossbar
Pn

M1

M2

M3

Mm

Funcionalidad de los conmutadores simples:

colisin

Muchas patas
8x8 onChip
rea 5 ncleos
Wat 2 ncleos

difusin

arqAva

Redes indirectas (Multietapa)

crossbar
8*8

O (64)
Perfil 8*8
Latencia 1

Conectividad-57

Reducir O( N2) a costa de ?

Usar slo crossbar 2*2

directo

cruce

difusin

colisin

Red de
interconexin
Conjunto de
crossbar 2*2

etapa 1

etapa 2

etapa m

Redes indirectas (Red )

arqAva

Conectividad-58

Red de interconexin perfect Suffle


Limitado a N = potencia de 2
Colisin

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

Bit igual => directo


Mejorable?
Bit distinto => cruce

Latencia
y O( ) ?

Redes indirectas (Red )

arqAva

Conectividad-59

000

000

001

001

010
011

010
011

100

100

101

101

110
111

110
111

Permite difusin !

arqAva

Redes indirectas (Tabla de parmetros) Conectividad-60

Latencia
Complejidad
Conmuta.
Perfil de
Comunicacin

Bus

Multietapa Crossbar

Cte

Log2N*cte

cte

2 N log2N

N2

11

NN (*)

NN

BUS

Barato y limitado 2..32

CROSSBAR

Ms caro. Bueno para N moderado


Mayor ancho de banda y fcil encaminar

MULTIETAPA

Compromiso entre Bus y Crossbar

arqAva

Implantacin en el mercado (Julio/2009) Conectividad-61


http://www.euroben.nl/reports/
#NODOS TIPO DE RED SUPERCOMPUTADOR
..N
..248
..192*N
..128
..32
..64
..512
..N
..221184
..1024
..32
..8192
..512

Configurable
Red Clos
Toro 3D
Crossbar
Crossbar
Crossbar
Crossbar multidim.
Configurable
Toro 3D y rbol
Configurable
Crossbar
Crossbar multidim.
Fat tree

Bull NovaScale
C-DAC PARAM Padma
Cray Inc. XT5
Fujitsu/Siemens M9000
Fujitsu/Siemens PRIMEQUEST
Hitachi BladeSymphony
Hitachi SR 16000
IBM eServer p575
IBM BlueGene/L&P
IBM System Cluster 1350
NEC Express5800/1000
NEC SX-9
SGI Altix 4000

intercluster

arqAva

Redes en Top500

Conectividad-62

48,4%

6,0%
41,4%

FIN

You might also like