Optimización de Protocolos de Coherencia y Paralelismo en Sistemas Multiprocesador

Protocolo MSI

Modificado (M)

  • PrLec/PrEsc: Modificado
  • PtLec: Genera paquete respuesta (RpBloque) → Compartido
  • PtLecEx: Genera paquete respuesta (RpBloque) e invalida copia local → Inválido
  • Reemplazo: Genera paquete posescritura (PtPEsc) → Inválido

Compartido (S)

  • PrLec: Compartido
  • PrEsc: Genera paquete PtLecEx → Modificado
  • PtLec: Compartido
  • PtLecEx: Invalida copia local → Inválido

Inválido (I)

  • PrLec: Genera paquete PtLec → Compartido
  • PrEsc: Genera paquete PtLecEx → Modificado
  • PtLec/PtLecEx: Inválido

Protocolo MESI

Modificado (M)

  • PrLec/PrEsc: Modificado
  • PtLec: Genera RpBloque → Compartido
  • PtLecEx: Genera RpBloque. Invalida copia local → Inválido
  • Reemplazo: Genera PtPEsc → Inválido

Compartido (S)

  • PrLec/PtLec: Compartido
  • PrEsc: Genera PtLecEx → Modificado
  • PtLecEx: Invalida copia local → Inválido

Inválido (I)

  • PrLec (C=1): Genera PtLec → Compartido
  • PtLec/PtLecEx: Inválido

Ley de Amdahl en Procesamiento Paralelo

Todo programa paralelo o concurrente tiene una parte secuencial que limita la aceleración en una plataforma paralela. Si el componente secuencial es 1/s del tiempo de ejecución, la aceleración máxima es s.

Implicaciones:

  • La aceleración máxima es 1/s. Al aumentar s, la aceleración decrece.
  • Reducir s es crucial para buenas aceleraciones.

Relevante en paralelización incremental de programas secuenciales.

OpenMP vs. MPI

Ventajas de OpenMP

  • Fácil programación y depuración.
  • Directivas incrementales para paralelización gradual.
  • Ejecución como código serie posible.
  • Menor modificación de declaraciones serie.
  • Código más fácil de entender y mantener.

Desventajas de OpenMP

  • Solo en memoria compartida.
  • Requiere compilador compatible.
  • Principalmente para paralelización de bucles.

Ventajas de MPI

  • Memoria compartida o distribuida.
  • Amplio rango de problemas.
  • Variables locales por proceso.
  • Menor costo en memoria distribuida.

Desventajas de MPI

  • Más cambios para paralelizar.
  • Depuración compleja.
  • Rendimiento limitado por la red.

Asignación Dinámica vs. Estática

Ventajas de Asignación Dinámica

  • Ideal para secciones paralelas con iteraciones de duración variable.
  • Eficiente en arquitecturas heterogéneas.

Inconvenientes de Asignación Dinámica

  • Mayor tiempo de cómputo por generación de hebras en tiempo de ejecución.
  • Mayor consumo de memoria.
  • Número variable de hebras.

Multithread Temporal: Grano Fino vs. Grano Grueso

Grano fino: Conmutación por turnos rotatorios (Round-Robin) o eventos con latencia.

Grano grueso: Conmutación tras intervalos fijos o eventos de latencia.

Escenario MESI con Petición de Lectura Exclusiva

Si un nodo con un bloque en estado M recibe una petición de lectura exclusiva, debe generar el paquete de respuesta e invalidar su copia local, ya que MESI actualiza la memoria con posescritura.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.