La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Arquitecturas ParalelasCurso 13/14 1INTRODUCCIÓN 2CONECTIVIDAD 3MÁQUINAS MIMD 4MÁQUINAS SIMD y SIMT 5SUPERESCALARES Horas 5 6 5.

Presentaciones similares


Presentación del tema: "Arquitecturas ParalelasCurso 13/14 1INTRODUCCIÓN 2CONECTIVIDAD 3MÁQUINAS MIMD 4MÁQUINAS SIMD y SIMT 5SUPERESCALARES Horas 5 6 5."— Transcripción de la presentación:

1 Arquitecturas ParalelasCurso 13/14 1INTRODUCCIÓN 2CONECTIVIDAD 3MÁQUINAS MIMD 4MÁQUINAS SIMD y SIMT 5SUPERESCALARES Horas 5 6 5

2 arqParTemarioConectividad-2 2CONECTIVIDAD 1Introducción 2Conceptos 1Clasificación de las redes 2Caracterización por Grafos 3Perfiles de comunicación 3Redes de medio de transmisión compartido (Buses) 4Redes directas (estáticas ) 1Encaminamiento 2Array lineal, anillo,..., hipercubo 5Redes indirectas (dinámicas) 1Crossbar, redes multietapa ( ) 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]

3 arqPar IntroducciónConectividad-3 QUEREMOS MÁS VELOCIDAD: A menor Grano, mayor Grado µP 1 TAREAµP 2 µP 3 µP 4 µP 5 ! AUMENTAN LAS NECESIDADES DE COMUNICACIÓN !

4 arqPar IntroducciónConectividad-4 Comunicación Hw Comunicación Sw Memoria Común (Load/Store) Comunicar µPi y Memoria Paso Mensajes (Send/Receive) Comunicar Pi con Pj µP 1 µP 2 µP i µP n R E D M1M1 MjMj MkMk P1P1 P2P2 PiPi PnPn Es muy importante la Latencia y el Ancho de banda

5 arqPar IntroducciónConectividad-5 ¡ LA RED TIENE UNA IMPORTANCIA VITAL ! Gigabit Ethernet0, Coste * 50 ¿Consumo?

6 arqPar IntroducciónConectividad-6 ¡ LA RED TIENE UNA IMPORTANCIA VITAL !

7 LAN WAN arqPar IntroducciónConectividad-7 Sistema Placa ChipMulticore

8 arqPar IntroducciónConectividad-8 Sistema PlacaChip SC nodos 36 placas 6 núcleos

9 arqPar IntroducciónConectividad-9 72 núcleos 96GB 100GF => /Mayo/2009: Quiebra

10 arqPar IntroducciónConectividad-10 Tom Willis Sep/2007 Intel Connects Cables IBM Sequoia #2 Nov/ nodos

11 arqPar IntroducciónConectividad-11 LAN/WAN Internet Multiprocesadores … Millones de nodosCientos.. Miles # Nodos dinámicoFijo Enlaces largosCortos Red irregularRegular Latencia altaBaja

12 arqPar ConceptosConectividad-12 CLASIFICACIÓN DE LAS REDES –MEDIO DE TRANSMISIÓN COMPARTIDO –DIRECTAS vs INDIRECTAS –TOTAL vs PARCIALMENTE CONECTADAS PERFILES DE COMUNICACIÓN – 1 => 1; N => N; 1 => N; N => 1 CARACTERIZACIÓN POR GRAFOS –GRADO Y DIÁMETRO

13 arqPar Clasificación de las RedesConectividad-13 Medio de Transmisión Compartido: Ponerse de acuerdo en su uso (maestro/esclavo, …) Síncronos vs asíncronos Multiplexados Arbitraje del bus Redes locales Ethernet Token Ring µP 2 µP i µP n MjMj MkMk Buses (Backplane) µP 1 M1M1 Redes inalámbricas

14 arqPar Clasificación de las RedesConectividad-14 Redes directas: Conexiones fijas entre los elementos (Pi, Pj) invariables durante la ejecución P1P1 P4P4 P2P2 P3P3 Acoplamiento débil Amplio uso en multicomputadores Los propios Nodos encaminan Los caminos del origen al destino pueden ser distintos

15 Red Telefónica arqPar Clasificación de las RedesConectividad-15 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 µP 1 µP 2 µP i µP n R E D M1M1 MjMj MkMk

16 arqPar Clasificación de las RedesConectividad-16 Totalmente conectadas: Cada elemento tiene conexión directa con los demás Parcialmente conectadas: ¡ conexas ! Jerarquizadas: Aislar tráfico por localidades Latencia mínima (L m ) Alto coste O(n 2 ) No escalable Menor coste O(n) Mayor latencia (2L m ) Encaminar más complejo

