Vous êtes sur la page 1sur 134

Arquitecturas Paralelas

1 INTRODUCCIN
2 CONECTIVIDAD
3 MQUINAS MIMD
4 SUPERESCALARES
5 EVALUACIN RENDIMIENTO
6 MQUINAS SIMD

Temario

Introduccin-2

1 INTRODUCCIN

1 Necesidades, evolucin/revolucin de la tecnologa


2 Conceptos

1 Cantidad de paralelismo (Medidas)


2 Tipos/Fuentes del paralelismo
3 Acoplamiento (Dependencia)
4 Escalabilidad (Crecimiento lineal)
5 Ley de Amdhal (Lmite al paralelismo)
3 Clasificacin de Flynn (ampliada)
4 Perspectiva histrica, tendencias, implantacin

Necesidades

Introduccin-3

Se necesita ms potencia que la de un superPC?


Modelizacin predictiva y Simulaciones

Diseo y automatizacin (Proyectos de ingeniera)


Exploracin de recursos energticos
Investigacin mdica y militar
Investigacin bsica
Dibujos animados y efectos especiales
Realidad virtual
eCommerce y Web serving
De qu orden de magnitud estamos hablando Flops?

Necesidades

Introduccin-4

Prediccin del tiempo (CESGA: METEO 1998 www.cesga.es )


35
niveles

250 Km
250 Km
(T, P, H, VV, DV, )
87.500 celdas y paso de 10 seg

Tiempo para 24 horas ? Fujitsu VPP300E => 6h30m

Con un PC,
3..4 das?

Prediccin a 3..10 das (ECMWF: www.ecmwf.int)


2003
8.300.760 celdas y paso de 20 minutos
Prediccin a 10 das: Fujitsu VPP700 => 1h35min
2006
Nuevo supercomputador y modelo:
4025Km; 6091 niveles; 1512; Op*4

Necesidades

Introduccin-5

Prediccin a 10 das (ECMWF: www.ecmwf.int)


IBM p6-575 2009 ..

Fortran90+MPI+OpenMP
Tpico:
32..128 tareas MPI
2 o 4 threads OpenMP
288 ncleos predecir
2011 POWER7

Nov/2011..

Necesidades

Introduccin-6

Prensa 9/11/11: Los satlites que miran de cerca atinan la


prediccin meteorolgica

Imagen del Metop A

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

Aplicaciones mdicas: MRI, Simular sistema cardiaco,


www.lncc.br

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

Centro de Supercomputacin de Pittsburgh


512 procesadores (x8) Intel Xeon (Nehalem)

Projects in Scientific Computing (160) www.psc.edu/science


Plegamiento de protenas

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

Centro de Supercomputacin de Pittsburgh + CAPS + NOAA +


Emergencia 30 antes
Suenan sirenas 20 antes
Slo 10 vctimas
95% del pueblo arrasado
4Mayo2007 Tornado EF5 Greensburg

Ser posible predecir antes?


1989: Escepticismo: caticos e
impredecibles
2007: Investigadores+Supercomp.
viable predecir a 24 horas
www.psc.edu/science/2007/storms.html

Necesidades

Introduccin-13

Dibujos animados y efectos especiales

1995

2000

2008

2002

www.dygrafilms.es

1 totalmente digital

2012
1 Europea en 3D
1er superhroe digital

117 SUNs

> 20 CPUs CESGA 100 SGI Octane2

10.000 millones Pts.

550 millones Pts.

27.000 millones Pts.

Muy costosa la renderizacin !

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

2004: El Museo Britnico abre un centro de realidad virtual que


permite explorar virtualmente una momia de hace 3000 aos
SGI Onix 350 12 procesadores

2006: Hellenic Cosmos www.fhw.gr/cosmos/

SGI Octane III IDF 2009


hasta 80/120 ncleos con 1 TB
Personal Supercomputer
desde 8.000$

Necesidades

Introduccin-17

StarCAVE III 2008


California Institute for Telecommunications
and Information Technology

18 nodos QuadCore para rendering

Necesidades

Introduccin-18

18/02/2011

90x32 ncleos IBM POWER 7

Necesidades

Introduccin-19

Necesidades

Introduccin-20

Necesidades

Introduccin-21

Requisitos identificados por el HPCC Program (1992)


Capacidad
de Memoria
1000 GB

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

Necesidades, Evolucin/Revolucin Introduccin-22


Mayor velocidad de conmutacin
Silicio 2MHz .. 2GHz]
Arseniuro de Galio *10 Silicio
Grafeno 100GHz?
250GHz?

CES 2013
Agosto
2012
Bateras basadas en
Grafeno encendern los
coches elctricos del
futuro
Carga 10 + rpido

Necesidades, Evolucin/Revolucin Introduccin-23

Necesidades, Evolucin/Revolucin Introduccin-24


Mayor velocidad de conmutacin
Silicio 2MHz .. 2GHz]
Arseniuro de Galio *10 Silicio
Grafeno 100GHz?
Mayor grado de integracin
80..100 micras 10-6

0,18 0,15 0,13 0,09 0,065


2000
2008
90nm 65 45 32 22 14 10
2014
2016

Necesidades, Evolucin/Revolucin Introduccin-25


www-03.ibm.com/press/us/en/pressrelease/35358.wss 7/Sep/2011

Necesidades, Evolucin/Revolucin Introduccin-26


http://www-03.ibm.com/press/us/en/pressrelease/36125.wss 1/Dic/2011

5 veces ms ancho de banda


70% menos consumo
90% menos espacio
www.micron.com/products/hybrid-memory-cube

2013 | 2014?

Necesidades, Evolucin/Revolucin Introduccin-27


Gordon Moore (Cofundador de Intel)
19/04/1965

Intel Core i7
8MB cache L3
731.000.000

Dual core Intel Itanium 2 (24MB cache)

2006

1.700.000.000

8 core Intel Xeon 7000 (24MB cache)

2010

2.500.000.000

www.intel.com/pressroom/kits/events/moores_law_40th/

Necesidades, Evolucin/Revolucin Introduccin-28


Gordon Moore (Cofundador de Intel)

Necesidades, Evolucin/Revolucin Introduccin-29


Multi/Many
Core

GHz

W
ILP

Necesidades, Evolucin/Revolucin Introduccin-30


HPCA03

web.eecs.utk.edu/~dongarra

www.psc.edu/training/TCD_Sep04/index.html

Necesidades, Evolucin/Revolucin Introduccin-31

3MHz .. 915MHz

0,2-0,3V

2mW vs 10, 35, 45, 130W !

Conceptos

Introduccin-32

CANTIDAD DE PARALELISMO Y MEDIDAS


GRADO

GRANO

ACELERACIN

EFICIENCIA

TIPO / FUENTES DEL PARALELISMO


CONTROL DATOS
ACOPLAMIENTO
FUERTE

(Dependencia)

DBIL

ESCALABILIDAD
SI

FLUJO

NO

(Crecimiento lineal)

Conceptos

Introduccin-33

ordenarPar: Ordenar un vector en memoria


3

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: Nmero de Unidades de Proceso para las que


se tiene trabajo durante un intervalo de tiempo
Grado
6
5
4
3
2
1

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

GRANO: Tamao medio de las acciones ejecutadas en


paralelo por Unidad de Proceso (Distribucin de Carga)
#Instr.
Hw +

Compilador

Programador

S.O.

Finsimo 1 Instruccin
FINO

2 Bucle

MEDIO

3 Subrutina

20
500
2000

MEDIO/ 4 Subprograma Miles


GRUESO
GRUESO 5 Programa

Miles....

Grado de
paralelismo
Sobrecarga
Comunica.

Cantidad de paralelismo

Introduccin-36

ACELERACIN: Speedup Cuntas veces ms rpido


al contar con n U.P. en vez de una. (Absoluta)
Sn = Tsecuencial / Tparalelo = T1 / Tn
SI CON UNA U.P. SE ORDENA EN 1 MINUTO,

CON 4 U.P. SE ORDENA EN? ===> 15, 20, .....???

1 <= Sn <= n

n = Mximo terico

EFICIENCIA: Lo mismo, pero teniendo en cuenta n.


(Relativa)
En = Sn / n = T1 / nTn
1/n <= En <= 1

1 = Mximo terico

Cantidad de paralelismo

Introduccin-37

Conceptos

Introduccin-38

PARALELISMO DE CONTROL (Prog. Concurrente)


Descomposicin en subtareas simultneas (Una x ncleo)
Supervisin industrial, Productor/Consumidor, Editor

MUY COMN, pero .... Poco relevante! (Grado 3)

PARALELISMO DE DATOS (Espacial)

Operaciones sobre datos regulares (vectores)


aplicando la misma operacin sobre cada elemento
A

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

MENOS COMN, pero ....


Ms relevante! (Grado 104..106)

arqPar

Tipo / Fuentes (Control, Datos, Flujo) Introduccin-39

PARALELISMO DE FLUJO (Temporal)


Idea intuitiva => Cadena de montaje de coches
Secuencia de datos homogneos de entrada
Proceso divisible en subtareas secuenciales (filtros)

Peluquera

Personas Despeinadas (Di)


Lavar => Cortar => Marcar

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.

Secuencial => 1P x Hora

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

Tipo / Fuentes (Control, Datos, Flujo) Introduccin-40

PARALELISMO DE FLUJO (II)

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

Control Flujo Datos


ALGO COMN, pero .... No muy relevante! (Grado 30)

Acoplamiento

Introduccin-41

Grado de dependencia entre las partes (Hw/Sw)

Datos Comunes
Sincronismo

Cantidad relativa de interacciones


Fino

FUERTE

Pi

Pj

Grano

Grueso

Pi

DBIL

Pj

DC

Poca localidad
Cuellos de botella

Mucha localidad
Buena caracterstica

Escalabilidad

Introduccin-42

Aumento de prestaciones con coste lineal o nlogn


ESCALABLE

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

Mxima Aceleracin? Ley de Amdahl


T1

F T1

(1-F) T1

Secuencial

Trozos paralelizables

(a) Una CPU


(b) Varias
CPUs

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=5% => Lim Sn = 20 !


4

F = 20%

12

16

20

Amdals Law in the Multicore Era.


Mark D. Hill & Michael R. Marty
2007

Clasificacin de Flynn (1972)

Introduccin-45

Combina Flujo de Datos y Flujo de Instrucciones con


(Single) nico y Mltiple, dando 4 combinaciones:

Flujo de nico
Intrucc. Mltiple

Flujo de Datos
nico Mltiple
SISD
SIMD
MISD

MIMD

SISD Una Instruccin un Dato

Von Neumann

SIMD Una Instruccin muchos Datos

Vectoriales / Sistlicos

MISD Muchas Instrucciones un Dato

Pipeline?

MIMD Muchas Instrucciones muchos Datos Multiprocesadores /


Multicomputadores

Modelos SISD y MISD

Introduccin-46

SISD: Una Instruccin un Dato (Von Neumann)


I

UC

UP

MP

MISD: Muchas Instrucciones un Dato (Pipeline?)

In

I2
MP

I1

Programa
Datos

UC1

UC2

UCN

I1

I2

In

UP1

UP2
D

UPN

Modelo SIMD

Introduccin-47

SIMD: Una Instruccin muchos Datos (Vectoriales, ....)


Memoria Comn
I

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

MIMD: Muchas Instrucciones muchos Datos


M. Comn (Multiprocesador)
UC1
t1
UCi

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

Clasificacin de Flynn Ampliada

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

Distintas formas de organizar la


memoria comn
Distributed Shared Memory

COW
NOW
Beowulf

Perspectiva histrica

Introduccin-50

SIMD
Fiasco ILLIAC IV

Se inicia en 1965, se vende en 1972 y funciona en 1975


Presupuesto $6 Mill y cost $31 Mill 1/4 de mquina
Se esperaban 1000 MF y se obtuvieron 15MF

Dormidas para propsito general?, pero tienen su nicho:

Procesamiento de Imagen, Seal, Gentica, Bsquedas


http://ed-thelen.org/comp-hist/vs-illiac-iv.html

Perspectiva histrica

Introduccin-51

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)

1983-1987

1988-1992

1993-1997

Multiprocessor systems-on-chips (MPSoCs)


Hoy 4..16 ncleos
Se llegar a 400 en 2020?

Tendencias

Introduccin-52

MQUINAS BASADAS EN P COMERCIALES

MUCHOS P SENCILLOS O POCOS Y POTENTES?

QU TIPO DE MQUINA PARALELA?

MQUINAS MS POTENTES: CULES Y PARA QU?

QU SISTEMA OPERATIVO?

Las mquinas ms potentes (Nov/2012) Introduccin-53


www.top500.org
Qu micros se utilizan?
Micros convencionales de gama alta

Intel

SUN/Oracle
Intel

Cray

AMD

HP
SGI

IBM

75,8%
99%

12,2%

IBM POWER 10,6%

Las mquinas ms potentes (Nov/2012) Introduccin-54


www.top500.org
Cientos o miles de micros?

Total 14.885.800
Total
Max 1.572.864
Med 29.772
Min
1.280

Las mquinas ms potentes (Nov/2012) Introduccin-55


www.top500.org
Qu arquitecturas dominan?

SIMD

MPP

Cluster
SMP

Mono

Constelacin

Implantacin en el mercado (Dic/2012) Introduccin-56


Overview of Recent Supercomputers
http://www.hpcresearch.nl/euroben/reports/overview12.pdf
Bullx systems
Cray Inc. XC30
Cray Inc. XE6/XE6m
Cray Inc. XK7
Eurotech Aurora

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

12,4% => 62 / 500

Hbrido:
Xeon + NVIDIA

Las mquinas ms potentes (Nov/2012) Introduccin-57


www.top500.org
Cules?
N

Ordenador

Tflops

Ubicacin

#Ncleos

Titan Cray XK7 Opteron 16

17.590

DOE/SC/Oak Ridge National Laboratory (USA)

Sequoia Power BQC 16

16.324

DOE/NNSA/LLNL (USA)

K computer SPARC64 VIIIfx

10.510

RIKEN Advanced Institute for C.S. (Japn)

705.024

Mira Power BQC 16

8.162

DOE/SC/Argonne National Laboratory (USA)

786.432

JUQUEEN Power BQC 16

4.141

Fprscjimgszemtri, Kieocj (FZJ) (Alemania)

393.216

36

MareNostrum Xeon 16

636

Barcelona Supercomputer Center (Espaa)

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

Las mquinas ms potentes (Nov/2012) Introduccin-58


www.top500.org
En qu se utilizan?

Cada vez ms en
la industria ?

Las mquinas ms potentes (Nov/2012) Introduccin-59


www.top500.org
Qu S.O. usan?
AIX

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

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 ()

Introduccin

Conectividad-62

QUEREMOS MS VELOCIDAD:
A menor Grano, mayor Grado
TAREA

P1

P2

P4

P3

P5

! AUMENTAN LAS NECESIDADES DE COMUNICACIN !

Introduccin

Conectividad-63

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

Introduccin

Conectividad-64

http://www.hpcresearch.nl/euroben/reports/overview12.pdf

Consumo?
Coste
*
50
Gigabit Ethernet

0,1

29..120

LA RED TIENE UNA IMPORTANCIA VITAL !

Introduccin

Conectividad-65

LA RED TIENE UNA IMPORTANCIA VITAL !

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

72 ncleos 96GB 100GF => 19.000

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

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

Clasificacin de las Redes

Conectividad-72

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

Clasificacin de las Redes

Conectividad-73

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

Clasificacin de las Redes

Conectividad-74

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

Clasificacin de las Redes

Totalmente conectadas:
Cada elemento tiene conexin
directa con los dems

Latencia mnima (Lm)


Alto coste O(n2)
No escalable

Conectividad-75

Parcialmente conectadas:
conexas !

Mayor latencia (2Lm)


Menor coste O(n)
Encaminar ms
complejo

Jerarquizadas: Aislar trfico por localidades

Caracterizacin por Grafos

Conectividad-76

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

Relacionado con el nmero de puertos E/S


y, por lo tanto, con el coste
Deseable constante y pequeo

E3

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

Caracterizacin por Grafos

Conectividad-77

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

Perfiles de Comunicacin

Conectividad-78

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

Redes Medio Compartido (Bus I)


P1

P2

Pi

Pn

M1

Mj

Mk

Conectividad-79

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

Niveles cache ?

Redes Medio Compartido (Bus II) Conectividad-80


Cunto hit en cache ld ?
Benchmark

%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

Redes Medio Compartido (Bus III) Conectividad-81


P1

P2

Pi

Pn

Shared Bus

M1

Mj

L2 cache
controler
Shared L2 cache

Mk

Shared Bus
L3 cache
controler
Shared L3 cache

Soluciones ?

Redes Medio Compartido (Bus IV) Conectividad-82


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

Redes Medio Compartido (Bus V) Conectividad-83


Split transaction: Pipelining + Dividir la transaccin en dos
1
read
resp
write
ack
write
ack
read
resp
read
resp
read
resp

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

8 peticiones pendientes en SGI

RpB
RqC

RpC

112 peticiones pendientes en SUN E 6000

Redes Medio Compartido (Bus VI) Conectividad-84


Modo rfaga (Burst): Transacciones largas (lnea de cach)
1
Arb

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 ?

Cmd Dir Dato Dato Dato Dato

Rfaga

arbitraje
mensaje A
mensaje B

1
GrA

7
GrB
Cmd Dir Dato Dato Dato Dato

10
ReA

11

12 13

14

15

Eti Dato Dato Dato Dato


Cmd Dir Dato

Mensaje ms
prioritario

Mensaje
continuado

Redes Medio Compartido (Bus VII) Conectividad-85


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

Redes Medio Compartido (Bus VIII) Conectividad-86

Evolucin FSB Intel

Redes directas

Conectividad-87

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, Toroides y WK-rec
Hipercubo con y sin ciclo
Tabla de parmetros

Redes directas (Generalidades)

Conectividad-88

MultiC ms integrado
P

IC

De otros
nodos

A otros
nodos

IC
Switch
Pn

Red con enlaces directos entre Pi

IC
P

L2

Buffers
Arbitraje
Encamina.

Nodos => PCs o similares


Ejemplos: Alpha 21364, SiCortex, Intel Core i7 y SCC

Redes directas (P 21364)

Conectividad-89

Redes directas ( Toro2D 21364 )

.. 10GBseg
15nseg Lat

Conectividad-90

.. 128 nodos [8x16]


.. 4 TB MP
12 dimetro

Redes directas (P SiCortex)

500MHz

2GBseg
1seg Lat

www.sicortex.com

Conectividad-91

Redes directas (P SiCortex)


Kautz Graph

Conectividad-92

Redes directas (Intel Core i7)

Conectividad-93

19,2..25,6 GBseg

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

Redes directas (Intel Core i7)

Conectividad-94

Redes directas (Intel Xeon E5)

Conectividad-95

Redes directas (Intel SCC )

Conectividad-96

http://techresearch.intel.com/spaw2/uploads/files/SCC_Platform_Overview.pdf

Mayo 2010: Intel lanza de forma selectiva el SCC [prototipo]


48 IA-32
ncleos

64 GBseg

Memoria comn sin coherencia Sw

Redes directas (Intel SCC )

Conectividad-97

Nov 2012: Intel lanza el coprocesador Xeon Phi (60/61 ncleos)

Encaminamiento (Modos)

Conectividad-98

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

Encaminamiento (Algoritmo)
0,0

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

1,0

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

2,0

0..7 0..7

E datos L 5,1

4,0

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

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

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

0,6

3,0

Algo: MovCol+MovFila

E datos L

0,1

Conectividad-99

SiCortex, Intel QuickPath,

0,7

Encaminamiento (wormhole)

Conectividad-100

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?

Encaminamiento (ejemplo)

Conectividad-101

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

Encaminamiento (Interbloqueo) Conectividad-102


C
D

Interbloqueo !
C

B
A
B

C
A

Encaminamiento (Canales virtuales) Conectividad-103

Una forma de
evitar el
interbloqueo

Redes directas (array, anillo)

Conectividad-104

Grado, dimetro, escalable,


0

ARRAY LINEAL

ANILLO (DE GRADO 2)


0

0
2

3
4

ANILLO (DE GRADO n 3)

3
5

Redes directas (array, anillo)

Conectividad-105

Navigation in a small world Jon M. Kleinberg


Nature 24 Agosto 2000

Redes directas (anillo de grado n) Conectividad-106


N=8 n=3
Salto 2
1

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

Redes directas (anillo de grado n) Conectividad-107


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) Conectividad-108


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

Redes directas (anillo de grado n) Conectividad-109


N = 32 n = 5

Escalable ?

d = 4, d = ???

Redes directas (conexin total)


Grado, dimetro, escalable,
0

7
6

Conectividad-110

Redes directas (Grfica)

Conectividad-111

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

Redes directas (rbol, )


Grado, dimetro, escalable,

Conectividad-112

RBOL BINARIO
EQUILIBRADO
Fat Tree

RBOL BINARIO
K=1
2

4
2

K=2

K=3
K=4

Cuello de botella [trfico aleatorio]


Cmo encaminar A B?

ESTRELLA

Redes directas (rbol, )


Fat Tree Indirectas!

16

Conectividad-113

32

Ms nodos ms niveles? => ms latencia

Redes directas (rbol, )


Dragonfly high radix routers

local
channels

36, 100 .. 600


40Gb/s

Conectividad-114

Redes directas (malla)

Conectividad-115

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?

Redes directas (malla3D)

Conectividad-116

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 !

Redes directas (toroide)


Grado, dimetro, escalable,
TOROIDES (2D y 3D)
K=1

K=2

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


Anillo embebido !

Conectividad-117

