ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Memoria compartida basada en paginas


Enviado por   •  14 de Mayo de 2020  •  Apuntes  •  3.153 Palabras (13 Páginas)  •  367 Visitas

Página 1 de 13

Memoria Compartida Distribuida con base en páginas

El esquema de DSM propone un espacio de direcciones de memoria virtual que integra la memoria de todas las computadoras del sistema, y su uso se realiza mediante paginación. Las páginas quedan restringidas a estar necesariamente en un único nodo. Cuando un programa intenta acceder a una posición virtual de memoria, se comprueba si esa página se encuentra de forma local. Si no se encuentra, se provoca un fallo de página, y el sistema operativo solicita la página al resto de nodos. El sistema funciona de forma análoga al sistema de memoria virtual tradicional, pero en este caso los fallos de página se propagan al resto de ordenadores, hasta que la petición llega al nodo que tiene la página virtual solicitada en su memoria local. A primera vista este sistema parece más eficiente que el acceso a la memoria virtual en disco, pero en la realidad ha mostrado ser un sistema demasiado lento en ciertas aplicaciones, ya que provoca un tráfico de páginas excesivo.

Una mejora dirigida a mejorar el rendimiento sugiere dividir el espacio de direcciones en una zona local y privada y una zona de memoria compartida, que se usará únicamente por procesos que necesiten compartir datos. Esta abstracción se acerca a la idea de programación mediante la declaración explícita de datos públicos y privados, y minimiza el envío de información, ya que sólo se enviarán los datos que realmente vayan a compartirse.

Para implementar un sistema de Memoria Compartida Distribuida es posible hacer uso del hardware de administración de memoria. La gran mayoría de los computadores modernos basan su arquitectura de memoria en paginación o alguna variante de paginación. En este tipo de sistemas, el hardware ofrece una serie de facilidades relacionadas con las páginas de memoria, normalmente aprovechadas únicamente por el sistema operativo.

En un sistema de Memoria Compartida Distribuida basado en páginas, la unidad de memoria que utiliza el sistema es, precisamente, la página. Las paginas migran dinámicamente a través de la red en demanda, puesto que en realidad los procesos pueden acceder únicamente a paginas almacenadas en la memoria local del computador donde se están ejecutando.

Diseño básico

Aquí se presenta la idea más sencilla la cual es: Emular el cache de un multiprocesador mediante el MMU y el software operativo.

En un sistema de memoria compartida, el espacio de direcciones es separado en pedazos, los cuales están dispersos en todos los procesadores del sistema. Cuando un procesador hace referencia a una de las direcciones que no es local, ocurre un señalamiento, el software de memoria compartida trae el pedazo que contiene la dirección y reinicia la instrucción que fue suspendida y puede entonces concluir con éxito

Ilustración 1 diseño básico

En la imagen inciso (a) se ilustra el anterior concepto para un espacio de direcciones de 16 pedazos y cuatro procesadores cada uno de los cuales puede contener a su vez cuatro pedazos

En el inciso (b) se hace una referencia a las instrucciones o datos en los pedazos 0,2,5 o 9, las referencias se realizan de manera local. Mientras que las referencias a los demás pedazos provocan señalamientos. Por ejemplo, una referencia a una dirección en el pedazo 10 provocara un señalamiento de software

Replica

Una mejora al sistema basico, que ayuda al desempeño en gran medida, este consiste en duplicar los pedazos exclusivos para lectura y otras estructuras de datos exclusivas para lectura. Por ejemplo:

• El texto de un programa

• Constantes que son exclusivas para lectura

• Estructuras exclusivas para lectura

En la imagen anterior inciso (c) si el pedazo 10 es una sección de texto de un programa, su uso por parte del procesador 1 provoca el envió de una copia al procesador 1, sin perturbar al original en la memoria del procesador 2. De esta manera los procesadores 1 y 2 pueden hacer referencia al pedazo 10 con la frecuencia necesaria sin causar señalamientos para traer la memoria faltante

Granularidad

Esta característica señala que los sistemas de memoria distribuida son similares a los multiprocesadores en varios aspectos fundamentales. En ambos sistemas, cuando se hace referencia a una palabra de memoria no local, se trae un pedazo de memoria con la palabra, desde su posición actual, y se coloca en la máquina que hace la referencia (en la memoria principal o el cache, respectivamente).

Uno de los aspectos más importantes del diseño es el tamaño de dicho pedazo. Entonces las posibilidades son una palabra, un bloque (unas cuantas palabras), una página o un segmento (varias páginas)

Con un multiprocesador, el transporte de una palabra o unas docenas de Bytes es factible, pues el MMU conoce con exactitud la dirección de referencia y el tiempo para establecer una transferencia en el bus se mide en nanosegundos.

En pocas palabras se refiere a la especificidad a la que se define un nivel de detalle en una tabla, es decir, si hablamos de una jerarquía la granularidad empieza por la parte más alta de la jerarquía, siendo la granularidad mínima, el nivel más bajo.

Se define a nivel de página de memoria. Esto quiere decir que la mínima unidad referenciable por el sistema de MCD es la página, no pudiendo distinguir entre variables distintas almacenadas en la misma página.

A pesar de que el uso de una granularidad a nivel de página puede introducir problemas como el false sharing, también permite mantener el overhead producido por la administración de la memoria distribuida dentro de parámetros razonables. Esto se debe a que se puede hacer uso de las características de hardware para el manejo de memoria virtual, disponibles en la mayoría de los computadores.

obtención de la consistencia secuencial

La coherencia secuencial es uno de los modelos de coherencia utilizados en el dominio de la informática concurrente (por ejemplo, en memoria compartida distribuida, transacciones distribuidas, etc.).

Primero se definió como la propiedad que requiere que

"... el resultado de cualquier ejecución es el mismo que si las operaciones de todos los procesadores se ejecutaran en algún orden secuencial, y las operaciones de cada

...

Descargar como (para miembros actualizados)  txt (18.3 Kb)   pdf (55.2 Kb)   docx (16 Kb)  
Leer 12 páginas más »
Disponible sólo en Clubensayos.com