DSM es un mecanismo que administra la memoria en múltiples Nodes y hace que las comunicaciones entre procesos sean transparentes para los usuarios finales. Las aplicaciones pensarán que se están ejecutando en la memoria compartida. DSM es un mecanismo que permite que los procesos de usuario accedan a datos compartidos sin utilizar comunicaciones entre procesos. En DSM, cada Node tiene su propia memoria y proporciona servicios de lectura y escritura de memoria y proporciona protocolos de coherencia. La memoria compartida distribuida (DSM) implementa el modelo de memoria compartida en sistemas distribuidos pero no tiene memoria compartida física. Todos los Nodes comparten el espacio de direcciones virtuales proporcionado por el modelo de memoria compartida. Los Datos se mueven entre las memorias principales de diferentes Nodes.
Tipos de memoria compartida distribuida
Memoria en chip:
- Los datos están presentes en la parte de la CPU del chip.
- La memoria está conectada directamente a las líneas de dirección.
- El DSM de memoria en chip es costoso y complejo.
Multiprocesadores basados en bus:
- Un conjunto de cables paralelos llamado bus actúa como una conexión entre la CPU y la memoria.
- el acceso a la misma memoria simultáneamente por varias CPU se evita mediante el uso de algunos algoritmos
- La memoria caché se utiliza para reducir el tráfico de red.
Multiprocesadores basados en anillo:
- No hay memoria centralizada global presente en DSM basado en Ring.
- Todos los Nodes están conectados a través de un anillo de paso de tokens.
- En DSM de base de anillo, una sola línea de dirección se divide en el área compartida.
Ventajas de la memoria compartida distribuida
- Abstracción más simple: el programador no necesita preocuparse por el movimiento de datos, ya que el espacio de direcciones es el mismo, es más fácil de implementar que RPC.
- Portabilidad más sencilla: los protocolos de acceso utilizados en DSM permiten una transición natural de los sistemas secuenciales a los distribuidos. Los programas de DSM son portátiles ya que utilizan una interfaz de programación común.
- localidad de los datos: los datos que se mueven en bloques grandes, es decir, los datos cercanos a la ubicación de memoria actual que se está recuperando, pueden ser necesarios en el futuro, por lo que también se recuperarán.
- Movimiento de datos bajo demanda: proporcionado por DSM eliminará la fase de intercambio de datos.
- mayor espacio de memoria: proporciona un gran espacio de memoria virtual, el tamaño total de la memoria es la suma del tamaño de la memoria de todos los Nodes, las actividades de paginación se reducen.
- Mejor rendimiento: DSM mejora el rendimiento y la eficiencia al acelerar el acceso a los datos.
- Entorno de comunicación flexible: pueden unirse y abandonar el sistema DSM sin afectar a los demás, ya que no es necesario que el remitente y el receptor existan,
- migración de procesos simplificada: todos comparten el espacio de direcciones, por lo que un proceso se puede mover fácilmente a una máquina diferente.
Además de las ventajas mencionadas anteriormente, DSM tiene otras ventajas como:
- Menos costoso en comparación con el uso de un sistema multiprocesador.
- Sin cuellos de botella en el acceso a los datos.
- Escalabilidad, es decir, las escalas son bastante buenas con una gran cantidad de Nodes.
Publicación traducida automáticamente
Artículo escrito por pulamolusaimohan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA