Memoria Compartida Distribuida (DSM): Conceptos y Mecanismos Clave

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 3,39 KB

Mecanismos Fundamentales de DSM

Réplica de datos

Una mejora clave en los sistemas de Memoria Compartida Distribuida (DSM) es la capacidad de duplicar los fragmentos exclusivos de lectura.

Granularidad en DSM

Los sistemas DSM son análogos a los multiprocesadores. Cuando se referencia una palabra no local, el fragmento de memoria que contiene dicha palabra se recupera de su ubicación actual y se transfiere a la CPU que realiza la referencia. Un aspecto crucial en este proceso es el tamaño de dicho fragmento, que puede variar desde una palabra, un bloque, una página o hasta un segmento.

Búsqueda del propietario de la página

La forma más sencilla de localizar al propietario de una página es mediante una transmisión, solicitando la respuesta del propietario de la página específica. Una vez localizado, el protocolo puede continuar. La optimización de este proceso consiste en preguntar también si el emisor desea leer o escribir y si requiere una copia de la página. El propietario puede entonces enviar un mensaje transfiriendo la propiedad y la página según sea necesario.

Localización e invalidación de copias

Otro detalle importante es la forma de localizar todas las copias cuando estas deben ser invalidadas. Existen dos opciones principales:

  • Transmitir un mensaje con el número de página y solicitar a todas las CPU que posean la página que la invaliden. Este método solo funciona si los mensajes son completamente confiables y nunca se pierden.
  • El propietario o el controlador mantienen una lista del conjunto de copias, indicando las CPU que tienen la página correspondiente.

Modelos de Memoria Compartida Distribuida

DSM basado en variables

La Memoria Compartida Distribuida (DSM) basada en páginas utiliza un espacio de direcciones lineal normal y permite que las páginas migren dinámicamente a través de la red. Un método más estructurado consiste en compartir solo ciertas variables y estructuras de datos necesarias para múltiples procesos.

DSM basado en objetos

Los sistemas DSM basados en páginas presentan sus desventajas. En muchos lenguajes de programación, los datos se organizan en objetos, paquetes, módulos u otras estructuras, cada una con una existencia independiente de las otras. Si un proceso referencia una parte de un objeto, en muchos casos se necesitará el objeto completo, por lo que tiene sentido transportar los datos a través de la red en unidades de objetos, no en unidades de páginas.

Ejemplos de Implementaciones de DSM

Munin

Munin es un sistema DSM basado en objetos de software, que puede ubicar cada objeto en una página separada, permitiendo que la MMU detecte el acceso a objetos compartidos. Su objetivo es adaptar programas multiprocesador existentes, realizando cambios menores para que se ejecuten eficientemente en sistemas multicomputadora.

Midway

Midway es un sistema DSM cuya base es el compartimiento de estructuras de datos individuales. Permite que programas multiprocesador existentes y nuevos se ejecuten eficientemente en sistemas multicomputadora con ligeros cambios en el código. Los programas en Midway son programas convencionales escritos en C o C++, con cierta información adicional proporcionada por el programador. Utilizan la biblioteca de hilos C para expresar el paralelismo.

Entradas relacionadas: