Fundamentos de Arquitectura Paralela: Clasificación de Flynn y Coherencia de Caché
Clasificado en Informática
Escrito el en
español con un tamaño de 3,83 KB
Clasificación de Flynn y Conceptos Fundamentales
La clasificación de Flynn es un esquema para categorizar arquitecturas de computadores basado en el número de flujos de instrucciones y flujos de datos que pueden procesar simultáneamente.
Modelos de la Clasificación de Flynn
- SISD (Single Instruction, Single Data)
- Computador secuencial que no explota el paralelismo en las instrucciones ni en flujos de datos.
- SIMD (Single Instruction, Multiple Data)
- Tratamiento de datos en paralelo con múltiples elementos de procesamiento o unidades vectoriales.
- MISD (Multiple Instruction, Single Data)
- Un computador que explota varios flujos de datos dentro de un único flujo de instrucciones para realizar operaciones que pueden ser paralelizadas de manera natural.
- MIMD (Multiple Instruction, Multiple Data)
- Arquitecturas paralelas que manejan múltiples flujos de instrucciones y múltiples flujos de datos.
Definiciones Clave
- Programa
- Secuencia de instrucciones de bajo nivel.
- Usuario
- Programador de rutinas, sistemas o aplicaciones.
Paralelismo en Aplicaciones
El paralelismo puede ser gestionado de dos maneras:
- Implícito: A nivel de compilación o de sistema operativo.
- Explícito: A nivel de programación.
Arquitecturas de Procesamiento Paralelo
Multiprocesadores vs. Multicomputadores
Multiprocesadores (Memoria Compartida)
Son sistemas formados por un cierto número de procesadores que trabajan en paralelo. La comunicación entre ellos se realiza mediante el empleo de variables en memoria compartida.
Multicomputadores (Memoria Distribuida)
En este caso, los procesadores que trabajan en paralelo disponen de una memoria totalmente independiente del resto. Se caracterizan, por tanto, por emplear un sistema de memoria distribuida. La intercomunicación se realiza mediante paso de mensajes entre ellos.
Modelos de Acceso a Memoria
UMA (Acceso Uniforme a Memoria)
Todos los procesadores tienen el mismo nivel de acceso a memoria compartida a través de la red de interconexión.
NUMA (Acceso No Uniforme a Memoria)
Existen distintos niveles de acceso a las distintas unidades de memoria del sistema. Los procesadores acceden de forma más rápida a unas unidades que a otras.
Coherencia de Caché en Sistemas Paralelos
Problemas de Coherencia de Caché (3)
Los principales desafíos que surgen en la gestión de la coherencia de caché son:
- Compartición de datos: Múltiples copias de los datos existen en la caché local de los procesadores y en la memoria principal.
- Migración de procesos: Una serie de procesos del Sistema Operativo se reparten desde procesadores sobrecargados hacia procesadores libres (Balance de cargas), pero los datos asociados pueden perderse o desactualizarse.
- Entrada-Salida (E/S): Modificación de datos de la memoria principal por procesos de E/S, lo que puede dejar obsoletas las copias en caché.
Requisitos para la Coherencia de Caché (2)
Para mantener la integridad de los datos en un sistema de memoria compartida, se deben cumplir dos condiciones fundamentales:
- Propagación de escritura: Cualquier modificación debe propagarse a todas las unidades involucradas (cachés y memoria principal).
- Serialización de escritura: El orden de propagación de las escrituras debe ser el mismo para todas las unidades, garantizando una secuencia de eventos consistente.