1 / 17

Arquitecturas MIMD

Arquitecturas MIMD. Parte II. Ing . José Leónidas Díaz Chow Departamento de Arquitectura y Sistemas Facultad de Electrotecnia y Computación Universidad Nacional de Ingeniería , Nicaragua. Acceso a recursos compartidos. En Multiprocesadores

jack-wood
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 Parte II Ing. José LeónidasDíaz Chow Departamento de Arquitectura y Sistemas Facultad de Electrotecnia y Computación Universidad Nacional de Ingeniería, Nicaragua

  2. Acceso a recursoscompartidos • En Multiprocesadores • Dos áreas de recursos son críticas: • Memoria: • Requerida protección de memoria (como en cualquier SO multiprogramado). • Acceso a regiones y estructuras de memoria compartidas. • Es necesario sincronización de regiones críticas: Acceso exclusivo de los recursos. • Necesario soporte de hardware para implementación de mecanismos de exclusión mútua: gates, pinlocks y semáforos. • Estructura de Interconexión: • Se convierte en recursocompartido total o parcialmente en dependencia del tipo. • Bus comúnes el máscrítico. • Se requierenmecanismos de control de flujo o métodos de arbitraje

  3. Arbitraje del bus • La Arquitectura de bus común es muy sencilla y de bajo costo. • Obliga a acceso exclusivo durante la transacción. • Los procesadores lo emplean para acceder a Memoria (y a Entrada Salida en caso de SMPs). • Se requiere implementar mecanismos de arbitraje: lógica y controlador que concede el bus a un dispositivo específico. • Tipos de árbitro: • Arbitrio fijo: • Árbitro paralelo: Codificador/Decodificador de prioridades • Árbitro serial: Cadena de margaritas • Arbitrio dinámico: • Árbitro paralelo: Estructura dinámica y/o algoritmo de prioridades dinámicas • Árbitro serie: Cadena circular de margaritas.

  4. Exclusión mutua • Concurrencia de la ejecución en multiprocesadores • Necesidad de acceso a estructuras de datos y del SO que son compartidas. • Requerido garantizar la coherencia • Acceso debe ser mutuamente excluyente. • Se requiere soporte por SO y por hardware: • Gateo puerta: Puerto de acceso a una estructura compartida. • Semáforo: Indicador de acceso. • Pinlocko seguro: Componente hardware que garantiza TEST&SET atómico.

  5. Comunicación entre Procesadores • Es necesario definir formas de comunicación y sincronización de procesadores en un sistema MIMD. • Coordinaciones del SistemaOperativo • Cooperación en ejecución de unatareacomún

  6. ComunicaciónInterprocesador • Multiprocesadores: • Uso de sistema de Entrada Salida • Los procesadores se ven entre sí como periféricos • Uso de puertos de E/S para intercambio de datos • Uso de Interrupciones para sincronización. • Área de memoria para intercambio de mensajes. • Cada procesador tiene su buzón. • Cada procesador puede poner mensajes o solicitudes a otros. • Sincronización mediante Polling o Interrupciones. • Uso de un bus de comunicación interprocesador dedicado. • Bus alternativo al bus del sistema, frecuentemente serial. • Controlador de bus auxiliargestiona la comunicación al procesador.

  7. ComunicaciónInterprocesador • Multicomputadoras: • Pordefecto se comunicanmediantepaso de mensajes. • Forma de comunicaciónesobligatoria para todos los efectos, inclusive datos. • Mensajes son enrutados del procesadorfuente al destino. • Más o menosdesacoplado, en dependencia de la arquitectura: • MMPs: Uso de buses diseñadosespecialmente para la comunicación. • SistemasDistribuidos: Uso de los mecanismos de redes.

  8. Coherencia de Cachés • La Jerarquía de Memoria: solución al problema de bajodesempeñoporcuello de botella en multiprocesadores de bus común. • Uso de cachés locales reducer significativamente el tráfico a la memoria central. • Política de escritura: Write through vs Write Back • Concurrencia: variables o estructuras en memoriacompartidas • Variosprocesadorestienen el mismobloque de memoria en caché local

  9. Coherencia de Cachés • Riesgo de pérdida de coherencia de caché: • Variosprocesadorestienenmisma variable en sucaché local. • Un procesadorescribe la variable compartidadejandoinconsistentelasotrascopias. P1 P2 P3 P4 X X = 7 X X A = 5 A = 5 A = 5 A = 5 Memoria A = 5 X

  10. Coherencia de Cachés • Requeridomantener la coherencia del dato en todaslascachés y la memoria central. • ¿Cómo lograr que los procesadores se enteren cuando su copia no es válida?: Protocolo. • Snoopyprotocols (protocolos de sondeo). • Protocolosbasados en Directorios.

  11. Coherencia de Cachés • Protocolos de Sondeo (Snoopy protocols) • Apropiado para sistemas basados en buses. • Desempeño limitado a pocos procesadores. • Se sondeanlas transacciones de memoria en el bus. • Controlador de cachéademás del operaciones de procesador y estado de bloqueslleva control de transacciones. • Se agregan bits a cada línea de caché para saber su estado. • Se agregan líneas especiales al bus para transmitir información entre caches. • Política Write Back dificultaestatarea: Controladoresdebenanunciarcuandoescriben en un bloquemediantelíneasadicionales o simulandotransacciones en el bus.

  12. Coherencia de Cachés • Protocolosbasados en Directorio • Recolecta y mantiene la información de todas las copias de los bloques en las cachés. • Emplea un directorio central en memoria que almacena el estado de cada bloque de caché. • Todaslas solicitudes son verificadas en el directorio central • Requiere alto ancho de banda para chequeo. • Creacuello de botella en el bus peromásligeroque el de transacciones a Memoria • Apropiado para sistemas a gran escala con complejos esquemas de interconexión.

  13. Protocol Valid-Invalid • Protocolo de sondeo con política Write-Through: • Cada bloque en dos estados posibles: V, I. • Se carga el bloque y se pone en V. • Cuando un procesadorescribe en un bloque, el controladormantiene el estado V y manda a actualizar la memoria central mediantetransacción de escrituradel bloque. • Todos los controladoressensan la escritura en el bus, e invalidan el estado del bloque en sucaché. • CuandoProcesadorva a leer, el controladorcarga el bloquesi el estadoesInválido.

  14. Protocol Valid-Invalid • Estados: • V: Válido (Valid) • I: Inválido (Invalid) • Eventos generados por el procesador: • PrRd (ProcesorRead) • PrWr(ProcesorWrite) • Operaciones detectadas en el bus: • BusWr • BusRd

  15. Protocol Valid-Invalid • Con política Write-Through: • Requerimiento de elevado ancho de banda • Todas las escrituras de todos los procesadores se realiza a través del bus. • Ejemplo: procesador de 200MHz, 1 CPI y 15% instr. STORE de 8 bytes: • Cada procesador genera 30M stores o 240MB datos por segundo • Un bus de 1GB/s puede soportar sólo 4 procesadores sin saturarse • Write-through muy ineficiente para SMPs

  16. Protocolo MSI • Política Write-Back: MSI • Estados: • Invalid (I): No usado/invalidado. • Shared(S): en varias cachés. • Modified (M): uno sólo. • Eventos generados por el procesador: • PrRd(read) • PrWr(write) • Operaciones detectadas en el bus • BusRd: Lee copia. • BusRdX: Notifica modificación de copia. • BusWB: actualiza memoria.

  17. Protocolo MSI • Shared o Compartido(S): Bloque no ha sido modificado. Memoria principal y cero o más caches tienen copia actualizada. • Modificado (M): Solo este procesador tiene una copia válida del bloque en su cache. Bloque en memoria principal esta anticuada y ninguna otra cache tiene copia valida. Las demás copias potenciales son invalidadas vía una transacción de bus.

More Related