Principales Arquitecturas de Soporte empleadas en la Programación Paralela y Distribuida (PPD).
Memoria compartida uniforme (UMA)
UMA (Uniform Memory Access) La memoria física es compartida uniformemente por todo procesadores. Todos los procesadores tienen tiempo de acceso igual a la memoria. Se llama también sistema acoplado hermético debido al alto grado de compartir recursos. La interconexión del sistema toma la forma de un bús común, un crossbar switch. El modelo UMA es satisfactorio para aplicaciones de propósitos generales y tiempo compartido para múltiples usuarios.

Las arquitecturas UMA frecuentemente se ven como opuestas a las arquitecturas NUMA (Non-Uniform Memory Access).
En la arquitectura UMA, cada procesador puede utilizar una caché privada. Existe un modo para compartir también dispositivos periféricos. El modelo UMA es más adecuado para aplicaciones de propósito general o para aplicaciones multi-usuario. Puede ser utilizado para aumentar el speed up de programas largos y tediosos, consiguiendo que varias máquinas ejecuten el mismo programa en menos tiempo y a ser posible con los mismos resultados.

La memoria compartida es fisicamente distribuida a todos los procesadores, llamada memorias locales. La colección de todas las memorias locales forma un espacio de la direcciones global accesible por todo procesadores.