Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Arquitecturas Paralelas Curso 13/14
Horas 5 6 INTRODUCCIÓN CONECTIVIDAD MÁQUINAS MIMD MÁQUINAS SIMD y SIMT SUPERESCALARES
2
arqPar Temario Conectividad-2
“Interconnection Networks. An engineering…” José Duato y … [Capítulos 1 y 2] “Principles and Practices of Interconnection ...” William James Dally y … [Cap: 1,2,3,22] CONECTIVIDAD Introducción Conceptos Clasificación de las redes Caracterización por Grafos Perfiles de comunicación Redes de medio de transmisión compartido (Buses) Redes directas (estáticas ) Encaminamiento Array lineal, anillo, ..., hipercubo Redes indirectas (dinámicas) Crossbar, redes multietapa ()
3
arqPar Introducción Conectividad-3
QUEREMOS MÁS VELOCIDAD: A menor Grano, mayor Grado TAREA µP1 µP2 µP3 µP4 µP5 ! AUMENTAN LAS NECESIDADES DE COMUNICACIÓN !
4
arqPar Introducción Conectividad-4
Comunicación Hw <===> Comunicación Sw Memoria Común (Load/Store) Comunicar µPi y Memoria Paso Mensajes (Send/Receive) Comunicar Pi con Pj µP1 µP2 µPi µPn R E D M1 Mj Mk P1 P2 Pi Pn R E D Es muy importante la Latencia y el Ancho de banda
5
arqPar Introducción Conectividad-5
¿Consumo? Coste * 50 Gigabit Ethernet 0,1 ¡ LA RED TIENE UNA IMPORTANCIA VITAL !
6
arqPar Introducción Conectividad-6
¡ LA RED TIENE UNA IMPORTANCIA VITAL !
7
arqPar Introducción Conectividad-7
LAN WAN Sistema Placa ChipMulticore
8
arqPar Introducción Conectividad-8
Sistema 36 placas SC5832 27 nodos Placa Chip 6 núcleos
9
arqPar Introducción Conectividad-9
72 núcleos 96GB 100GF => € 27/Mayo/2009: Quiebra
10
arqPar Introducción Conectividad-10
IBM Sequoia #2 Nov/12 nodos Tom Willis Sep/2007 Intel Connects Cables
11
arqPar Introducción Conectividad-11
LAN/WAN Internet Multiprocesadores … Millones de nodos Cientos .. Miles # Nodos dinámico Fijo Enlaces largos Cortos Red irregular Regular Latencia alta Baja
12
arqPar Conceptos Conectividad-12
CLASIFICACIÓN DE LAS REDES MEDIO DE TRANSMISIÓN COMPARTIDO DIRECTAS vs INDIRECTAS TOTAL vs PARCIALMENTE CONECTADAS CARACTERIZACIÓN POR GRAFOS GRADO Y DIÁMETRO PERFILES DE COMUNICACIÓN 1 => 1; N => N; 1 => N; N => 1
13
arqPar Clasificación de las Redes Conectividad-13
Medio de Transmisión Compartido: Ponerse de acuerdo en su uso (maestro/esclavo, …) Redes inalámbricas Redes locales Ethernet Token Ring Buses (Backplane) µP1 M1 µP2 µPi µPn Mj Mk Síncronos vs asíncronos Multiplexados Arbitraje del bus
14
arqPar Clasificación de las Redes Conectividad-14
Redes directas: Conexiones fijas entre los elementos (Pi, Pj) “invariables durante la ejecución” Acoplamiento débil P1 P4 P2 P3 Amplio uso en multicomputadores Los propios Nodos encaminan Los caminos del origen al destino pueden ser distintos
15
arqPar Clasificación de las Redes Conectividad-15
Redes indirectas: Conexiones varían entre los elementos (µPi, Mj) “variables durante la ejecución” µP1 µP2 µPi µPn R E D M1 Mj Mk Red Telefónica Acoplamiento fuerte Amplio uso en multiprocesadores Encamina la propia red
16
arqPar Clasificación de las Redes Conectividad-16
Totalmente conectadas: “Cada elemento tiene conexión directa con los demás” Parcialmente conectadas: ¡ conexas ! Latencia mínima (Lm) Menor coste O(n) Mayor latencia (2Lm) Encaminar más complejo Alto coste O(n2) No escalable Jerarquizadas: Aislar tráfico por “localidades”
17
arqPar Caracterización por Grafos Conectividad-17
Nodos => µP y/o Bancos de Memoria Aristas => Enlaces de comunicación Grado de un nodo: Líneas incidentes (Si unidireccionales Ge + Gs) 1 2 3 4 A B C D E Relacionado con el número de puertos E/S y, por lo tanto, con el coste Deseable constante y pequeño Grado de la red: El del nodo con mayor grado (4) Deseable regularidad Más conectividad => Menor latencia Mayor coste Compromiso en el Grado Menor conectividad => Más latencia Menor coste
18
arqPar Caracterización por Grafos Conectividad-18
Diámetro de la red: Camino más distante de entre los mínimos que unen a dos nodos cualesquiera. Métrica => Número de saltos => 2 ¿1, 2, 3, ? ¿5? => 2, 5, 4, 8, 7, 6 1 4 7 6 5 9 2 8 3 4 => 2, 5, 4, 3, 6 más corto Relación directa con la latencia
19
arqPar Perfiles de Comunicación Conectividad-19
Enlaces de comunicación establecidos concurrentemente. 1 => 1 Ventanilla única Bus Común N => N Varias Ventanillas T.V. News 1 => N Difusión, Broadcast, Multicast Reducción N => 1 Máquinas CRCW
20
arqPar Redes Medio Compartido (Bus I) Conectividad-20
Mj Mk µP2 µPi µPn ¿Cuántos Pi podré instalar? $ ¡ Cachés ! Pentium 4 a 3,8GHz Bus de 64 bits y 800MHz ¿Un único Pi satura el Bus? µP1 98% Hit ¡ Algunos problemas ! µP2 µPn colisiones Fallo costoso ¿ Niveles cache ?
21
arqPar Redes Medio Compartido (Bus II) Conectividad-21
¿ Cuánto hit en cache “ld” ? Simulación con: PTLsim/X arquitectura tipo x86-64 L1D = 32KB [128 conjuntos, 4 vías] SPEC CPU2006 400 millones de instrucciones simuladas Benchmark L1D L2 L3 88,3 65,2 22,7 L* 98,0 %Hit 16K 256K 4M
22
arqPar Redes Medio Compartido (Bus III) Conectividad-22
Shared L2 cache L2 cache controler Shared Bus µP1 M1 Mj Mk µP2 µPi µPn L Shared L3 cache L3 cache controler Shared Bus ¿ Soluciones ?
23
arqPar Redes Medio Compartido (Bus IV) Conectividad-23
Bus pipelining Pedir bus Arbitrar Dar bus Usar bus AR ARB AG RQ ACK P RPLY Write Read ¿Cuántos ciclos 2W y 4R? Con pipeline mejor read 1 write 2 write 3 read 4 read 5 read 6 bus ocupado AR ARB AG RQ RPL Stall P ACK ?
24
arqPar Redes Medio Compartido (Bus V) Conectividad-24
Split transaction: Pipelining + Dividir la transacción en dos read 1 resp 1 write 2 ack 2 write 3 ack 3 read 4 resp 4 read 5 resp 5 read 6 resp 6 AR ARB AG RQ Stall RPL ACK ¿ Mejora ? RqA RpA RqB RpB RqC RpC Transacciones variables: 1..6 ciclos 8 peticiones pendientes en SGI 112 peticiones pendientes en SUN E 6000 RpA RqA RqB RqC RpB RpC
25
arqPar Redes Medio Compartido (Bus VI) Conectividad-25
Modo ráfaga (Burst): Transacciones largas (línea de caché) Normal Arb Cmd Dir Dato Arb Cmd Dir Dato Ráfaga ¿ Inconveniente ? arbitraje mensaje A mensaje B GrA Cmd Dir Dato GrB ReA Eti Mensaje más prioritario Mensaje continuado
26
arqPar Redes Medio Compartido (Bus VII) Conectividad-26
Buses jerárquicos Concluyendo Cachés (L1, L2 y L3) Pipelining Split Transaction Modo ráfaga Buses Jerárquicos Buses Múltiples Muy costoso + 32µP Difusión Serialización Buses múltiples Frecuencia Secuencial
27
arqPar Redes Medio Compartido (Bus VIII) Conectividad-27
Evolución FSB Intel
28
arqPar Redes directas Conectividad-28
Generalidades Encaminamiento Menor diámetro aumentando el grado Array lineal Anillo simple y de grado “n” Conectividad total Compromiso grado vs diámetro y muchos nodos Árbol, Fat Tree y Estrella Mallas, Toroides y WK-rec Hipercubo con y sin ciclo Tabla de parámetros
29
arqPar Redes directas (Generalidades) Conectividad-29
Pn L2 Switch MultiC más integrado De otros nodos A otros nodos P M IC Red con enlaces directos entre Pi Buffers Arbitraje Encamina. Nodos => PC’s o similares Ejemplos: Alpha 21364, SiCortex, Intel Core i7 y SCC
30
arqPar Redes directas (P 21364) Conectividad-30
31
arqPar Redes directas ( Toro2D 21364 ) Conectividad-31
Here’s the block diagram of a 12 processor system using the 2D torus topology. Each processor may have its own local memory and may have its own local I/O connection. It is possible for a processor to operate in the system without memory or I/O if that is attractive nodos [8x16] .. 4 TB MP 12 diámetro .. 10GBseg 15nseg Lat
32
arqPar Redes directas (P SiCortex) Conectividad-32
500MHz 2GBseg 1µseg Lat
33
arqPar Redes directas (P SiCortex) Conectividad-33
Kautz Graph
34
arqPar Redes directas (Intel Core i7…) Conectividad-34
19,2..25,6 GBseg
35
arqPar Redes directas (Intel Core i7…) Conectividad-35
36
arqPar Redes directas (Intel Xeon E5…) Conectividad-36
37
arqPar Redes directas (Intel SCC …) Conectividad-37
Mayo 2010: Intel lanza de forma selectiva el SCC [prototipo] 48 IA-32 núcleos 64 GBseg Memoria común sin coherencia Sw
38
arqPar Redes directas (Intel SCC …) Conectividad-38
Nov 2012: Intel lanza el coprocesador Xeon Phi (60/61 núcleos)
39
arqPar Encaminamiento (Modos) Conectividad-39
Mecanismo Hw/Sw para que la información llegue del origen al destino. Hay que distinguir entre: Algoritmo: Elección del camino y gestión de conflictos Técnica: Modo de propagar la información 1 4 7 6 5 9 2 8 3 Conmutación de paquetes Redes directas Conmutación de circuitos Redes indirectas
40
arqPar Encaminamiento (Algoritmo) Conectividad-40
0,0 0,1 0,2 0,7 0,3 0,4 0,5 0,6 1,0 2,0 7,0 3,0 4,0 5,0 6,0 8x8 = 64 nodos Diámetro = 7+7=14 Numerar nodo 0..63 fila col 0..7 C D En origen: C[3,4] => D[1,6] A B Dinámico: A[2,3] => B[5,1] E datos L 5,1 SiCortex, Intel QuickPath, … Algo: MovCol+MovFila E datos L 1,6 ,N,N,E,E E datos L 1,6 ,N,N,E N[00], E[01], S[10], O[11]
41
arqPar Encaminamiento (wormhole) Conectividad-41
En conmutación de paquetes veremos dos técnicas: Origen Almacenamiento y reenvío Destino Buffer de paquete Los mensajes se dividen en paquetes ( bits) y se envían paquete a paquete Buffer de flit Los paquetes se dividen en flits (2..64bits) y se envían flit a flit 2 1 2 1 1 1 2 Elevada latencia (3*Tiempo trans. Paquete “Ttp”) Origen “Wormhole” Destino ¿Similar a IP/ATM MPLS? Mejora la latencia (2*Tiempo trans. Flit + Ttp)
42
arqPar Encaminamiento (wormhole) Conectividad-42
Header Payload CRC 8 64 20 | 10 | 5 Flit Phit
43
arqPar Encaminamiento (ejemplo) Conectividad-43
Almacena y Reenvío Toro2D 8*16 Alpha 21364 Diámetro = 12 Flit = 39 b Paquete = 702b Ancho Banda = 3,2Gb*seg Tflit = 12,1875nseg Tpaq = 219,375nseg AlmaReen => 2.632,5 nseg Wormhole => ,4 nseg Latencia + 7 veces mejor Wormhole Distancia
44
arqPar Encaminamiento (Interbloqueo) Conectividad-44
45
arqPar Encaminamiento (Canales virtuales) Conectividad-45
B A D B A D Una forma de evitar el interbloqueo
46
arqPar Redes directas (array, anillo) Conectividad-46
Grado, diámetro, escalable, … ARRAY LINEAL 1 2 3 4 5 6 7 ANILLO (DE GRADO 2) 1 2 3 4 5 6 7 ANILLO (DE GRADO ‘n’ 3) 1 2 3 4 5 6 7
47
arqPar Redes directas (array, anillo) Conectividad-47
“Navigation in a small world” – Jon M. Kleinberg Nature – 24 Agosto 2000
48
arqPar Redes directas (anillo de grado “n”) Conectividad-48
N = 8 n = 3 Salto 2 Salto 3 Salto 4 1 1 3 2 1 2 2 3 d = 3, d = 1,71 d = 3, d = 1,71 d = 2, d = 1,57
49
arqPar Redes directas (anillo de grado “n”) Conectividad-49
N = n = 3 Salto 2 Salto 3 Salto 4 d = 6, d = 3,2 6 5 d = 5, d = 2,67 4 d = 4, d = 2,27 Salto 5 iguala y 7 y 8 empeoran
50
arqPar Redes directas (anillo de grado “n”) Conectividad-50
N = n = 4 Salto 3 Salto 4 Salto 5 3 d = 3, d = 2 d = 4, d = 2,13 4 4 d = 4, d = 2,13 ¿Cómo podría ser N=32 y n=5?
51
arqPar Redes directas (anillo de grado “n”) Conectividad-51
N = n = 5 4 4 ¿ Escalable ? d = 4, d = ???
52
arqPar Redes directas (conexión total) Conectividad-52
Grado, diámetro, escalable, … 1 2 3 4 5 6 7
53
arqPar Redes directas (Gráfica) Conectividad-53
Moverse por aquí con menor grado
54
arqPar Redes directas (árbol, …) Conectividad-54
Grado, diámetro, escalable, … ÁRBOL BINARIO EQUILIBRADO “Fat Tree” 2 4 ÁRBOL BINARIO K=1 K=2 K=3 K=4 ESTRELLA Cuello de botella [tráfico aleatorio] ¿Cómo encaminar A B?
55
arqPar Redes directas (árbol, …) Conectividad-55
32 16 8 Fat Tree ¡Indirectas! ¿Más nodos más niveles? => más latencia
56
arqPar Redes directas (árbol, …) Conectividad-56
Dragonfly “high radix routers” local channels 36, 40Gb/s
57
arqPar Redes directas (malla) Conectividad-57
Grado, diámetro, escalable, … K=3 MALLA 3D MALLA 2D K=1 K=2 Encaminamiento ordenado por direcciones O(1,1,1) D(3,3,3) O(2,2,1) D(3,3,2) ¡Colisión! M3D *10*10 => D=27 ¿ Interbloqueos ? ¿Escalabilidad cuadrática o cúbica? ¿ Cuello de botella?
58
arqPar Redes directas (malla3D) Conectividad-58
¿Cuello de botella tráfico NN? 18 ¡ 18 msj por todos los enlaces en cada sentido !
59
arqPar Redes directas (toroide) Conectividad-59
Grado, diámetro, escalable, … Cables largos vs cortos Muchos cruces TOROIDES (2D y 3D) K=1 K=2 T3D *10*10 => D=15 ¡ Anillo embebido !
60
arqPar Redes directas (WK-Recursivo) Conectividad-60
Grado, diámetro, escalable, … Grado 3 (3,1) (3,3) (3,2) ¿Grado 5? (4,3) Grado 4 (4,1) (4,2)
61
arqPar Redes directas (WK-Recursivo) Conectividad-61
(5,1) (5,2)
62
arqPar Redes directas (hipercubo) Conectividad-62
‘N=2k’ nodos, ‘k’ dimensiones = log2 N Dim3 Dim1 Dim2 Diámetro = log2 N Grado = log2 N Fácil encaminar Dim4 Escalable a costa de demasiado grado Topología cada vez menos utilizada
63
arqPar Redes directas (hipercubo) Conectividad-63
Encaminamiento en HIPERCUBO (Sea N=16) 1 2 3 4 1. Numerar nodos en binario. Nodos adyacentes difieren en un bit (el asociado a la dirección que les une) 0000 4321 1010 1111 0101 0111 0110 0011 Nodo actual 0111 Nodo destino 1010 2. Enviar mensaje por el enlace asociado a la menor dirección donde no coinciden bit del nodo actual y bit del nodo destino 0001 0010 0100 1000 ¿ Realizar ORX ? 0111 ORX 1010 = 1101 0110 1010 0010 1010 1010
64
arqPar Redes directas (hipercubo con ciclos) Conectividad-64
Grado, diámetro, escalable, … K=3 2 4 3 5 1 6 HIPERCUBO CON CICLOS ¿ Diámetro ?
65
arqPar Redes directas (Grafo de Kautz) Conectividad-65
66
arqPar Redes directas (Un ejemplo) Conectividad-66
¿Cómo conectar unos 1024 nodos? Topología Diámetro Grado Total 1 1023 Anillo10 9 10 Anillo2 512 2 Array lineal 2* WK 4ary 5rec 31 4* M2D 32*32 62 Árbol 18 3* M3D 10*10*10 27 6* T3D 10*10*10 15 6 Hipercubo 10 10 HiperCiclo 7 3 896 N Grafo Kautz 6 972 N 16
67
arqPar Redes directas (Tabla de Parámetros) Conectividad-67
Topología Grado Diámetro Nº de nodos Array lineal Anillo Anillo de grado ‘n’ Árbol binario Árbol binario equilibrado Estrella Malla Toroide Hipercubo Hipercubo con ciclos N 2 N-1 N/2 n=log2N n-1 2K-1 3 2*(K-1) 2K nK 2*K K*(n-1) K* n/2 K K*2K 2*K K/2
68
arqPar Perspectiva histórica Conectividad-68
MIMD HWANG (1993) IDENTIFICA TRES GENERACIONES: Hipercubo con Encaminamiento Sw Malla con Encaminamiento Hw (Sw de grano medio) µP y comunicaciones en el mismo chip (grano fino) Multiprocessor systems-on-chips (MPSoCs) Hoy núcleos ¿Se llegará a 400 en 2020?
69
arqPar Redes indirectas (Barras cruzadas) Conectividad-69
Perfil N*M O (N2) Muchas patas P2 P3 “Crossbar” Pn M1 M2 M3 Mm 8x8 OnChip mm2 => 5 núcleos W => 2 núcleos Funcionalidad de los conmutadores simples: difusión colisión
70
arqPar Redes indirectas (Multietapa) Conectividad-70
crossbar 8*8 O (64) Perfil 8*8 Latencia 1 ¿ Reducir O( N2) a costa de … ? Usar sólo crossbar 2*2 cruce difusión colisión directo etapa 1 etapa 2 etapa m Red de interconexión Conjunto de crossbar 2*2
71
arqPar Redes indirectas (Red ) Conectividad-71
Red de interconexión “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 a b c d e f g h Crossbar 24 Red 16
72
arqPar Redes indirectas (Red ) Conectividad-72
Red de interconexión “perfect Suffle” Limitado a N = potencia de 2 Colisión 000 001 010 011 100 101 110 111 ¿Encaminamiento? Sea de 001 a 010 001 010 011 001 100 001 010 001 010 001 010 110 101 Bit igual => directo Bit distinto => cruce ¿ Latencia y O( ) ? ¿Mejorable?
73
arqPar Redes indirectas (Red ) Conectividad-73
101 000 001 010 011 100 110 111 000 001 010 011 100 101 110 111 ¡ Permite difusión !
74
arqPar Redes indirectas (Tabla de parámetros) Conectividad-74
BUS Barato y limitado 2..32 CROSSBAR Más caro. Bueno para N moderado Mayor ancho de banda y fácil encaminar MULTIETAPA Compromiso entre Bus y Crossbar
75
arqPar Implantación en el mercado (Oct/2013) Conectividad-75
#NODOS TIPO DE RED SUPERCOMPUTADOR ..N Configurable Bull systems > Dragonfly Cray Inc. XC30 Toro 2y3D Cray Inc. XE6/XE6m (96+96)*N Toro 3D Cray Inc. XK7 ? Toro 3D + Árbol Eurotech Aurora Toro 6D Fujitsu PRIMEHPC FX 10 Crossbar multidim. Hitachi SR 16000 Toro 5D IBM BlueGene/Q 256 x Variable IBM eServer p775 Crossbar multidim. NEC SX-9 Toro 2D .. ? SGI Altix UV intercluster
76
arqPar Redes en Top500 (Nov/2013) Conectividad-76
FIN
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.