4.1. Configuraciones de memoria comparativa distribuida
COMPUTACIÓN PARALELA
Un computador paralelo es un conjunto de procesadores capaces de cooperar en la solución de un problema.
El problema se divide en partes. Cada parte se compone de un conjunto de instrucciones. Las instrucciones de cada parte se ejecutan simultáneamente en diferentes CPUs. Técnicas computacionales que descomponen un problema en sus tareas y pistas que pueden ser computadas en diferentes máquinas o elementos de proceso al mismo tiempo.
DE CIRCUITOS, BASADOS EN BUS, ANILLO O CON CONMUTADOR
Existen varias formas de implantar físicamente memoria compartida distribuida, a continuación se describen cada una de ellas.
Memoria basada en circuitos: Existe una única área de memoria y cada micro tiene su propio bus de datos y direcciones (en caso de no tenerlo se vuelve un esquema centralizado)
MCD basada en bus: En este esquema los micros comparten un bus de datos y direcciones por lo que es más barato de implementar, se necesita tener una memoria caché grande y sumamente rápida.
Multiprocesadores tipo bus
Conexión entre CPU y memoria se hace a través de cables paralelos:
algunos transmiten las direcciones y datos que el CPU quiere leer o escribir
otros envían o reciben datos

MCD basada en anillos: Es más tolerante a fallos, no hay coordinador central y se privilegia el uso de la memoria más cercana.
Multiprocesadores basados en anillo.
Ejemplo Memnet: un espacio de direcciones se divide en una parte privada y otra compartida.
La parte privada:
se divide en regiones cada máquina cuenta con memoria para su pila, datos y códigos no compartidos.
Parte compartida:
común a todas las máquinas y se guarda de forma consistente mediante un protocolo de hardware parecido a los de bus se divide en bloques de 32 bytes, (unidad transferencia)
MCD basada en conmutador: Varios micros se conectan entre sí en forma de bus formando un grupo, los grupos están interconectados entre sí a través de un conmutador. Cuando se realiza una operación de memoria se intenta realizar dentro del grupo, de lo contrario pasa al conmutador para que lo redirecciones a otro grupo.

Multiprocesadores con conmutador.
En anillo o bus, el hecho de añadir un CPU satura el ancho de banda del bus o anillo
Dos métodos para solucionar el problema:
Reducir la cantidad de comunicación
Incrementar la capacidad de comunicación
Una forma de reducir la cantidad de comunicación es el ocultamiento trabajo adicional en esta área:
mejorar protocolo de ocultamiento
optimizar el tamaño del bloque
incrementar la localidad de las referencias a memoria.