17 arqPar Caracterización por GrafosConectividad-17 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 Más conectividad => Menor latencia Mayor coste Menor conectividad => Más latencia Menor coste A B C D E

18 arqPar Caracterización por GrafosConectividad-18 Diámetro de la red: Camino más distante de entre los mínimos que unen a dos nodos cualesquiera. Relación directa con la latencia ¿1, 2, 3,......? Métrica => Número de saltos => ¿5? => 2, 5, 4, 8, 7, 6 4 => 2, 5, 4, 3, 6 más corto

19 arqPar Perfiles de ComunicaciónConectividad-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 µP 1 M1M1 MjMj MkMk µP 2 µP i µP n ¿Cuántos Pi podré instalar? Pentium 4 a 3,8GHz Bus de 64 bits y 800MHz ¿Un único Pi satura el Bus? $$$$ $ ¡ Cachés ! µP2µP2 µPnµPn ¡ Algunos problemas ! Fallo costoso µP1µP1 98% Hit colisiones ¿ 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 CPU 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 µP 1 M1M1 MjMj MkMk µP 2 µP i µP n LLLL Shared L3 cache L3 cache controler Shared Bus Shared L2 cache L2 cache controler Shared Bus ¿ Soluciones ?

23 arqPar Redes Medio Compartido (Bus IV)Conectividad-23 Bus pipelining Pedir bus Arbitrar Dar bus Usar bus ARARBAGRQACK ARARBAGRQP RPLY WriteRead ¿Cuántos ciclos 2W y 4R? read 1 write 2 write 3 read 4 read 5 read 6 bus ocupado ARARBAGRQRPL ARARBAG Stall P RQACK ARARBStall AGStallRQACK AR Stall ARBStallAGStallRQRPLP ARStallARBStallAGRQRPLP AR Stall ARBAG Stall RQ RPLP Con pipeline mejor ?

24 arqPar Redes Medio Compartido (Bus V)Conectividad-24 Split transaction: Pipelining + Dividir la transacción en dos 8 peticiones pendientes en SGI 112 peticiones pendientes en SUN E 6000 read 1 resp 1 write 2 ack 2 write 3 ack 3 read 4 resp 4 read 5 resp 5 read 6 resp 6 ARARBAGRQ ARARB AGStall RQStall RPL ARARBAG ARARBAGRQ ACK ARARBAG ARARBAGRQ ACK ARARBAG ARARBAGRQ RPL ARARBAG RPL ARARBAG ARARB AGStall RQStall RPL ARARBAG RpA RqA RqB RqC RpB RpC ¿ Mejora ? RqA RpA RqB RpB RqC RpC Transacciones variables: 1..6 ciclos

25 arqPar Redes Medio Compartido (Bus VI)Conectividad-25 Modo ráfaga (Burst): Transacciones largas (línea de caché) Normal Arb Cmd DirDato Arb Cmd Dir Dato Arb CmdDirDato Arb CmdDirDato Arb Cmd DirDato Ráfaga ¿ Inconveniente ? arbitraje mensaje A mensaje B GrA CmdDirDato GrB CmdDirDato ReA EtiDato Mensaje más prioritario Mensaje continuado

26 arqPar Redes Medio Compartido (Bus VII)Conectividad-26 Buses jerárquicos Buses múltiples 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

27 arqPar Redes Medio Compartido (Bus VIII)Conectividad-27 Evolución FSB Intel

28 Menor diámetro aumentando el grado Compromiso grado vs diámetro y muchos nodos Tabla de parámetros arqPar Redes directasConectividad-28 Encaminamiento Generalidades Array lineal Anillo simple y de grado n Conectividad total Árbol, Fat Tree y Estrella Mallas, Toroides y WK-rec Hipercubo con y sin ciclo

29 PM IC Red con enlaces directos entre Pi PM IC PM Nodos => PCs o similares PnPn L2 Switch MultiC más integrado De otros nodos A otros nodos arqPar Redes directas (Generalidades)Conectividad-29 Ejemplos: Alpha 21364, SiCortex, Intel Core i7 y SCC Buffers Arbitraje Encamina.

30 arqPar Redes directas ( P 21364)Conectividad-30

31 arqPar Redes directas ( Toro2D ) Conectividad GBseg 15nseg Lat nodos [8x16].. 4 TB MP 12 diámetro

32 arqPar Redes directas ( P SiCortex)Conectividad MHz 2GBseg 1µseg Lat

33 arqPar Redes directas ( P SiCortex)Conectividad-33 Kautz Graph

34 arqPar Redes directas (Intel Core i7…)Conectividad ,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 Memoria común sin coherencia Sw 64 GBseg

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 Conmutación de paquetes Redes directas Conmutación de circuitos Redes indirectas

