Articulo de referencia

Arquitectura de sistema multiprocesador

Un sistema multiprocesador ( MP ) se define como "un sistema con más de un procesador " y, más precisamente, "un conjunto de unidades centrales de procesamiento interconectadas ...

Un sistema multiprocesador ( MP ) se define como "un sistema con más de un procesador " y, más precisamente, "un conjunto de unidades centrales de procesamiento interconectadas para permitir el procesamiento en paralelo". [ 1 ] [ 2 ] [ 3 ]

El objetivo principal de un multiprocesador es aumentar la velocidad de ejecución de un sistema. Los otros objetivos son la tolerancia a fallos y la adaptación a las aplicaciones. [ 4 ]

El término "multiprocesador" puede confundirse con el término " multiprocesamiento ". Mientras que el multiprocesamiento es un tipo de procesamiento en el que dos o más procesadores trabajan juntos para ejecutar varios programas simultáneamente, el término multiprocesador se refiere a una arquitectura de hardware que permite el multiprocesamiento. [ 5 ]

Los sistemas multiprocesador se clasifican según cómo se gestiona el acceso a la memoria del procesador y si los procesadores del sistema son de un solo tipo o de varios.

Tipos de sistemas multiprocesador

Existen muchos tipos de sistemas multiprocesador:

  • Sistema multiprocesador débilmente acoplado
  • Sistema multiprocesador estrechamente acoplado
  • Sistema multiprocesador homogéneo
  • Sistema multiprocesador heterogéneo
  • Sistema multiprocesador de memoria compartida
  • Sistema multiprocesador de memoria distribuida
  • Sistema de acceso uniforme a memoria (UMA)
  • Sistema cc-NUMA
  • Sistema híbrido: memoria del sistema compartida para datos globales y memoria local para datos locales.

Sistema multiprocesador de acoplamiento flexible (memoria distribuida)

Sistema multiprocesador débilmente acoplado

En los sistemas multiprocesador débilmente acoplados, cada procesador tiene su propia memoria local, canales de entrada/salida (E/S) y sistema operativo . Los procesadores intercambian datos a través de una red de comunicación de alta velocidad mediante el envío de mensajes a través de una técnica conocida como " paso de mensajes ". Los sistemas multiprocesador débilmente acoplados también se conocen como sistemas de memoria distribuida, ya que los procesadores no comparten memoria física y tienen canales de E/S individuales.

Características del sistema

  • Estos sistemas son capaces de realizar programación de instrucciones múltiples sobre datos múltiples (MIMD, por sus siglas en inglés).
  • Este tipo de arquitectura permite el procesamiento en paralelo .
  • La memoria distribuida es altamente escalable.

Sistema multiprocesador de acoplamiento estrecho (memoria compartida)

Sistema multiprocesador con memoria compartida estrechamente conectada a los procesadores.

Un sistema de multiprocesamiento simétrico es un sistema con memoria compartida centralizada, denominada memoria principal (MM), que funciona bajo un único sistema operativo con dos o más procesadores homogéneos.

Existen dos tipos de sistemas:

  • Sistema de acceso uniforme a memoria (UMA)
  • Sistema NUMA

Sistema de acceso uniforme a memoria (UMA)

  • Sistema de multiprocesamiento heterogéneo
  • Sistema de multiprocesamiento simétrico (SMP)

Sistema multiprocesador heterogéneo

Un sistema de multiprocesamiento heterogéneo contiene múltiples unidades de procesamiento, aunque no homogéneas: unidades centrales de procesamiento (CPU), unidades de procesamiento gráfico (GPU), procesadores de señales digitales (DSP) o cualquier tipo de circuito integrado de aplicación específica (ASIC). La arquitectura del sistema permite que cualquier acelerador, como un procesador gráfico, opere al mismo nivel de procesamiento que la CPU del sistema.

Sistema multiprocesador simétrico

Sistema de multiprocesamiento simétrico

Sistemas que funcionan bajo un único sistema operativo (SO ) con dos o más procesadores homogéneos y con una memoria principal compartida centralizada.

Un sistema multiprocesador simétrico (SMP) es un sistema con un conjunto de procesadores homogéneos que se ejecutan bajo un único sistema operativo con una memoria principal centralizada y compartida. Cada procesador, que ejecuta programas diferentes y trabaja con conjuntos de datos distintos, tiene la capacidad de compartir recursos comunes (memoria, dispositivo de E/S, sistema de interrupciones, etc.) que están conectados mediante un bus del sistema, una matriz de conmutación o una combinación de ambos, o bien mediante un bus de direcciones y una matriz de conmutación de datos.

Cada procesador dispone de su propia memoria caché, que actúa como puente entre el procesador y la memoria principal. La función de la caché es reducir la necesidad de acceder a los datos de la memoria principal, disminuyendo así el tráfico del bus del sistema.

El uso de memoria compartida permite un tiempo de acceso a la memoria uniforme (UMA).

Sistema cc-NUMA

Sistema cc-NUMA
Lectura de memoria remota cc-NUMA

Se sabe que el sistema SMP tiene una escalabilidad limitada. Para superar esta limitación, se suele utilizar la arquitectura denominada "cc-NUMA" (coherencia de caché y acceso a memoria no uniforme). La característica principal de un sistema cc-NUMA es que cuenta con una memoria global compartida que se distribuye a cada nodo, aunque el acceso efectivo de un procesador a la memoria de un subsistema remoto, o "nodo", es más lento que el acceso a la memoria local, razón por la cual dicho acceso es "no uniforme".