Cables largos vs cortos


Muchos cruces

Redes directas (WK-Recursivo) Conectividad-118


Grado, dimetro, escalable,

Grado 3

(3,1)

Grado 4
(4,1)

(3,2)

(4,2)

(3,3)

(4,3)

Grado 5?

Redes directas (WK-Recursivo) Conectividad-119

(5,1)

(5,2)

Redes directas (hipercubo)


HIPERCUBO

N=2k nodos, k dimensiones = log2 N


Dim3

Dim1

Dim2

Conectividad-120

Dimetro = log2 N
Grado = log2 N

Fcil encaminar
Dim4

Escalable a costa de demasiado grado


Topologa cada vez menos utilizada

Redes directas (hipercubo)

Conectividad-121

Encaminamiento en HIPERCUBO (Sea N=16)


3

1.

4321

0110

1
4

0111
1111

2.

0010

0011

1010

Numerar nodos en binario. Nodos


adyacentes difieren en un bit (el
asociado a la direccin que les une)
Enviar mensaje por el enlace
asociado a la menor direccin
donde no coinciden bit del nodo
actual y bit del nodo destino

1000
0100

Realizar ORX ?

0101

0111 ORX 1010 = 1101


0000

Nodo actual

0001

0111

0110

0010

1010

Nodo destino 1010

1010

1010

1010

Redes directas (hipercubo con ciclos) Conectividad-122


Grado, dimetro, escalable,

K=3

HIPERCUBO CON CICLOS

2
3

1
2

4
4

Dimetro ?
3
3

4
3
5

4
4

Redes directas (Grafo de Kautz) Conectividad-123

Redes directas (Un ejemplo)


Cmo conectar unos 1024 nodos?
Topologa Dimetro Grado
Array lineal
1023
2*
Anillo2
512
2
Anillo10
9
10
Total
1
1023
rbol
M2D 32*32
WK 4ary 5rec

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

Redes directas (Tabla de Parmetros) Conectividad-125

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

Hipercubo con ciclos

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

Hipercubo con Encaminamiento Sw

Malla con Encaminamiento Hw (Sw de grano medio)


P y comunicaciones en el mismo chip (grano fino)

1988-1992

1993-1997

Multiprocessor systems-on-chips (MPSoCs)


Hoy 4..16 ncleos
Se llegar a 400 en 2020?

Redes indirectas (Barras cruzadas) Conectividad-127


P1

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

Redes indirectas (Multietapa)

crossbar
8*8

Conectividad-128

O (64)
Perfil 8*8 Reducir O( N2) a costa de ?
Latencia 1

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 )

Conectividad-129

Red de interconexin perfect Suffle


Limitado a N = potencia de 2

Viable: [a,f b,e c,h d,g]

N=2

NoViable: [a,f - c,e - ....]

N=4

Crossbar 24
Red 16

Redes indirectas (Red )

Conectividad-130

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 )

Conectividad-131

000

000

001

001

010
011

010
011

100

100

101

101

110
111

110
111

Permite difusin !

Redes indirectas (Tabla de parmetros) Conectividad-132

Latencia
Complejidad
Conmuta.
Perfil de
Comunicacin

BUS
CROSSBAR
MULTIETAPA

Bus

Multietapa Crossbar

Cte

Log2N*cte

cte

2 N log2N

N2

11

NN (*)

NN

Barato y limitado 2..32


Ms caro. Bueno para N moderado
Mayor ancho de banda y fcil encaminar
Compromiso entre Bus y Crossbar

Implantacin en el mercado (Dic/2012) Conectividad-133


#NODOS TIPO DE RED SUPERCOMPUTADOR
..N
Configurable
Bull systems
>50.000
Dragonfly
Cray Inc. XC30
.. 1.152
Toro 2y3D
Cray Inc. XKE6/XE6m
(96+96)*N
Toro 3D
Cray Inc. XK7
.. 4.096 ..?
Toro 3D + rbol
Eurotech Aurora
.. 98.304
Toro 6D
Fujitsu FX 10
.. 512
Crossbar multidim.
Hitachi SR 16000
.. 131.072
Toro 3y5D y rbol
IBM BlueGene/P&Q
256 x 2.048
Variable
IBM eServer p775
.. 8.192
Crossbar multidim.
NEC SX-9
.. 4.096
Toro 2D .. ?
SGI Altix UV

intercluster

Redes en Top500 (Nov/2012)

Conectividad-134

Vous aimerez peut-être aussi