INTRODUCCIÓN CONECTIVIDAD COPROCESAMIENTO MÁQUINAS MIMD MÁQUINAS SIMD arqAvaPar Curso 17/18 Horas 4 7 3 8 5 INTRODUCCIÓN CONECTIVIDAD COPROCESAMIENTO MÁQUINAS MIMD MÁQUINAS SIMD PARALELISMO INTERNO
arqAvaPar Temario Conectividad-2 “Designing Network On-Chip Architectures …” José Flich y …- 2011 [Capítulos 1 y 4] “Principles and Practices of Interconnection ...” William James Dally y … - 2004 [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 ()
arqAvaPar 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 !
arqAvaPar 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
arqAvaPar Introducción Conectividad-5 http://www.euroben.nl/reports/overview13.pdf ¿Consumo? Coste * 50 Gigabit Ethernet 0,1 29..120 24 puertos 5.500$ Intel OPA [Omni Path] 12,3 0,7 2016 38,4 GB/s 12,3 GB/s 40 MB/s
arqAvaPar Introducción Conectividad-6 2005: 30% consumo energía dinámica del chip y subiendo 2010: 2,2 Km/cm2 de cables dentro de un MPSOC ¡ LA RED TIENE UNA IMPORTANCIA VITAL !
arqAvaPar Introducción Conectividad-7 LAN WAN Sistema Placa ChipMulticore
arqAvaPar Introducción Conectividad-8 Sistema 36 placas www.sicortex.com SC5832 27 nodos Placa Chip 6 núcleos
arqAvaPar Introducción Conectividad-9 72 núcleos 96GB 100GF => 19.000€ 27/Mayo/2009: Quiebra
arqAvaPar Introducción Conectividad-10 IBM Sequoia #2 Nov/12 1.572.864 nodos Tom Willis Sep/2007 Intel Connects Cables
arqAvaPar 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 Defectos Tolerancia a fallos Áreas con frec. Reloj distintas NOC’s No tan regular
arqAvaPar 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
arqAvaPar 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
arqAvaPar 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
arqAvaPar 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
arqAvaPar 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”
arqAvaPar 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
arqAvaPar Caracterización por Grafos Conectividad-18 1.971 16 4004 Xeon MP 2.004 603 M 68000 64 1.989 ¡Muchos hilos! i7 7th 1.151 2.016 IMST805 84 1.996 2.001 Pentium III 370 2.011
arqAvaPar Caracterización por Grafos Conectividad-19 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
arqAvaPar Perfiles de Comunicación Conectividad-20 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
arqAvaPar Redes Medio Compartido (Bus) Conectividad-21 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 ¡ Con mucho esfuerzo ! ¿ Niveles cache ? 2011: Máx cores ≤ 16
arqAvaPar Redes Medio Compartido (Bus) Conectividad-22 Pentium 4 a 3,8GHz Bus de 64 bits y 800MHz ? ¿Ancho de banda? 8 * 800 = 6,4GBs Instrucciones Datos ? 1 29 2 50 3 65 4 42 5 43 6 12 7 37 TMedio inst ≈ 4 Bytes Sea 1GHz 4 GBs
arqAvaPar Redes Medio Compartido (Bus) Conectividad-23 Pentium 4 a 3,8GHz Bus de 64 bits y 800MHz ? ¿Ancho de banda? 8 * 800 = 6,4GBs Instrucciones Datos ? ¿Cuántos? ¿Tamaño? En procesadores RISC: ALU 40% Load 25% Store 15% Saltos 20% Cuántos Tamaño – PTLsim + bzip2 TMedio dato ≈ 4 Bytes Sea 1GHz 1,6 GBs + 4 GBs = ¡¡ 5,6GBs !!
arqAvaPar Redes Medio Compartido (Bus) Conectividad-24 ¿ Cuánto hit en cache “ld” ? Simulación con: PTLsim/X arquitectura tipo x86-64 L1D = 16KB [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 L1I 32K => 99,5%
arqAvaPar Redes Medio Compartido (Bus) Conectividad-25 Shared L2 cache L2 cache controler Shared Bus µP1 M1 Mj Mk µP2 µPi µPn L Shared L3 cache L3 cache controler Shared Bus
arqAvaPar Redes Medio Compartido (Bus) Conectividad-26 Bus pipelining Pedir bus Arbitrar Dar bus Usar bus AR ARB AG RQ ACK 1 2 3 4 5 P 1 2 3 4 5 6 RPLY Write Read ¿Cuántos ciclos 2W y 4R? 34 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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ?
arqAvaPar Redes Medio Compartido (Bus) Conectividad-27 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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 RPL ACK ¿ Mejora ? RqA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
arqAvaPar Redes Medio Compartido (Bus) Conectividad-28 Modo ráfaga (Burst): Transacciones largas (línea de caché) Normal Arb 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Cmd Dir Dato Arb Cmd Dir Dato Ráfaga ¿ Inconveniente ? arbitraje mensaje A mensaje B GrA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Cmd Dir Dato GrB ReA Eti Mensaje más prioritario Mensaje continuado
arqAvaPar Redes Medio Compartido (Bus) Conectividad-29 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
arqAvaPar Redes Medio Compartido (Bus) Conectividad-30 ¿BUSES NO? + Consumo + Capacitancia + Latencia: Señal se propaga más lenta Líneas más largas El arbitraje retrasa ¿ Tolerancia a fallos ? - Ancho de banda
arqAvaPar Redes Medio Compartido (Bus) Conectividad-31 Evolución FSB Intel
arqAvaPar Redes directas Conectividad-32 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
arqAvaPar Redes directas (Generalidades) Conectividad-33 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 …
arqAvaPar Redes directas (P 21364) Conectividad-34
arqAvaPar Redes directas ( Toro2D 21364 ) Conectividad-35 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 .. 128 nodos [8x16] .. 4 TB MP 12 diámetro .. 10GBseg 15nseg Lat
arqAvaPar Redes directas (P SiCortex) Conectividad-36 www.sicortex.com 500MHz 2007 2GBseg 1µseg Lat
arqAvaPar Redes directas (P SiCortex) Conectividad-37 Kautz Graph
arqAvaPar Redes directas (Intel Core i7…) Conectividad-38 www.intel.com/technology/quickpath/introduction.pdf 2008 19,2..25,6 GBseg
arqAvaPar Redes directas (Intel Core i7…) Conectividad-39
arqAvaPar Redes directas (Intel Xeon E5…) Conectividad-40 2012
arqAvaPar Redes directas (Intel Xeon Phi) Conectividad-41 Nov 2012: Intel lanza el coprocesador Xeon Phi (60/61 núcleos) 8 GBseg 70 GBseg
arqAvaPar Redes directas (Qualcomm) Conectividad-42 Ago 2017: Qualcomm lanza el Centriq 2400 con 48 núcleos ARM) 250 GBseg 31,6 GBseg
arqAvaPar Redes directas (Epiphany-16 …) Conectividad-43 Jul 2014: Sale a la venta masiva la placa “Parallella Epiphany-16” onChip Write Network offChip Write Read Request 8B / ciclo 1B / ciclo 1R / 8 ciclos 38,4Gbps 4,8Gbps 2,4Gbps
arqAvaPar Redes directas (Epiphany-16 …) Conectividad-44 Jul 2014: Sale a la venta masiva la placa “Parallella Epiphany-16”
arqAvaPar Redes directas (Epiphany-V) Conectividad-45 Oct 2016: Se presenta el Epiphany-V ?
arqAvaPar Encaminamiento (Modos) Conectividad-46 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
arqAvaPar Encaminamiento (Algoritmo) Conectividad-47 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, Epiphany … 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]
arqAvaPar Encaminamiento (Algoritmo) Conectividad-48 int a; 32KB int b; a = *bPtr; Epiphany-III Arbitraje Round Robin Broadcast Dir Dato Ctrl 32 64 8 fila col dirMemLocal 6 6 20 1MB 4096 cores
arqAvaPar Encaminamiento (wormhole) Conectividad-49 En conmutación de paquetes veremos dos técnicas: Origen Almacenamiento y reenvío Destino Buffer de paquete Los mensajes se dividen en paquetes (64..1024bits) 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)
arqAvaPar Encaminamiento (wormhole) Conectividad-50 Header Payload CRC 8 64 20 | 10 | 5 Flit Phit
arqAvaPar Encaminamiento (ejemplo) Conectividad-51 Distancia = 6 AlmaReen => 1.316 nseg Wormhole => 280 nseg casi 5 veces mejor 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 + 7 veces mejor Wormhole Distancia
arqAvaPar Encaminamiento (Interbloqueo) Conectividad-52
arqAvaPar Encaminamiento (Canales virtuales) Conectividad-53 B A D B A D ¿Otra forma de evitar el interbloqueo? Una forma de evitar el interbloqueo
arqAvaPar Encaminamiento (No interbloqueo) Conectividad-54 ? D C D C A B D A C B Full Duplex C D ? B A Algoritmo ordenado por dimensiones
arqAvaPar Encaminamiento (No interbloqueo) Conectividad-55 Algoritmo ordenado por dimensiones
arqAvaPar Redes directas (array, anillo) Conectividad-56 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
arqAvaPar Redes directas (array, anillo) Conectividad-57 “Navigation in a small world” – Jon M. Kleinberg Nature – 24 Agosto 2000 ?
arqAvaPar Redes directas (anillo de grado “n”) Conectividad-58 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
arqAvaPar Redes directas (anillo de grado “n”) Conectividad-59 N = 16 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
arqAvaPar Redes directas (anillo de grado “n”) Conectividad-60 N = 16 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?
arqAvaPar Redes directas (anillo de grado “n”) Conectividad-61 N = 32 n = 5 4 4 ¿ Escalable ? d = 4, d = ???
arqAvaPar Redes directas (conexión total) Conectividad-62 Grado, diámetro, escalable, … 1 2 3 4 5 6 7
arqAvaPar Redes directas (Gráfica) Conectividad-63 Moverse por aquí con menor grado
arqAvaPar Redes directas (árbol, …) Conectividad-64 Grado, diámetro, escalable, … ÁRBOL BINARIO K=1 K=2 K=3 K=4 Cuello de botella [tráfico aleatorio] ¿Cómo encaminar A B?
arqAvaPar Redes directas (árbol, …) Conectividad-65 Cuello de botella [tráfico => cada nodo un msj al resto: 31 nodos] 240 15 nodos 168 56 #msj? 36 84 14 30 #msj?
arqAvaPar Redes directas (árbol, …) Conectividad-66 Encaminar: N=15 0..14 ¿Quién es quién? δ = | subÁrbol | 7 7 3 1 3 11 2 1 4 6 5 8 10 9 12 14 13 Up 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 - δ Izq + δ Der
arqAvaPar Redes directas (árbol, …) Conectividad-67 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?
arqAvaPar Redes directas (árbol, …) Conectividad-68 32 16 8 Fat Tree ¡Indirectas! A B C D E F ¿ A0..A7 + B0..B7 C0..C15 ? ¿Más nodos más niveles? => más latencia
arqAvaPar Redes directas (árbol, …) Conectividad-69 Dragonfly “high radix routers” local channels 36, 100 .. 648 25,50,100Gb/s 16 | 32 | 64
arqAvaPar Redes directas (malla) Conectividad-70 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 102410*10*10 => D=27 ¿ Interbloqueos ? ¿Escalabilidad cuadrática o cúbica? ¿ Cuello de botella?
arqAvaPar Redes directas (malla3D) Conectividad-71 ¿Cuello de botella tráfico NN? 18 ¡ 18 msj por todos los enlaces en cada sentido !
arqAvaPar Redes directas (toroide) Conectividad-72 Grado, diámetro, escalable, … Cables largos vs cortos Muchos cruces TOROIDES (2D y 3D) K=1 K=2 T3D 102410*10*10 => D=15 ¡ Anillo embebido !
arqAvaPar Redes directas (toroide) Conectividad-73 Todos los cables de igual longitud Toroide plegado 12 15 13 14 8 11 9 10 3 1 2 4 7 5 6 8 4 9 5 1 10 6 2 11 3 7 12 13 14 15 2015
arqAvaPar Redes directas (WK-Recursivo) Conectividad-74 ? Grado, diámetro, escalable, … 1 3 7 Grado 3 (3,1) (3,3) (3,2) ¿Grado 5? (4,3) Grado 4 (4,1) (4,2)
arqAvaPar Redes directas (WK-Recursivo) Conectividad-75 (5,1) (5,2) WK (4,5) 1024 => D=31 Diámetro 1 3 7 15 31 Grado 3 9 27 81 243 Grado 4 4 16 64 256 1024 Grado 5 5 25 125 625 3125
arqAvaPar Redes directas (WK-Recursivo) Conectividad-76 ¿Cuello de botella tráfico NN? 16 5 9
arqAvaPar Redes directas (hipercubo) Conectividad-77 ‘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
arqAvaPar Redes directas (hipercubo) Conectividad-78 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 ¿Caminos distintos? 0110 1010 0010 1010 1010
arqAvaPar Redes directas (hipercubo con ciclos) Conectividad-79 org Cada nodo un anillo ¡ Grado 3 ! dst ¿ Diámetro ?
arqAvaPar Redes directas (hipercubo con ciclos) Conectividad-80 Grado, diámetro, escalable, … K=3 2 4 3 5 1 6 HIPERCUBO CON CICLOS HiperNodo Saltos Origen 1 Intermedio 2 K/2 Destino Diámetro = 1 + (k-1) * 2 + K/2 ¡ Comprobemos !
arqAvaPar Redes directas (Grafo de Kautz) Conectividad-81
arqAvaPar Redes directas (Un ejemplo) Conectividad-82 ¿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
arqAvaPar Redes directas (Tabla de Parámetros) Conectividad-83 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 - 1 + K/2
arqAvaPar Perspectiva histórica Conectividad-84 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 núcleos ¿Se llegará a 400 en 2020?
arqAvaPar Redes indirectas (Barras cruzadas) Conectividad-85 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
arqAvaPar Redes indirectas (Multietapa) Conectividad-86 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
arqAvaPar Redes indirectas (Red ) Conectividad-87 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
arqAvaPar Redes indirectas (Red ) Conectividad-88 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?
arqAvaPar Redes indirectas (Red ) Conectividad-89 101 000 001 010 011 100 110 111 000 001 010 011 100 101 110 111 ¡ Permite difusión !
arqAvaPar Redes indirectas (Tabla de parámetros) Conectividad-90 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
arqAvaPar Implantación en el mercado (Oct/2013) Conectividad-91 #NODOS TIPO DE RED SUPERCOMPUTADOR ..N Configurable Bull systems >50.000 Dragonfly Cray Inc. XC30 .. 1.152 Toro 2y3D Cray Inc. XE6/XE6m (96+96)*N Toro 3D Cray Inc. XK7 .. 4.096 ..? Toro 3D + Árbol Eurotech Aurora .. 98.304 Toro 6D Fujitsu PRIMEHPC FX 10 .. 512 Crossbar multidim. Hitachi SR 16000 .. 1.572.864 Toro 5D IBM BlueGene/Q 256 x 2.048 Variable IBM eServer p775 .. 8.192 Crossbar multidim. NEC SX-9 .. 4.096 Toro 2D .. ? SGI Altix UV intercluster
arqAvaPar Redes en Top500 (Nov/2017) Conectividad-92 FIN