# data[].attributes.body
La idea principal de los sistemas de multiprocesadores es lograr la unión de los procesadoresde forma tal que trabajen como si se tratase de una única computadora, en la cual se encuentran reunidas las capacidades de procesamiento de todos los procesadores y claro estádel resto de los recursos asociados a estos, como lo es la RAM, la memoria secundaria y los dispositivos de entrada y salida.
https://www.youtube.com/watch?v=npfMR2kOeKs
https://www.youtube.com/watch?v=dBteZ-aye74

# data[].attributes.headline
COMA (acceso a la memoria caché únicamente): 

# data[].attributes.subject
COMA (acceso a la memoria caché únicamente): 

# data[].attributes.body
Se basa en tener la memoria compartida como si fuera una gran caché.
Las arquitecturas cache only memory access tratan la memoria principal como una memoria caché grande.
La memorial local a cada procesador se convierta en parte de una memoria caché grande.

Las arquitecturas ccNUMA ayudan a ocultar la diferencia de tiempo entre accesos locales y remotos, esto dependerá de la localidad de datos que se explote y la capacidad de las cachés
En el caso de que el volumen de los datos a los que se accede sea mayor que la capacidad de la caché, o el patrón de acceso no ayude, volveremos a tener fallos de caché y el rendimiento de las aplicaciones no será bueno.
Según tengan o no caché, los multiprocesadores NUMA se clasifican en cache coherenceNUMA (ccNUMA) o Non-Coherence NUMA respectivamente. El término de coherencia o no coherencia proviene de mantenerla o no en los datos duplicados en las cachés.

# data[].attributes.body
UMA (acceso uniforme a la memoria):
Se hicieron "populares" en el año 2000. Todos los accesos a memoria tardan el mismo tiempo y está dividida en módulos a los que se accede a través de una red de interconexión basada en switches.
Los procesadores CMP son procesadores de tipo UMA que incorporan más de una unidad de procesamiento dentro de un único chip.

# data[].attributes.headline
UMA y NUMA tienen que ver con el tiempo de acceso a la memoria principal: 

# data[].attributes.subject
UMA y NUMA tienen que ver con el tiempo de acceso a la memoria principal: 

# data[].attributes.body
No teniéndose en cuenta la diferencia de tiempo entre un acierto o un fallo en caché.

# data[].attributes.body
Sistema multiprocesador donde los procesadores se conectan ala memoria compartida utilizando un bus (dato y direcciones)
El hecho de que todos los procesadores accedan al mismo bus para acceder a memoria puede significar un cuello de botella.

# data[].attributes.body
Permite evitar conflictos entre los accesos a las memorias que no van al mismo módulo.
Se observa la distribución de los módulos entre los diferentes nodos. Estos nodos tienen un bus local para acceder a la memoria local, y se conectan a la red de interconexión para acceder a la memoria situada en otros nodos.
También observamos un hardware llamado directorio que sirve para mantener la coherencia de los datos y que explicaremos, más adelante, en el módulo. La redes de interconexión típicas de estos sistemas son las redes de tipo tree y las de bus jerárquico.

# data[].attributes.body
Las conexiones a través de un bus son fáciles de construir pero pueden tener mayor contención de acceso a memoria que otras redes de interconexión.

# data[].attributes.headline
NUMA (acceso no uniforme a la memoria): 

# data[].attributes.subject
NUMA (acceso no uniforme a la memoria): 

# data[].attributes.body
NUMA cualquier sistema con jerarquía de memoria incluidos los uniprocesadores.
La jerarquía de memoria ayuda a reducir la contención dé acceso a memoria si se explota la localidad de datos.
A diferencia de los UMA, los accesos a memoria pueden tener tiempos distintos.
La memoria también está compartida, pero los módulos de memoria están distribuidos entre los diferentes procesadores con el objetivo de reducir la contención de acceso a memoria.

# data[].attributes.body
Un modelo de consistencia de memoria es un conjunto de reglas que gobierna cómo los sistemas de memoria procesarán las operaciones de memoria (carga/almacenamiento) desde múltiples procesadores.

# data[].attributes.body
Es un dispositivo que interconecta dos o más segmentos de red (links), pasando datos de un segmento a otro según la configuración de conexiones y la dirección que deba tomar el dato a transferir.