Un sistema cc-NUMA es un clúster de sistemas SMP, cada uno llamado "nodo", que puede tener un solo procesador, un procesador multinúcleo o una combinación de ambos, de uno u otro tipo de arquitectura, conectados a través de una "red de conexión" de alta velocidad que puede ser un "enlace" que puede ser un anillo simple o doble inverso, o múltiples anillos, conexiones punto a punto, [ 6 ] [ 7 ] o una combinación de estos (por ejemplo, IBM Power Systems [ 6 ] [ 8 ] ), interconexión de bus (por ejemplo, NUMAq [ 9 ] ), "barra cruzada", "bus segmentado" ( NUMA Bull HN ISI ex Honeywell , [ 10 ] ), " enrutador de malla ", etc.

cc-NUMA también se denomina arquitectura de " memoria compartida distribuida " (DSM). [ 11 ]

La diferencia en los tiempos de acceso entre la memoria local y la remota también puede ser de un orden de magnitud, dependiendo del tipo de red de conexión utilizada (más rápida en interconexión de bus segmentado, matriz de barras cruzadas y punto a punto; más lenta en conexión de anillos en serie).

Ejemplos de interconexión

Anillo de doble inversión
Autobús segmentado
Travesaño

Para superar esta limitación, normalmente se utiliza una caché remota de gran tamaño (véase Caché remota ). Con esta solución, el sistema cc-NUMA se asemeja mucho a un sistema SMP de gran tamaño.

Arquitectura de acoplamiento estrecho frente a arquitectura de acoplamiento flexible

Ambas arquitecturas presentan ventajas e inconvenientes que pueden resumirse de la siguiente manera:

  • Las arquitecturas débilmente acopladas ofrecen un alto rendimiento de cada procesador individual, pero no permiten un equilibrio sencillo y en tiempo real de la carga entre los procesadores.
  • Las arquitecturas estrechamente acopladas ofrecen un fácil equilibrio de carga y distribución entre procesadores, pero sufren del cuello de botella que supone el uso compartido de recursos comunes a través de uno o más buses.

Sistema multiprocesador con multiplicación global de datos.

Un enfoque intermedio, entre los de las dos arquitecturas anteriores, consiste en tener recursos comunes y recursos locales, como memorias locales (LM), en cada procesador.

Los recursos comunes son accesibles desde todos los procesadores a través del bus del sistema, mientras que los recursos locales solo son accesibles para el procesador local. Desde esta perspectiva, las memorias caché pueden considerarse como memorias locales.

Este sistema (patentado por F. Zulian [ 12 ] ), utilizado en el sistema basado en Unix DPX/2 300 (Bull Hn Information Systems Italia (ex Honeywell)), [ 13 ] es una mezcla de sistemas acoplados de forma estrecha y flexible y aprovecha todos los avances de estas dos arquitecturas.

La memoria local se divide en dos sectores: datos globales (GD) y datos locales (LD).

El concepto básico de esta arquitectura consiste en disponer de datos globales, información modificable, accesibles para todos los procesadores. Esta información se duplica y se almacena en la memoria local de cada procesador.

Cada vez que se modifican los datos globales en una memoria local, se envía una señal de escritura por hardware al bus del sistema para mantener la coherencia de los datos globales. De esta forma, cada procesador puede leer los datos globales accediendo a su propia memoria local sin necesidad del bus del sistema. El acceso al bus del sistema solo es necesario cuando se modifican los datos globales en una memoria local para actualizar la copia de estos datos almacenada en las demás memorias locales.

En un sistema débilmente acoplado, los datos locales pueden intercambiarse mediante el paso de mensajes .

Sistema multiprocesador con multiplicación global de datos.
Sistema multiprocesador con multiplicación global de datos: difusión de escritura de datos global.

Referencias

  1. "Definición y significado de multiprocesador - Diccionario de inglés Collins" . CollinsDictionary.com .
  2. "Datos" (PDF) . CS.VU.nl .
  3. "multiprocesador – Definición de multiprocesador en inglés según Oxford Dictionaries" . Oxford Dictionaries - Inglés . Archivado del original el 4 de noviembre de 2018.
  4. "¿Qué es un multiprocesador? - Definición de Techopedia" . Techopedia.com . 24 de septiembre de 2014.
  5. "Definición de diccionario de multiprocesador - definición de multiprocesador" . YourDictionary.com .
  6. 1 2 Sistemas MP de memoria compartida AMD Opteron – http://www.cse.wustl.edu/~roger/569M.s09/28_AMD_Hammer_MP_HC_v8.pdf
  7. "Introducción a la interconexión Intel QuickPath" (PDF) .
  8. "Descripción general de los sistemas IBM POWER" . computing.llnl.gov .
  9. SourceForge – https://lse.sourceforge.net/numa/faq/system_descriptions.html
  10. US 6314484 , F. Zulian, "Sistema informático con un bus de estructura segmentada", asignado a Bull HN 
  11. Arquitectura NUMA – http://www.dba-oracle.com/real_application_clusters_rac_grid/numa.html
  12. ↑ Solicitud estadounidense 4928224 , Zulian Ferruccio, "Sistema multiprocesador con multiplicación global de datos", publicada el 22 de mayo de 1990, asignada a Bull HN Information Systems. 
  13. ^ Bellec, Jean (20 de febrero de 2003). "UNIX y Toro" . Feb-Patrimoine.com . Fédération des Equipes Bull . Consultado el 14 de diciembre de 2025 .
Obtenido de " https://en.wikipedia.org/w/index.php?title=Multiprocessor_system_architecture&oldid=1337043502 "