760 likes | 895 Views
Arquitecturas Paralelas Curso 13/14. Horas 5 6 6 5 5. INTRODUCCIÓN CONECTIVIDAD MÁQUINAS MIMD MÁQUINAS SIMD y SIMT SUPERESCALARES. arqPar Temario Conectividad- 2. CONECTIVIDAD Introducción Conceptos Clasificación de las redes Caracterización por Grafos Perfiles de comunicación
E N D
Arquitecturas Paralelas Curso 13/14 Horas 5 6 6 5 5 • INTRODUCCIÓN • CONECTIVIDAD • MÁQUINAS MIMD • MÁQUINAS SIMD y SIMT • SUPERESCALARES
arqPar Temario Conectividad-2 • 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 () “Interconnection Networks. An engineering…” José Duato y …- 2003 [Capítulos 1 y 2] “Principles and Practices of Interconnection ...” William James Dally y … - 2004 [Cap: 1,2,3,22]
arqPar Introducción Conectividad-3 TAREA µP1 µP2 µP3 µP4 µP5 QUEREMOS MÁS VELOCIDAD: A menor Grano, mayor Grado ! AUMENTAN LAS NECESIDADES DE COMUNICACIÓN !
arqPar Introducción Conectividad-4 µP1 µP2 µPi µPn P1 P2 Pi Pn R E D R E D M1 Mj Mk Comunicación Hw <===> Comunicación Sw Memoria Común (Load/Store) Comunicar µPi y Memoria Paso Mensajes (Send/Receive) Comunicar Pi con Pj Es muy importante la Latencia y elAncho de banda
arqPar Introducción Conectividad-5 http://www.euroben.nl/reports/overview13.pdf ¿Consumo? Coste * 50 Gigabit Ethernet 0,1 29..120 ¡ LA RED TIENE UNA IMPORTANCIA VITAL !
arqPar Introducción Conectividad-6 ¡ LA RED TIENE UNA IMPORTANCIA VITAL !
arqPar Introducción Conectividad-7 Sistema Placa ChipMulticore WAN LAN
arqPar Introducción Conectividad-8 Sistema www.sicortex.comSC5832 36 placas 27 nodos Placa Chip 6 núcleos
arqPar Introducción Conectividad-9 72 núcleos 96GB 100GF => 19.000€ 27/Mayo/2009: Quiebra
arqPar Introducción Conectividad-10 Tom Willis Sep/2007 Intel Connects Cables IBM Sequoia #2 Nov/12 1.572.864 nodos
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
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
arqPar Clasificación de las Redes Conectividad-13 Redes locales Buses (Backplane) µP1 µP2 µPi µPn Ethernet M1 Mj Mk Token Ring • Medio de Transmisión Compartido: Ponerse de acuerdo en su uso (maestro/esclavo, …) Redes inalámbricas • Síncronos vs asíncronos • Multiplexados • Arbitraje del bus
arqPar Clasificación de las Redes Conectividad-14 P1 P2 P4 P3 • Redes directas: Conexiones fijas entre los elementos (Pi, Pj) “invariables durante la ejecución” • Acoplamiento débil • Amplio uso en multicomputadores • Los propios Nodos encaminan • Los caminos del origen al • destino pueden ser distintos
arqPar Clasificación de las Redes Conectividad-15 µP1 µP2 µPi µPn R E D Red Telefónica M1 Mj Mk • Redes indirectas: Conexiones varían entre los elementos (µPi, Mj) “variables durante la ejecución” • Acoplamiento fuerte • Amplio uso en multiprocesadores • Encamina la propia red
arqPar Clasificación de las Redes Conectividad-16 • Parcialmente conectadas: • ¡ conexas ! Latencia mínima (Lm) Mayor latencia (2Lm) Alto coste O(n2) Menor coste O(n) Encaminar más complejo No escalable • Jerarquizadas:Aislar tráfico por “localidades” • Totalmente conectadas: “Cada elemento tiene conexión directa con los demás”
arqPar Caracterización por Grafos Conectividad-17 1 A 4 B 2 C D 2 E 3 Más conectividad => Menor latencia Mayor coste Menor conectividad => Más latencia Menor coste Nodos => µP y/o Bancos de Memoria Aristas => Enlaces de comunicación • Grado de un nodo: Líneas incidentes (Si unidireccionales Ge + Gs) • 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 • Compromiso en el Grado
arqPar Caracterización por Grafos Conectividad-18 ¿1, 2, 3, ......? 1 2 ¿5? => 2, 5, 4, 8, 7, 6 4 => 2, 5, 4, 3, 6 más corto 3 4 5 6 7 8 9 • 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 • Relación directa con la latencia
arqPar Perfiles de Comunicación Conectividad-19 1 => 1 Ventanilla única N => N Varias Ventanillas Bus Común 1 => N T.V. News N => 1 Reducción Difusión, Broadcast, Multicast Máquinas CRCW • Enlaces de comunicación establecidos concurrentemente.
arqPar Redes Medio Compartido (Bus I) Conectividad-20 µP1 µP2 µPi µPn $ $ $ $ M1 Mj Mk ¡ Cachés ! $ 98% Hit µPn Fallo costoso colisiones µP2 µP1 ¿Cuántos Pi podré instalar? Pentium 4 a 3,8GHz Bus de 64 bits y 800MHz ¿Un único Pi satura el Bus? ¡ Algunos problemas ! ¿ Niveles cache ?
arqPar Redes Medio Compartido (Bus II) Conectividad-21 • ¿ Cuánto hit en cache “ld” ? Benchmark Benchmark %Hit L1D 88,3 16K L2 65,2 256K L3 22,7 4M L* 98,0 • Simulación con: • PTLsim/X arquitectura tipo x86-64 • L1D = 32KB [128 conjuntos, 4 vías] • SPEC CPU2006 • 400 millones de instrucciones simuladas
arqPar Redes Medio Compartido (Bus III) Conectividad-22 µP1 µP2 µPi µPn M1 Mj Mk L L L L Shared Bus Shared L2 cache L2 cache controler Shared Bus L3 cache controler Shared L3 cache ¿ Soluciones ?
arqPar Redes Medio Compartido (Bus IV) Conectividad-23 Write Read 1 2 3 4 5 1 2 3 4 5 6 AR ARB AG RQ ACK AR ARB AG RQ P RPLY Pedir bus Arbitrar Dar bus Usar bus 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 read 1 write 2 write 3 read 4 read 5 read 6 bus ocupado AR ARB AG RQ P RPL AR ARB AG Stall Stall RQ ACK AR ARB Stall Stall AG Stall RQ ACK Stall Stall ARB Stall AG Stall RQ P RPL AR AR Stall ARB Stall AG RQ P RPL Stall Stall Stall RQ AR ARB AG P RPL • Bus pipelining ¿Cuántos ciclos 2W y 4R? Con pipeline mejor ?
arqPar Redes Medio Compartido (Bus V) Conectividad-24 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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 AR AR AR ARB ARB ARB ARB AG AG AG AG RQ RQ RQ RQ AR AR AR AR AR AR ARB ARB ARB ARB ARB ARB AG AG AG AG AG AG RPL ACK RPL ACK RPL RPL Stall Stall Stall Stall Stall Stall Stall Stall AG AG RQ RQ AR AR ARB ARB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Transacciones variables: 1..6 ciclos RqA RpA RqB RpB RqC RpC RqA RpA RqB RpB RqC RpC • Split transaction: Pipelining + Dividir la transacción en dos ¿ Mejora ? 8 peticiones pendientes en SGI 112 peticiones pendientes en SUN E 6000
arqPar Redes Medio Compartido (Bus VI) Conectividad-25 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 Dir Dato Cmd Dato Dato Dato Ráfaga 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 arbitraje mensaje A mensaje B GrA GrB ReA Cmd Dir Dato Dato Dato Dato Eti Dato Dato Dato Dato Cmd Dir Dato Mensaje más prioritario Mensaje continuado • Modo ráfaga (Burst): Transacciones largas (línea de caché) ¿ Inconveniente ?
arqPar Redes Medio Compartido (Bus VII) Conectividad-26 • Buses múltiples • 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 Frecuencia Secuencial
arqPar Redes Medio Compartido (Bus VIII) Conectividad-27 • Evolución FSB Intel
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
arqPar Redes directas (Generalidades) Conectividad-29 MultiC más integrado De otros nodos A otros nodos P P M M IC IC Switch Red con enlaces directos entre Pi Pn L2 • Buffers • Arbitraje • Encamina. IC P M Nodos => PC’s o similares Ejemplos: Alpha 21364, SiCortex, Intel Core i7 y SCC
arqPar Redes directas ( Toro2D 21364 ) Conectividad-31 .. 128 nodos [8x16] .. 4 TB MP 12 diámetro .. 10GBseg 15nseg Lat
arqPar Redes directas (P SiCortex) Conectividad-32 500MHz 2GBseg 1µseg Lat www.sicortex.com
arqPar Redes directas (P SiCortex) Conectividad-33 Kautz Graph
arqPar Redes directas (Intel Core i7…) Conectividad-34 19,2..25,6 GBseg www.intel.com/technology/quickpath/introduction.pdf
arqPar Redes directas (Intel SCC …) Conectividad-37 http://techresearch.intel.com/spaw2/uploads/files/SCC_Platform_Overview.pdf • Mayo 2010: Intel lanza de forma selectiva el SCC [prototipo] 48 IA-32 núcleos 64 GBseg Memoria común sin coherencia Sw
arqPar Redes directas (Intel SCC …) Conectividad-38 • Nov 2012: Intel lanza el coprocesador Xeon Phi (60/61 núcleos)
arqPar Encaminamiento (Modos) Conectividad-39 1 2 Conmutación de paquetes Conmutación de circuitos 3 4 5 6 7 8 9 Redes indirectas Redes directas • 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
arqPar Encaminamiento (Algoritmo) Conectividad-40 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 8x8 = 64 nodos Diámetro = 7+7=14 Numerar nodo 0..63 1,0 D fila col • Dinámico: A[2,3] => B[5,1] 2,0 A 0..7 0..7 E L 5,1 datos 3,0 C Algo: MovCol+MovFila 4,0 • En origen: C[3,4] => D[1,6] 5,0 B 6,0 E E datos datos L L ,N,N,E,E ,N,N,E 1,6 1,6 7,0 SiCortex, Intel QuickPath, … N[00], E[01], S[10], O[11]
arqPar Encaminamiento (wormhole) Conectividad-41 Almacenamiento y reenvío “Wormhole” Buffer de paquete Los mensajes se dividen en paquetes (64..1024bits) y se envían paquete a paquete Origen Origen Destino Destino 2 1 0 2 1 0 Buffer de flit Los paquetes se dividen en flits (2..64bits) y se envían flit a flit 0 1 2 0 2 1 1 0 0 • En conmutación de paquetes veremos dos técnicas: Elevada latencia (3*Tiempo trans. Paquete “Ttp”) ¿Similar a IP/ATM MPLS? Mejora la latencia (2*Tiempo trans. Flit + Ttp)
arqPar Encaminamiento (wormhole) Conectividad-42 Flit Phit 8 64 8 20 | 10 | 5 Header Payload CRC
arqPar Encaminamiento (ejemplo) Conectividad-43 + 7 veces mejor Wormhole 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 => 353,4 nseg Latencia Distancia
arqPar Encaminamiento (Interbloqueo) Conectividad-44 C A B C D C D D D D B C B C A A A A B B ¡ Interbloqueo !
arqPar Encaminamiento (Canales virtuales) Conectividad-45 A A D D B A D Una forma de evitar el interbloqueo B
arqPar Redes directas (array, anillo) Conectividad-46 0 0 1 1 7 7 • Grado, diámetro, escalable, … 0 1 2 3 4 5 6 7 ARRAY LINEAL 2 2 ANILLO (DE GRADO 2) ANILLO (DE GRADO ‘n’ 3) 6 6 3 3 4 4 5 5
arqPar Redes directas (array, anillo) Conectividad-47 “Navigation in a small world” – Jon M. Kleinberg Nature – 24 Agosto 2000
arqPar Redes directas (anillo de grado “n”) Conectividad-48 Salto 2 Salto 3 Salto 4 1 1 1 1 1 1 1 2 2 2 2 2 2 1 2 2 1 2 3 d = 2, d = 1,57 d = 3, d = 1,71 d = 3, d = 1,71 2 3 N = 8 n = 3
arqPar Redes directas (anillo de grado “n”) Conectividad-49 Salto 2 Salto 3 Salto 4 5 6 4 d = 6, d = 3,2 d = 5, d = 2,67 d = 4, d = 2,27 N = 16 n = 3 Salto 5 iguala y 7 y 8 empeoran
arqPar Redes directas (anillo de grado “n”) Conectividad-50 Salto 3 Salto 4 Salto 5 3 4 4 d = 4, d = 2,13 d = 3, d = 2 d = 4, d = 2,13 N = 16 n = 4 ¿Cómo podría ser N=32 y n=5?