Sistemas de Procesadores Paralelos (Multiprocesadores y Multicomputadoras) PARTE I Profesor: Mag. Marcelo Tosini Cátedra: Arquitectura de Computadoras y técnicas Digitales Carrera: Ingeniería de Sistemas Ciclo: 4º año 1 Generalidades Introducción Sistemas Sistemasde decómputo cómputocompuestos compuestospor porvarios varios(decenas… (decenas…miles) miles)de deprocesadores procesadores Tres Treselementos elementosprincipales: principales: ••Procesadores Procesadores ••Memoria Memoria ••Interconexión Interconexión Microprocesadores Multicomputadoras ••Fuertemente Fuertementeacoplados acoplados ••Débilmente Débilmenteacoplados acoplados •Comunicación •Comunicaciónaatravés travésde de memoria memoriacentral central •Comunicación •Comunicaciónaatravés travésde de redes redesde decomunicación comunicación ••Velocidad Velocidadacotada acotadapor porelel ancho anchode debanda banda(bits/seg.) (bits/seg.) ••Existe Existeun unprotocolo protocolode de pasaje pasajede demensajes mensajes ••Conexionado Conexionadoaatravés travésde de una unared redoocon conmemorias memorias multipuerta multipuerta ••Cada Cadaprocesador procesadorposee poseesu su propia propiamemoria memoriaRAM RAMyysus sus puertos puertosde deI/O I/O 3 Multiprocesadores UMA (Uniform Memory Access) La memoria física es uniformemente compartida por todos los procesadores. Todos los procesadores tienen el mismo tiempo de acceso a todas las palabras de la memoria. Cada procesador tiene su propia caché privada y también se comparten los periféricos NUMA (Non Uniform Memory Access) El acceso a memoria no es uniforme para diferentes procesadores. Existen memorias locales asociadas a cada procesador y estos pueden acceder a datos de su memoria local de una manera más rápida que a las memorias de otros procesadores COMA (Cache Only Memory Access) Caso especial de los sistemas NUMA. No ha tenido mucha transcendencia, al igual que los SIMD. Las memorias distribuidas son memorias caché, por este motivo es un sistema muy restringido en cuanto a la capacidad de memoria global. No hay jerarquía de memoria en cada módulo procesador. Todas las caché forman un mismo espacio global de direcciones. Multi procesadores UMA SMP: Symetric MultiProcessor COMA NUMA DSM: Distributed Shared Memory Distintas maneras de organizar la memoria común 4 Multicomputadores ••Se Sepueden puedenver vercomo comoun uncomputador computadorparalelo paraleloen enelelcual cualcada cadaprocesador procesadortiene tienesu supropia propia memoria local. memoria local. ••En Enestos estossistemas sistemaslalamemoria memoriase seencuentra encuentradistribuida distribuidayyno nocompartida compartidacomo comoen enlos los sistemas multiprocesador. sistemas multiprocesador. ••Los Loscomputadores computadoresse secomunican comunicanaatravés travésde depaso pasode demensajes mensajes ••Sólo tienen acceso directo a su memoria local y no al las Sólo tienen acceso directo a su memoria local y no al lasmemorias memoriasdel delresto restode de procesadores. procesadores. ••ElEldiagrama diagramade debloques bloquesde deun unmulticomputador multicomputadores essimilar similaraalos lossistemas sistemasUMA UMA Multi computadoras • MPP: Masively Parallel Processors • COW: Cluster of Workstations • NOW: Network of Workstations MPP COW NOW 5 Sistema de memoria compartida PE PE PE1 PE1 PE2 PE2 PEn PEn caché caché local local Mapeo Mapeo memoria memoria Red de interconexión Memoria Memoria Red Redde deinterconexión interconexión Sistema de memoria compartida UMA Elemento de proceso con memoria local 6 Sistema de pasaje de mensajes memoria memoria local local E/S E/S PE PE Esquema de un módulo de procesamiento STM STM Conexión entre los módulos y la red de interconexión a través del sistema de transferencia de mensajes (STM) bus busde detransferencia transferenciade demensajes mensajes 7 Conectividad de ambas alternativas Memoria común (Load / Store) [La RED comunica procesadores y memorias] Se realiza por hardware Paso de mensajes (Send / Receive) [La RED comunica procesadores entre si] Se realiza por software µP1 µP1 µP2 µP2 µP3 µP3 µPn µPn µP1 µP1 µP2 µP2 µP3 µP3 µPn µPn Red Red M1 M1 M2 M2 Red Red Mk Mk Multiprocesadores Multicomputadoras 8 Redes de Interconexión Clasificación de las redes de interconexión Indirectas mediocompartido compartido Indirectas(dinámicas (dinámicasbasadas basadasen enswitches) switches) 1 DeDemedio 3 ••Redes de área local • Topologías regulares Redes de área local • Topologías regulares ••Ethernet Ethernet ••Token Tokenbus bus ••Token ring Token ring ••Bus de Bus desistema sistema 2 Directas Directas(estáticas (estáticasbasadas basadasen enrouters) routers) • Topologías estrictamente ortogonales • Topologías estrictamente ortogonales ••Malla Malla ••2D 2D ••3D 3D ••Toroides Toroides ••Toro Toro1D 1Dunidireccional unidireccional ••Toro 2D unidireccional Toro 2D unidireccional ••Toro Toro2D 2Dbidireccional bidireccional ••Hipercubo Hipercubo ••Otras Otrastopologías topologíasespecíficas: específicas: ••Árboles, grafos Árboles, grafosen enestrella, estrella,etc etc ••Crossbar Crossbar ••De Deinterconexión interconexiónmultietapa multietapa(MIN) (MIN) ••Redes con bloqueos Redes con bloqueos ••MIN MINunidireccional unidireccional ••MIN bidireccional MIN bidireccional Red RedOmega Omega ••Redes sin bloqueos Redes sin bloqueos ••Red RedCloss Closs ••Hipercubo Hipercubo ••Topologías Topologíasirregulares irregulares Híbridas 4 Híbridas ••Buses Busesde desistema sistemamúltiples múltiples ••Redes Redesjerárquicas jerárquicas ••Otras topologías Otras topologíasHipergrafo Hipergrafo ••Hiperbuses Hiperbuses ••Hipermallas Hipermallas 10 1 Redes de medio compartido ••El Elmedio mediode decomunicación comunicaciónes escompartido compartidopor portodos todoslos loselementos elementosde de proceso proceso ••Sólo Sóloun undispositivo dispositivopuede puedeusar usarla lared reden enun unmomento momentodado dado ••La Lared redactúa actúacomo comoun unelemento elementopasivo pasivoya yaque queno nogenera generamensajes mensajes ••La Lacomunicación comunicaciónes estipo tipobroadcast broadcastpor porlo loque quedebe debehaber habersistemas sistemasde de arbitraje arbitrajepara parasolucionar solucionarcolisiones colisiones Redes Redesde deárea árealocal local Permiten Permitencomunicar comunicarequipos equiposdistanciados distanciadosvarios variosmetros metrosentre entresisi Buses Buses Comunican Comunicanequipos equipos(procesadores) (procesadores)dentro dentrode deun unrack rack 11 1 Bus de sistema • Estructura mas simple para comunicar procesadores basados en bus • Conecta procesadores y memorias en topología UMA • Según la arquitectura puede ser: • Un bus bidireccional • Dos buses unidireccionales Proc1 Proc1 Proc2 Proc2 Proc3 Proc3 Bus Bus Proc1 Proc2 Proc3 Mem1 I/O Proc1 Proc2 Proc3 Mem1 I/O driver driver Bus Bus driver driver Mem1 Mem1 Mem2 Mem2 I/O I/O Un bus bidireccional Dos buses unidireccionales 12 1 Redes de área local ••Bus Busde deContención Contención(CSMA/CD) (CSMA/CD) Acceso Accesoalalbus buscompartido compartidomediante mediantecompetencia competenciaentre entrelos losdispositivos dispositivosyy resolución resoluciónde decolisiones. colisiones.Mas Maspopular: popular:CSMA/CD CSMA/CD Desventaja: Desventaja:No Nodeterminista. determinista.No Nose sepuede puedegarantizar garantizareleltiempo tiempode deespera espera de un dispositivo hasta ganar el acceso al bus de un dispositivo hasta ganar el acceso al bus Velocidades Velocidadesde de10 10Mbps Mbpsaa100 100Mbps Mbps ••Token TokenBus Bus Dispositivos Dispositivosconectados conectadosen enmodo modobroadcast broadcastalalmedio medio(bus) (bus) Uso Usode deun untoken tokencirculante circulanteentre entrelos losdispositivos dispositivosen enorden ordenpara parahabilitar habilitar eleluso del bus uso del bus Velocidades Velocidadesde de2.4 2.4Mbps Mbps ••Token TokenRing Ring Dispositivos Dispositivosconectados conectadosen enanillo anillofísico físico Uso Usode deun untoken tokencirculante circulanteentre entrelos losdispositivos dispositivos Velocidades distributed Velocidadesde dehasta hasta16 16Mbps Mbpssobre sobrecable cableyyhasta hasta100 100Mbps Mbpscon conFDDI FDDI(Fiber (Fiber distributed Data Interface) Data Interface) 13 2 Redes Directas (punto a punto) • Conexiones punto a punto entre distintos procesadores de la red • Consiste en un conjunto de nodos • Cada nodo se conecta a un subconjunto de otros nodos de la red • Se pueden formar varios patrones regulares o irregulares • Cada nodo posee un procesador, memoria local y dispositivos de entrada/salida • Los nodos pueden tener distintas capacidades funcionales: vectoriales, gráficos, etc • El nodo se conecta a la red a través de un router • El router maneja la comunicación mediante el uso de mensajes • Cada router tiene conexión directa con el router de sus vecinos • Los nodos no están necesariamente conectados físicamente a todos los demás nodos de la red • La topología de conexiones debe asegurar que todos los nodos se puedan acceder desde cualquier nodo I/O I/O Procesador Procesador Memoria Memoria local local Router Router canales de entrada canales de salida Arquitectura de un nodo 14 2 Redes Directas (punto a punto) Ejemplos Malla hipercubo Toroide Árbol Panal Red De Bruijn 15 2 Redes Directas (punto a punto) Mas ejemplos Mezcla perfecta (perfect shuffle) Estrella Mesh 3D Anillo 16 2 Redes Directas: Cubo cósmico Ejemplo muy representativo de un sistema de pasaje de mensajes Características: • Constituido por 64 computadoras (nodos) • Interconectadas por una red punto a punto bidireccional y asincrónica • Cada procesador está conectado a 6 nodos distintos • La geometría subyacente es la de un hipercubo de 6 dimensiones 17 2 Redes Directas: Cubo cósmico 18 2 Redes Directas: Cubo cósmico Como hay 64 procesadores cada uno tiene una dirección de 6 bits (0 a 63) Entonces: log 2 (#proc) = # vecinos Vecinos: procesadores cuya dirección varia en un bit 19 2 Redes Directas: Cubo cósmico Edición y compilación de programas ete io u q c Pa ini de cargador 20 4 Redes Híbridas • • • • Combinan mecanismos de las otras 3 categorías (compartidas, directas e indirectas) Incrementan el ancho de banda respecto a las de medio compartido Reducen la distancia entre nodos respecto a las redes directas e indirectas Modeladas como hipergrafos: • vértices: Conjunto de nodos de procesamiento • aristas: Conjunto de canales de comunicación o buses Global Globalbus bus Cluster bus Cluster bus Cluster bus Cluster bus Cluster bus Cluster bus Cluster bus Cluster bus Cluster bus Cluster bus ····· Cluster Clusterbus bus Cluster Clusterbus bus Jerarquía de 2 niveles de buses Cluster bus Cluster bus Malla bidimensional de clusters 21 3 Redes indirectas • • • • • • • Basadas en conmutadores (switches) No existe comunicación directa entre nodos (como en las directas) La conexión entre nodos se realiza mediante uno o más switches Cada switch tiene un conjunto de puertos Cada puerto posee un enlace de entrada y otro de salida Cada switch puede tener conectados algunos nodos (o ninguno) Cada switch se conecta con otros switches S1 S1 S1 S1 S1 S1 Nodo Sn Sn Switch S1 S1 S1 S1 S1 S1 Topología irregular 22 3 Redes indirectas Red Crossbar • Utilizada comúnmente en sistemas de memoria compartida, proveyendo accesos simultáneos no bloqueantes entre dispositivos fuente y destino (V y H). • Cada conmutador de cruce (switch) puede ofrecer un camino único de conexión entre un par de elementos • Los conmutadores se pueden encender o apagar desde el programa • Una configuración usual de microprocesadores es la de disponer los procesadores en una entrada (p.e. Vertical) y las memorias en la otra entrada (p.e. Horizontal) V1 V1 S V2 V2 S V3 V3 S S S S H1 H1 S S S S S S H2 H2 S S S S S S H3 H3 23 3 Redes indirectas Red Crossbar • En condiciones particulares puede funcionar como un bus permitiendo que varios destinos reciban información de una sola fuente • Permite conexionado entre procesadores dispuestos como multicomputadora, usando la red como medio de pasaje de mensajes • Usos: • Como mecanismo de conexionado de procesadores con memorias • Como red de interconexión entre procesadores • En el diseño de routers para redes directas • Como componentes básico de diseño de redes indirectas de gran escala • Para una crossbar de N entradas y M salidas el costo es O(NM) • Es escalable ya que se puede implementar una crossbar de N x M usando (N/n) * (M/n) crossbar de n x n Crossbar de 4 entradas y 4 salidas (con 4 crossbar de 2x2) Switch básico (2 entradas 2 salidas) Crossbar de 2 entradas y 2 salidas (con E/S auxiliares) 24 3 Redes indirectas Memorias Multipuerto Las memorias miltipuerto hacen posible la construcción de redes de interconexión en las que los procesadores se comunican a través de las memorias en lugar de buses. Desventaja: los procesadores deben esperar en caso de acceso a la misma locación de memoria Ventaja: los protocolos de comunicación entre unidades funcionales se reducen P2 P2 P1 P1 M M P3 P3 P4 P4 25 3 Métricas de rendimiento de las redes • Complejidad de hardware: Medida asintótica del área • Diámetro: Máximo de los caminos más cortos entre 2 nodos cualquiera de la red D = max i , j∈N (min length( p )) p∈Pij • Bloqueo: Si se puede o no establecer una nueva conexión en presencia de otras conexiones • Grado de nodo: Número de nodos a los que se conecta cada nodo N procesadores Ci = N D = N/2 B = Si G=2 N procesadores Ci = N2 D=1 B = No G = N/2 26 3 Redes de interconexión multietapa (MIN – Multistage Interconnection Networks) axb axb switch switch Stage 1 · · · axb axb switch switch Stage 2 axb axb switch switch · · · axb axb switch switch Stage 3 ··· ··· ··· axb axb switch switch axb axb switch switch · · · M salidas · · · axb axb switch switch axb axb switch switch Inter-stageconnection connectionn-1 n-1 Inter-stage axb axb switch switch axb axb switch switch Inter-stageconnection connection33 Inter-stage N entradas axb axb switch switch Inter-stageconnection connection22 Inter-stage Una red multietapa genérica se compone de G etapas generalmente iguales Cada etapa se forma con k switches compuestos por crossbars de axb entradas/salidas Entre etapas adyacentes se usa una red de interconexión fija El número de etapas, la cantidad de crossbars de cada etapa y los valores a y b determinan la capacidad de encaminamiento de las redes MIN • Según la relación entre entradas y salidas se denominan: • N = M : unicast • N > M : concentradores • N < M : expansores Inter-stageconnection connection11 Inter-stage • • • • axb axb switch switch Stage G 27 Redes de interconexión multietapa 3 (MIN – Multistage Interconnection Networks) • Para una red de G etapas adyacentes cada etapa Gi tiene wi switches de tamaño ai,j x bi,j donde 1≤j≤ wi . • La etapa Gi consta de pi entradas y qi salidas wi p = ∑a wi switches Ci ai,1 axb axb switch switch ai,2 axb axb switch switch bi,1 bi,2 · · · axb a x b bi,wi ai,wi switch switch etapa Gi connectionlinks links i+1connection qqi i==ppi+1 · · · connectionlinks links ppi i==qqi-1i-1connection i Ci+1 i,j j =1 wi q = ∑b i · · · j =1 i,j • La conexión entre 2 etapas adyacentes Gi-1 y Gi (Ci), define al patrón de conexión para pi=qi-1 enlaces, con p0 = N y qg-1 = M • Un patrón de conexión Ci(pi) define como deben estar conectadas las qi-1 salidas de la etapa anterior con las pi entradas a la etapa actual 28 3 Redes de interconexión multietapa (MIN – Multistage Interconnection Networks) • Las distintas redes multietapa se diferencian en los módulos conmutadores (switches) y en los patrones de las conexiones entre etapas (CEE) • Los módulos conmutadores mas simples y usados son crossbars de 2 x 2 • Las CEE mas populares son: • • • • • • Perfect shuffle Butterfly Crossbar Reversal Baseline Exchange 2x2 2x2 2x2 2x2 · · · · · · 2x2 2x2 · · · 29 3 Patrones de Conexión entre etapas Generalidades • Funciones que mapean N entradas en N salidas • Cuando se ejecuta una función de ruteo f el dato de la entrada pi es enviado a la salida qf(i) • En la CEE, cada puerto de entrada y salida tiene una dirección única que se puede expresar con m bits de la forma X = xn-1, xn-2, …, x0 • Dado que el número de entradas (p) es igual al número de salidas (q) a las conexiones entre etapas se las denomina permutaciones 30 3 Patrones de Conexión entre etapas Perfect shuffle (σ) La permutación entre los patrones de entrada y salida se basa en la mezcla perfecta de dos montones (de cartas) iguales, intercalando una a una las cartas de un montón en el otro La red perfect shuffle toma la primera mitad de las entradas y las entremezcla con la segunda mitad, de manera que la primera mitad pasa a las posiciones pares de las salidas y la segunda mitad a las impares σ ( X ) = (kX + N k σk(xn-1 xn-2 …x1 x0) = xn-2 … x1 x0 xn-1 Perfect shuffle realiza un desplazamiento cíclico hacia la izquierda de los dígitos de X en log2 k posiciones kX ) mod N con k = 1, 2… 4 yk≤N σk-1(xn-1 xn-2 …x1 x0) = x0 … xn-1 xn-2 x1 Inverse perfect shuffle realiza un desplazamiento cíclico hacia la derecha de los dígitos de X en log2 k posiciones 31 3 Patrones de Conexión entre etapas Ejemplo de Perfect shuffle (σ) para N=8 0 (000) 0 (000) 0 (000) 0 (000) 0 (000) 0 (000) 1 (001) 1 (001) 1 (001) 1 (001) 1 (001) 1 (001) 2 (010) 2 (010) 2 (010) 2 (010) 2 (010) 2 (010) 3 (011) 3 (011) 3 (011) 3 (011) 3 (011) 3 (011) 4 (100) 4 (100) 4 (100) 4 (100) 4 (100) 4 (100) 5 (101) 5 (101) 5 (101) 5 (101) 5 (101) 5 (101) 6 (110) 6 (110) 6 (110) 6 (110) 6 (110) 6 (110) 7 (111) 7 (111) 7 (111) 7 (111) 7 (111) 7 (111) Perfect shuffle k=2 Inverse perfect shuffle k=2 Perfect shuffle k=4 32 3 Patrones de Conexión entre etapas Bit reversal (ρ) La permutación entre los patrones de entrada y salida se basa en el intercambio de los bits simétricos ρ(xn-1 xn-2 …x1 x0) = x0 x1 … xn-2 xn-1 x7 x6 x5 x4 x3 x2 x1 x0 0 (000) 0 (000) 1 (001) 1 (001) 2 (010) 2 (010) 3 (011) 3 (011) 4 (100) 4 (100) 5 (101) 5 (101) 6 (110) 6 (110) 7 (111) 7 (111) Bit reversal N=8 33 3 Patrones de Conexión entre etapas Butterfly (β) La permutación entre los patrones de entrada y salida se basa en el intercambio de los bits simétricos β ( x ...x x x ...x x x ...x x ) = x ...x x x ...x x x ...x x i n −1 i +1 i i −1 j +1 j j −1 1 0 n −1 j +1 j la i-esima permutación butterfly intercambia los dígitos i-esimo y el j-esimo, siendo ambos simétricos respecto de la mitad de los dígitos j −1 i +1 i xi i −1 1 con i+j=N-1 0 xj 34 3 Patrones de Conexión entre etapas Variantes de Butterfly (β) • k-sub butterfly: basada en el intercambio de los bits 0 con el k-1 β ( x ...x x ...x x ) = x ...x x ...x x k n −1 k k −1 1 0 n −1 k 0 1 xk k −1 x0 • k-supra butterfly: basada en el intercambio de los bits n-1 con el k-1 β ( x ...x x ...x x ) = x ...x x ...x x k n −1 k k −1 1 0 k −1 k n −1 1 0 xn-1 xk 35 3 Patrones de Conexión entre etapas Butterfly (β) 0 (000) 0 (000) 0 (000) 0 (000) 0 (000) 0 (000) 1 (001) 1 (001) 1 (001) 1 (001) 1 (001) 1 (001) 2 (010) 2 (010) 2 (010) 2 (010) 2 (010) 2 (010) 3 (011) 3 (011) 3 (011) 3 (011) 3 (011) 3 (011) 4 (100) 4 (100) 4 (100) 4 (100) 4 (100) 4 (100) 5 (101) 5 (101) 5 (101) 5 (101) 5 (101) 5 (101) 6 (110) 6 (110) 6 (110) 6 (110) 6 (110) 6 (110) 7 (111) 7 (111) 7 (111) 7 (111) 7 (111) 7 (111) Butterfly i=2 Butterfly sub k k=2 Butterfly sub k k=1 IDENTIDAD!!! 36 3 Patrones de Conexión entre etapas Exchange (E) E ( x ...x x x ...x x ) = x ...x x x ...x x i n −1 i +1 i i −1 1 0 n −1 i +1 i i −1 1 xi 0 1 <= i <= N-1 0 (000) 0 (000) 1 (001) 1 (001) 2 (010) 2 (010) 3 (011) 3 (011) 4 (100) 4 (100) 5 (101) 5 (101) 6 (110) 6 (110) 7 (111) 7 (111) 000 001 E0(x) E1(x) 010 011 101 100 E2(x) 110 111 i=2 37 3 Patrones de Conexión entre etapas Barrel Shifter (SH) SH ( X ) = X ± k ±k con k potencia de 2 y k < N N 0 (000) 0 (000) 0 (000) 0 (000) 0 (000) 0 (000) 1 (001) 1 (001) 1 (001) 1 (001) 1 (001) 1 (001) 2 (010) 2 (010) 2 (010) 2 (010) 2 (010) 2 (010) 3 (011) 3 (011) 3 (011) 3 (011) 3 (011) 3 (011) 4 (100) 4 (100) 4 (100) 4 (100) 4 (100) 4 (100) 5 (101) 5 (101) 5 (101) 5 (101) 5 (101) 5 (101) 6 (110) 6 (110) 6 (110) 6 (110) 6 (110) 6 (110) 7 (111) 7 (111) 7 (111) 7 (111) 7 (111) 7 (111) Barrel Shifter k=1 Barrel Shifter k=2 barrel Shifter k = -1 (≈ +7) 38 3 Patrones de Conexión entre etapas Barrel Shifter (SH) Notas de mérito • La permutación barrel shifter realmente no realiza la operación de suma • Puesto que los CEE son módulos cableados, la permutación solo conecta una entrada X a una salida a distancia X ± k • La utilidad de esta CEE se evidencia en la implementación de topologías de anillos Anillo k=1 Doble anillo k=2 Barrel Shifter k=4 39 3 Patrones de Conexión entre etapas Barrel Shifter (SH) Arreglo lineal N=8 k=2 k´ = 1 Grado = 2 Otros ejemplos Anillo acorde N=8 k=2 k´ = 1 Grado = 2 Anillo acorde N=8 k=4 k´= 1 Grado = 2 Barrel Shifter N=8 k=4 k´ = 2 k” = 1 Grado = 3 Las combinaciones de varias permutaciones simultáneamente se usa frecuentemente en multicomputadores 40 3 Patrones de Conexión entre etapas Baseline connection (δ) δ ( x ...x x x ...x x ) = x ...x x x x ...x i n −1 i +1 i i −1 1 0 n −1 i +1 0 i i −1 xi+1 1 1 <= i <= N-1 0 (000) 0 (000) 0 (000) 0 (000) 0 (000) 0 (000) 1 (001) 1 (001) 1 (001) 1 (001) 1 (001) 1 (001) 2 (010) 2 (010) 2 (010) 2 (010) 2 (010) 2 (010) 3 (011) 3 (011) 3 (011) 3 (011) 3 (011) 3 (011) 4 (100) 4 (100) 4 (100) 4 (100) 4 (100) 4 (100) 5 (101) 5 (101) 5 (101) 5 (101) 5 (101) 5 (101) 6 (110) 6 (110) 6 (110) 6 (110) 6 (110) 6 (110) 7 (111) 7 (111) 7 (111) 7 (111) 7 (111) 7 (111) Baseline i=2 Baseline i=1 Baseline i=0 IDENTIDAD!!! 41 3 Tipos de redes multietapa Tres tipos dependiendo de la disponibilidad de caminos para establecer nuevas conexiones: • Bloqueantes: No siempre es posible la conexión entre un puerto de entrada y otro de salida por conflictos entre conexiones existentes • No bloqueantes: cualquier puerto de entrada puede conectarse a cualquier puerto de salida libre sin afectar a las conexiones ya existentes • Reconfigurables: Cada puerto de entrada puede ser conectado a cada puerto de salida. Sin embargo las conexiones existentes pueden requerir de un reajuste en sus caminos 42 3 Redes no bloqueantes • Son intrínsicamente caras debido a su característica de no bloqueo • Mas baratas que una crossbar del mismo tamaño • Costo prohibitivo para grandes tamaños de red • Conectan cualquier entrada libre a cualquier salida libre (sin importar otras conexiones). • Cada nodo en cualquier etapa es una red crossbar Red crossbar Switch básico Crossbar Red Crossbar 43 3 Redes no bloqueantes Ej: Red Clos de 3 etapas para N entradas y M salidas N/nxM/p N/nxM/p 1 n N/n crossbar de n entradas y r salidas cada uno nxr nxr rxp rxp N/nxM/p N/nxM/p 1 n 1 n 1 nxr nxr 1 rxp rxp · · · · · · nxr nxr p · · · rxp rxp p M/p crossbar de r entradas y p salidas cada uno 1 p N/nxM/p N/nxM/p r = (n-1)+(p-1)+1 crossbar de N/n entradas y M/p salidas cada uno En Enelelcaso casomas masusual usualnn==pp(red (redclos closbalanceada) balanceada) 44 3 Red Clos: Métricas • Complejidad: • Área cuantificada por la cantidad de switches básicos área = N NM M nr + r + rp n n p p • Diámetro: • Camino más largo entre un nodo de entrada y un nodo de salida diámetro = (n + r − 1) + ( N M + − 1) + (r + p − 1) n p • Máxima Complejidad: • Área (en switches básicos) de la crossbar mas grande de la red MaxComplejidad = max(nr; NM ; rp ) n p 45 3 Red Clos: ejemplo de diseño Problema: se desea diseñar una red estrictamente no bloqueante para 12 canales (12 entradas y 12 salidas de la red) manteniendo baja la complejidad máxima de cualquier nodo de la red Posibles soluciones: (A) 2 nodos de entrada (salida) con 6 entradas cada uno (salidas) (B) 3 nodos de entrada (salida) con 4 entradas cada uno (salidas) (C) 4 nodos de entrada (salida) con 3 entradas cada uno (salidas) (D) 6 nodos de entrada (salida) con 2 entradas cada uno (salidas) 46 3 Red Clos: ejemplo de diseño n p r Máxima complejidad A 6 6 11 6 x 11 = 66 B 4 4 7 4 x 7 = 28 C 3 3 5 4 x 4 = 16 D 2 2 3 6 x 6 = 36 o e P M r r o j e 47 3 Redes reconfigurables Pueden realizar todas las conexiones posibles reconfigurando conexiones existentes en caso de bloqueos. 0 1 0 1 Red Benes No usados 2 3 En este estado si se desea usar la conexión 1 con 1, la misma esta bloqueada 2 3 0 1 0 1 2 3 2 3 48 3 Redes de interconexión bloqueante • Pueden realizar algunas pero no todas las interconexiones entre entradas y salidas • Dependiendo del tipo de canales y switches se clasifican en: • Unidireccionales: Los canales y switches son unidireccionales • Bidireccionales: Los canales y switches son bidireccionales (La información puede transmitirse simultáneamente en direcciones opuestas entre switches vecinos) 49 3 Redes de interconexión bloqueante Unidireccionales • Switches unidireccionales son crossbar a x b (a entradas y b salidas) • Tipos de conexiones: • Unicast: Cada entrada puede conectarse a una única salida Existen min(a, b) conexiones simultáneas Etc. • Multicast: Cada entrada puede conectarse a varias salidas • Broadcast: Cada entrada puede conectarse a todas las salidas 50 Redes de interconexión bloqueante Unidireccionales 3 NOTAS Para N entradas y M salidas de la red: • Si N = M se usan conmutadores con a = b • Si N > M se usan conmutadores con a > b (concentradores) • Si N < M se usan conmutadores con a < b (distribuidores) Para N puertos de entrada y salida (M = N) y conmutadores de k x k se necesitan al menos log N Red de interconexión Red de interconexión Ejemplo: N = 16 k=2 Etapas = 4 Red de interconexión k 51 3 Redes Unidireccionales: Ejemplos Red Baseline • El patrón de conexión Ci está descrito por la (n-i)-esima permutación en línea base δn-i (1≤i≤n) • El patrón de conexión C0 está descrito por σk (perfect-shuffle) • Posee algoritmo de autoencaminamiento en el que los bits sucesivos de la dirección de destino controlan las sucesivas etapas de la red • Cada etapa divide el camino en 2 sub caminos, uno hacia la parte alta y otro hacia la parte baja de la subred correspondiente 0000 0001 0000 0001 0010 0011 0010 0011 0100 0101 0100 0101 0110 0111 0110 0111 1000 1001 1000 1001 1010 1011 1010 1011 1100 1101 1100 1101 1110 1111 1110 1111 C0 G1 C1 G2 C2 G3 C3 G4 C4 52 3 Redes Unidireccionales: Ejemplos Red Omega • El patrón de conexión Ci está descrito por la (n-i)-esima permutación perfect-shuffle σk (1≤i≤n-1) • El patrón de conexión Cn está descrito por β0 (butterfly sub cero = identidad) • Posee algoritmo de autoencaminamiento en el que los bits sucesivos de la dirección de destino controlan las sucesivas etapas de la red • Propuesta para el procesamiento de matrices usando switches 2x2 de cuatro estados (directo, intercambio, el de arriba a todos y el de abajo a todos) 0000 0001 0000 0001 0010 0011 0010 0011 0100 0101 0100 0101 0110 0111 0110 0111 1000 1001 1000 1001 1010 1011 1010 1011 1100 1101 1100 1101 1110 1111 1110 1111 C0 G1 C1 G2 C2 G3 C3 G4 C4 53 3 Funcionamiento de la red Omega En la entrada a la etapa Gi el switch chequea el I-esimo bit de la dirección de destino si es 0, el switch selecciona la salida superior sino, la salida inferior Formato del paquete de mensaje: Dir destino mensaje n = log2 N; N = num proc. n bits Cada vez que la dirección pasa cada etapa I, si el paquete llegó por el puerto superior, entonces el I-esimo bit se reemplaza por 0. Si el paquete llegó por el inferior, el I-esimo bit se reemplaza por 1 54 3 Redes Unidireccionales: Ejemplos Red Perfect-shuffle/Exchange • Derivada de la red Omega • Utiliza una red de recirculación que devuelve las salidas nuevamente a las entradas • La red posee una única etapa recirculable que se recorre n veces, una por cada etapa 55 Redes de interconexión bloqueante Bidireccionales (BMIN) 3 • Cada puerto de los switches posee un par de canales de comunicación unidireccionales de direcciones opuestas • Un switch bidireccional soporta 3 tipos de conexiones: • Forward: Cada entrada del lado izquierdo conectarse a varias salidas del lado derecho Backward: Cada entrada del lado derecho conectarse a varias salidas del lado izquierdo Turnaround (de regreso): Cada entrada de un lado puede conectarse a varias salidas del mismo lado 56 3 Ejemplos de BMINs BMIN Butterfly ••Los Loscaminos caminosentre entre22nodos nodosse seestablecen establecencruzando cruzandoetapas etapashacia haciadelante, delante,después después estableciendo una conexión de vuelta (en la última etapa) y, por último, cruzando estableciendo una conexión de vuelta (en la última etapa) y, por último, cruzandolas las etapas hacia atrás etapas hacia atrás ••En Enelelcruce crucehacia haciadelante delantepuede puedehaber habervarios varioscaminos caminosposibles posibles ••En el cruce hacia atrás (retorno) sólo hay una posibilidad En el cruce hacia atrás (retorno) sólo hay una posibilidadde decamino camino ••ElElpeor caso (diámetro) para una red de n etapas es 2n-1 peor caso (diámetro) para una red de n etapas es 2n-1 nodos C0 G0 C1 G1 C2 G2 000 Fuente 001 010 Destino 011 100 101 110 111 57 3 Ejemplos de BMINs BMIN Fat tree ••Los Losprocesadores procesadoresse seencuentran encuentranen enlas lashojas hojasde deun unárbol árbolde dennniveles niveles ••Los nodos intermedios son switches bidireccionales Los nodos intermedios son switches bidireccionales ••Una Unacomunicación comunicaciónentre entre22nodos nodossube subepor porelelárbol árbolhasta hastaalcanzar alcanzarelelmenor menorantecesor antecesor común de ambos nodos y posteriormente baja al destino común de ambos nodos y posteriormente baja al destino 58 Características generales de las redes • Modo de operación: • Sincronizado: con control central de los switches • No sincronizado: los switches son autónomos • Técnicas de switching: • Circuit switching • Packet switching (paquetes) • Intermedio: (flits). Se establece un circuito y luego todos los flits lo siguen • Técnicas de ruteo: métodos para establecer los paths de comunicación • Centralizado: control toma las decisiones para establecer el path • Distribuido: cada switch decide el path • Adaptativo: distribuido con información global de estado •Topología: distribución física de la red 59