40 arqPar Encaminamiento (Algoritmo)Conectividad-40 8x8 = 64 nodos Diámetro = 7+7=14 Numerar nodo filacol ,00,00,10,10,20,20,70,70,30,30,40,40,50,50,60,6 1,01,0 2,02,0 7,07,0 3,03,0 4,04,0 5,05,0 6,06,0 A B Dinámico: A[2,3] => B[5,1] E datos L5,15,1 Algo: MovCol+MovFila C D En origen: C[3,4] => D[1,6] E datos L1,61,6,N,N,E,EE datos L1,61,6,N,N,E N[00], E[01], S[10], O[11] SiCortex, Intel QuickPath, …

41 arqPar Encaminamiento (wormhole)Conectividad-41 En conmutación de paquetes veremos dos técnicas: Buffer de paquete Los mensajes se dividen en paquetes ( bits) y se envían paquete a paquete Origen Almacenamiento y reenvío Destino Elevada latencia (3*Tiempo trans. Paquete Ttp) Origen Wormhole Destino Mejora la latencia (2*Tiempo trans. Flit + Ttp) Buffer de flit Los paquetes se dividen en flits (2..64bits) y se envían flit a flit ¿Similar a IP/ATM MPLS?

42 arqPar Encaminamiento (wormhole)Conectividad-42 HeaderPayloadCRC | 10 | 5 FlitPhit

43 Distancia Latencia Almacena y Reenvío Wormhole arqPar Encaminamiento (ejemplo)Conectividad-43 Toro2D 8*16 Alpha 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 + 7 veces mejor

44 arqPar Encaminamiento (Interbloqueo)Conectividad-44 AB CD D C A B D C A B D C A B D C A B ¡ Interbloqueo !

45 arqPar Encaminamiento (Canales virtuales)Conectividad-45 A D B A D B A D Una forma de evitar el interbloqueo

46 ARRAY LINEAL arqPar Redes directas (array, anillo)Conectividad-46 ANILLO (DE GRADO 2) ANILLO (DE GRADO n 3) Grado, diámetro, escalable, …

47 arqPar Redes directas (array, anillo)Conectividad-47 Navigation in a small world – Jon M. Kleinberg Nature – 24 Agosto 2000

48 N = 8n = 3 arqPar Redes directas (anillo de grado n)Conectividad-48 Salto d = 3, d = 1,71 Salto d = 3, d = 1,71 Salto d = 2, d = 1,57

49 N = 16 n = 3 arqPar Redes directas (anillo de grado n)Conectividad-49 Salto 2 d = 6, d = 3,2 6 Salto 3 5 d = 5, d = 2,67 Salto 4 4 d = 4, d = 2,27 Salto 5 iguala y 7 y 8 empeoran

50 N = 16 n = 4 arqPar Redes directas (anillo de grado n)Conectividad-50 d = 4, d = 2, d = 3, d = 2 Salto 5 4 d = 4, d = 2,13 ¿Cómo podría ser N=32 y n=5? Salto 3Salto 4

51 N = 32 n = 5 arqPar Redes directas (anillo de grado n)Conectividad-51 d = 4, d = ??? 4 ¿ Escalable ? 4

52 arqPar Redes directas (conexión total)Conectividad Grado, diámetro, escalable, …

53 arqPar Redes directas (Gráfica)Conectividad-53 Moverse por aquí con menor grado

54 K=1 K=2 K=3 K=4 ÁRBOL BINARIO arqPar Redes directas (árbol, …)Conectividad-54 ÁRBOL BINARIO EQUILIBRADO Fat Tree Grado, diámetro, escalable, … Cuello de botella [tráfico aleatorio] ¿Cómo encaminar A B? ESTRELLA

55 arqPar Redes directas (árbol, …)Conectividad-55 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, Gb/s

57 K=3 MALLA 3D MALLA 2D K=1 K=2 arqPar Redes directas (malla)Conectividad-57 M3D *10*10 => D=27 ¿Escalabilidad cuadrática o cúbica? Encaminamiento ordenado por direcciones O(1,1,1) D(3,3,3) O(2,2,1) D(3,3,2) ¡Colisión! ¿ Interbloqueos ? Grado, diámetro, escalable, … ¿ Cuello de botella?

58 arqPar Redes directas (malla3D)Conectividad-58 ¿Cuello de botella tráfico N N? 18 ¡ 18 msj por todos los enlaces en cada sentido !

59 TOROIDES (2D y 3D) K=1 K=2 arqPar Redes directas (toroide)Conectividad-59 T3D *10*10 => D=15 ¡ Anillo embebido ! Grado, diámetro, escalable, … Cables largos vs cortos Muchos cruces

60 arqPar Redes directas (WK-Recursivo)Conectividad-60 Grado, diámetro, escalable, … ¿Grado 5? Grado 3 (3,1) (3,2) (3,3) Grado 4 (4,1) (4,2) (4,3)

