230 likes | 538 Views
ARQUITECTURAS MIMD. Introducción. Docente : José Díaz Chow. ARQUITECTURAS MIMD. FLYNN: Múltiple flujo de instrucciones , Multiples flujos de Datos . ¿ Qué significa para la arquitectura ?
E N D
ARQUITECTURAS MIMD Introducción Docente: José Díaz Chow
ARQUITECTURAS MIMD • FLYNN: • Múltipleflujo de instrucciones, Multiples flujos de Datos. • ¿Quésignifica para la arquitectura? • Sistemasparalelosque se componenporvariosprocesadorestrabajandosimultánea o concurrentemente.
Paralelismo • ¿Quésignificaqueprocesamiento sea paralelo? • Queexistan al mismotiempo (simultáneamente): • Múltiplesejecutorestrabajando en conjunto y/o • Ejecución de múltiplestareas. • Casos: • Un ejecutor con múltiplestareassolapadas o a la vez: • Segmentación y Supersegmentación. • Superescalaridad. • Variosejecutores con unamismatarea. • Variosejecutores con múltiplestareas.
Paralelismo • Dos componentes, de acuerdo a susformas de operación: • Temporal: • Solapamientode ejecuciónde múltiplestareas en el tiempo. • Espacial: • Multiplicidadde ejecutorestrabajandosimultáneamente en una o variastareas.
Niveles de Paralelismo • Nivel de tareas (Job Level): Diferentes procesadores ejecutando diferentes procesos. GranoGrueso • Nivel de Programa (Programlevel): Diferentes procesadores ejecutando diferentes secciones de un mismo programa en paralelo. CPU • Nivel de instrucciones (InstructionLevel): Diferentes instrucciones ejecutándose en un procesador (Pipelining, Superpiplining, Scalar, Superescalar) GranoFino • Nivel de Aritmética y bits. (Bit Level): Varios procesadores trabajando en paralelo sobre diferentes secciones de bits de los datos. (Bit sliceprocessor)
Arquitecturas MIMD • Trabajan en nivel de paralelismo de granogrueso • Clasificación (Según Salomon): • Multiprocesadores: Memoriacompartida • Multicomputadoras: Memoriadistribuida • Pornivel de Acoplamiento: • Fuertementeacoplados (Thightly coupled): • Débilmenteacoplados (Loosely coupled)
ComparaciónMonoprocesador – Multiprocesador en procesamiento a job level
Estructuras de Interconexión • Deben proveermecanismoparacomunicación entre diferentesentidades de procesamiento y entre ellas y memoria. • En dependencia de sutipologíapuedendemandar alto ancho de banda. • Suelenemplearselasmismasestructuras de los SIMD. • Difieren en cuanto al tipo de MIMD, los multiprocesadoresrequierenénfasis en acceso a memoriacompartida y los multicomputadores en la comunicacióninterprocesador.
Clasificación MIMD porestructura de Interconexión MIMD Multiprocesadores Multicomputadoras Basados en servicios de red Basados en Buses Basados en redes inter-procesador Basados en redesconmutadas SistemasDistribuidos Sequent, Encore Ultracomputer, RP3 Hipercubo, Transputer
Estructura de Bus común • Todos los CPUs comparten un mismo bus del sistema para acceder a memoria compartida y opcionalmente a dispositivos o canales de Entrada – Salida. P1 P2 P3 P4 MIMD con estructura de interconexión en Bus común. M1 M2 IOP1 IOP2
Estructura de Bus común • El acceso a memoria se convierte en cuello de botella. • Necesidad de arbitrajepara el control del bus del sistema. • El empleo de jerarquía de memoriapuedereducir el impacto de contención de acceso. • Problema de coherencia de cachés. • Diferentesesquemas de solución.
Red de conmutación de barrascruzadas. • Un bus comúngenerarcontención, variosbuses puedendistribuir el tráfico entre los CPUs y Memoria M1 M2 M3 M0 P1 P2 P3 P4
Red de conmutación de barrascruzadas. • El conmutador se encarga de controlar el tráfico en los buses de procesadores y memorias. • Direcciones y son puedensoportarseconcurrentemente. La direccióntiene mayor prioridad y bloquea a la dirección . • Cualquierprocesadorpuedeacceder a cualquiermódulo de memoriaque no estéocupadopor un procesador de mayor prioridad. • Las prioridadesestablecidaspor la posición.
MemoriasMultipuerto • Las memoriasmultipuertopermitenatender n procesadores de forma concurrente. M1 M0 P1 P2 P1 P2
MemoriasMultipuerto • Esquema de interconexión ideal para sistemas de memoria compartida. • Muy ventajoso en caso de pocos CPUsy alto requerimiento de ancho de banda en transferencias CPU-Memoria. • No son escalables. La cantidad de CPUsestá limitada a los puertos disponibles en las Memorias. • Costo muy elevado.
Redes de conmutación • Para permitir mayor cantidad de procesadores, se proponenestructuras de interconexiónbasadas en redes de conmutaciónmultietapa.
Redesmultietapa • Basadas en conmutadores de intercambioquetienen n entradas y m salidas. • Cadaentradapuedeconmutarhaciacualquiera de lassalidasque no estéocupada. • Esquema de prioridades de entradas.
Ejemplo de red: Red Delta • Comunica p procesadores a m módulos de memoria, talque m espotencia de 2 de p. • La interconexión se establece en base a la dirección de memoria a acceder
Ejemplo de red: Red Omega • Comunica p procesadores a m módulos de memoria, talquep <= m. • Otrosescenarios y usos.
Redes de intercambio de mensajes • Habilitancomunicación entre procesadores (nodos de la red) mediantepaso de mensajes. • Empleoprevalece en sistemasdébilmenteacoplados.
Ejemplo de Red: Hipercubo • Procesorecursivo. Parte de una red 1D paraformaruna 2D duplicando la red anterior e interconectando los nodoshomólogos. • Asigna a cadanodo de la red 1D unadirección 0 , 1. Al ampliarse la red, se antepone 0 a los nodos de la primera red y 1 a los de la réplica.
Ejemplo de Red: Hipercubo • Asignación de direccionestambiénpuedeseguircoordenadascartesianas. • Direcciones de nodosadyacentes solo difiere en 1 bit.
Ejemplo de Red: Hipercubo • Algritmo de ruteopara el paso de mensajes: • Ruta = Direccion_Fuente Direccion_Destino. • Ruta describe trayectoria del paquete en los ejescoodenados.