1 / 23

ARQUITECTURAS MIMD

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 ?

nantai
Download Presentation

ARQUITECTURAS MIMD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ARQUITECTURAS MIMD Introducción Docente: José Díaz Chow

  2. ARQUITECTURAS MIMD • FLYNN: • Múltipleflujo de instrucciones, Multiples flujos de Datos. • ¿Quésignifica para la arquitectura? • Sistemasparalelosque se componenporvariosprocesadorestrabajandosimultánea o concurrentemente.

  3. 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.

  4. 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.

  5. 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)

  6. 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)

  7. ComparaciónMonoprocesador – Multiprocesador en procesamiento a job level

  8. 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.

  9. 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

  10. 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

  11. 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.

  12. 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

  13. 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.

  14. MemoriasMultipuerto • Las memoriasmultipuertopermitenatender n procesadores de forma concurrente. M1 M0 P1 P2 P1 P2

  15. 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.

  16. Redes de conmutación • Para permitir mayor cantidad de procesadores, se proponenestructuras de interconexiónbasadas en redes de conmutaciónmultietapa.

  17. Redesmultietapa • Basadas en conmutadores de intercambioquetienen n entradas y m salidas. • Cadaentradapuedeconmutarhaciacualquiera de lassalidasque no estéocupada. • Esquema de prioridades de entradas.

  18. 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

  19. Ejemplo de red: Red Omega • Comunica p procesadores a m módulos de memoria, talquep <= m. • Otrosescenarios y usos.

  20. Redes de intercambio de mensajes • Habilitancomunicación entre procesadores (nodos de la red) mediantepaso de mensajes. • Empleoprevalece en sistemasdébilmenteacoplados.

  21. 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.

  22. Ejemplo de Red: Hipercubo • Asignación de direccionestambiénpuedeseguircoordenadascartesianas. • Direcciones de nodosadyacentes solo difiere en 1 bit.

  23. Ejemplo de Red: Hipercubo • Algritmo de ruteopara el paso de mensajes: • Ruta = Direccion_Fuente Direccion_Destino. • Ruta describe trayectoria del paquete en los ejescoodenados.

More Related