61 arqPar Redes directas (WK-Recursivo)Conectividad-61 (5,1)(5,2)

62 HIPERCUBO Dim1Dim2 Dim3 Dim4 Diámetro = log 2 N Grado = log 2 N Fácil encaminar arqPar Redes directas (hipercubo)Conectividad-62 N=2 k nodos, k dimensiones = log 2 N Escalable a costa de demasiado grado Topología cada vez menos utilizada

63 Encaminamiento en HIPERCUBO (Sea N=16) Numerar nodos en binario. Nodos adyacentes difieren en un bit (el asociado a la dirección que les une) Enviar mensaje por el enlace asociado a la menor dirección donde no coinciden bit del nodo actual y bit del nodo destino Nodo actual0111 Nodo destino ¿ Realizar ORX ? 0111 ORX 1010 = 1101 arqPar Redes directas (hipercubo)Conectividad-63

64 HIPERCUBO CON CICLOS K=3 arqPar Redes directas (hipercubo con ciclos)Conectividad Grado, diámetro, escalable, … ¿ 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? M3D 10*10*10 276* T3D 10*10* Hipercubo 1010 HiperCiclo N Grafo Kautz63972 N 16 WK 4ary 5rec314* M2D 32*32 624* Árbol183*TopologíaDiámetroGrado Total11023 Anillo Anillo Array lineal10232*

67 TopologíaGradoDiámetroNº de nodos Array lineal Anillo Anillo de grado n Árbol binario Árbol binario equilibrado Estrella Malla Toroide Hipercubo Hipercubo con ciclos N2N-1 N2 N/2 Nn=log 2 Nn-1 2 K -132*(K-1) 2 K -12K2K 2*(K-1) NN-12 nKnK 2*KK*(n-1) nKnK 2*K K* n/2 2K2K KK K*2 K 3 2*K K/2 arqPar Redes directas (Tabla de Parámetros)Conectividad-67

68 arqPar Perspectiva históricaConectividad-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 M1M1 M2M2 M3M3 MmMm P 1 arqPar Redes indirectas (Barras cruzadas)Conectividad-69 P 2 P 3 P n Crossbar Funcionalidad de los conmutadores simples: colisión difusión Perfil N*M O (N 2 ) Muchas patas 8x8 OnChip mm 2 => 5 núcleos W => 2 núcleos

70 arqPar Redes indirectas (Multietapa)Conectividad-70 crossbar 8*8 O (64) Perfil 8*8 Latencia 1 ¿ Reducir O( N 2 ) a costa de … ? Usar sólo crossbar 2*2 directo crucedifusióncolisión etapa 1etapa 2etapa m Red de interconexión Conjunto de crossbar 2*2

71 a b c d e f g h arqPar Redes indirectas (Red )Conectividad-71 Red de interconexión perfect Suffle Limitado a N = potencia de 2 N = 2 N = 4 Viable: [a,f – b,e – c,h – d,g] NoViable: [a,f - c,e - …....] Crossbar 24 Red 16

72 arqPar Redes indirectas (Red )Conectividad-72 Red de interconexión perfect Suffle Limitado a N = potencia de ¿Encaminamiento? Sea de 001 a Bit igual => directo Bit distinto => cruce Colisión ¿ Latencia y O( ) ? ¿Mejorable?

73 arqPar Redes indirectas (Red )Conectividad ¡ Permite difusión !

74 arqPar Redes indirectas (Tabla de parámetros)Conectividad-74 BUSBarato y limitado CROSSBARMás caro. Bueno para N moderado Mayor ancho de banda y fácil encaminar MULTIETAPACompromiso entre Bus y Crossbar

75 #NODOSTIPO DE REDSUPERCOMPUTADOR..NConfigurableBull systems >50.000DragonflyCray Inc. XC Toro 2y3DCray Inc. XE6/XE6m (96+96)*NToro 3DCray Inc. XK ?Toro 3D + ÁrbolEurotech Aurora Toro 6DFujitsu PRIMEHPC FX Crossbar multidim.Hitachi SR Toro 5DIBM BlueGene/Q 256 x 2.048VariableIBM eServer p Crossbar multidim.NEC SX Toro 2D.. ?SGI Altix UV arqPar Implantación en el mercado (Oct/2013)Conectividad-75 intercluster

76 arqPar Redes en Top500 (Nov/2013)Conectividad-76 FIN


Descargar ppt "Arquitecturas ParalelasCurso 13/14 1INTRODUCCIÓN 2CONECTIVIDAD 3MÁQUINAS MIMD 4MÁQUINAS SIMD y SIMT 5SUPERESCALARES Horas 5 6 5."

Presentaciones similares


Anuncios Google