Está en la página 1de 17

Memoria Virtual Compartida

Memoria Virtual Compartida


Espacio de direcciones compartido por un conjunto de procesadores. Cada procesador puede acceder directamente a cualquier direccin de este espacio. Esto significa que no se requiere paso de mensajes entre procesadores. Existen unidades de mapeo de memoria (UMM) que permiten realizar el mapeo entre las memorias locales y la memoria virtual comn.

Apuntes preparados por Nstor Gonzlez V.

Memoria Virtual Compartida

Memoria Virtual Compartida


Caractersticas Libera al programador de la necesidad de pasar mensajes. No se necesita serializar (marshal) estructuras de datos. Es ms fcil compartir estructuras de datos complejas. Sencillo y eficiente para mquinas homogneas. Comunicacin implcita los datos se llevan a donde haga falta En general permite pasar a una red, un programa realizado para multiprocesador. Sincronizacin va los mecanismos clsicos de memoria compartida (espera activa, candados, semforos, monitores, regiones crticas).
Apuntes preparados por Nstor Gonzlez V. 2

Memoria Virtual Compartida

Memoria Virtual Compartida Paginacin y Coherencia


Paginacin: El espacio de memoria virtual est dividido en pginas. Una referencia a memoria puede provocar un fallo de pgina. La UMM recupera la pgina del disco o del procesador que la contenga. Si la pgina ha sido copiada por otro procesador, entonces existen dos pginas con el mismo espacio de direcciones en procesadores distintos.

Coherencia: Si una pgina puede estar en ms de un procesador, se puede presentar el problema de coherencia. Una memoria es coherente si el valor retornado por una operacin de lectura es igual al valor ms recientemente escrito. En sistemas con memoria virtual compartida, el problema de mantener la coherencia no se resuelve de manera trivial.
Apuntes preparados por Nstor Gonzlez V. 3

Memoria Virtual Compartida

Memoria Virtual Compartida estrategias de coherencia Los problemas de coherencia slo se producen cuando hay escritura y un procesador escribe en una pgina que tambin existe en la memoria local del otro. En general, existen tres estrategias para mantener la coherencia: - Actualizacin inmediata - Difusin de escritura - Invalidacin de escritura

Apuntes preparados por Nstor Gonzlez V.

Memoria Virtual Compartida

Memoria Virtual Compartida estrategias de coherencia

Actualizacin inmediata: La memoria comn mantiene siempre el ltimo valor escrito. En cada actualizacin de la memoria comn, todos los procesadores verifican si tienen una copia de la pgina, si la tienen, la invalidan. Inconveniente: si hay muchas escrituras, hay demasiadas invalidaciones.

Apuntes preparados por Nstor Gonzlez V.

Memoria Virtual Compartida

Memoria Virtual Compartida estrategias de coherencia

Difusin de escritura: Cuando un procesador realiza una escritura, sta es registrada localmente y difundida a todos los procesadores que tengan una copia de la pgina. Las mltiples pginas son todas actualizadas simultneamente. El problema principal es que se requiere de hardware especial para la actualizacin.

Apuntes preparados por Nstor Gonzlez V.

Memoria Virtual Compartida

Memoria Virtual Compartida estrategias de coherencia Invalidacin de escritura (escritura retardada): Cuando un procesador quiere modificar una pgina, enva un mensaje a todos los que poseen una copia para invalidarla. Slo se informa a los que tiene una copia y no a todos los procesadores. Antes de realizar una escritura, todas las pginas deben haber sido invalidadas. La invalidacin impide que los otros procesos lean datos desactualizados y mantiene la coherencia. La actualizacin se propaga slo cuando un procesador quiere leer un dato. Se disminuye la cantidad de informacin enviada por una actualizacin.

Apuntes preparados por Nstor Gonzlez V.

Memoria Virtual Compartida

Memoria Virtual Compartida comparacin de estrategias

La actualizacin inmediata y la difusin de escritura son ms convenientes cuando hay ms lecturas que escrituras. La invalidacin de escritura (escritura retardada) es ms conveniente cuando hay ms escrituras que lecturas. Sin embargo, en una arquitectura de memoria distribuida (sin memoria fsica comn) el nico mtodo factible de implementar es invalidacin de escritura.
Apuntes preparados por Nstor Gonzlez V. 8

Memoria Virtual Compartida

MVC en arquitecturas dbilmente acopladas En arquitecturas dbilmente acopladas no hay memoria fsica comn para los procesadores. Cada procesador dispone de una memoria local. Un sistema de comunicacin permite a los diferentes procesadores intercambiar mensajes. La implementacin MVC en una arquitectura dbilmente acoplada se basa en los mismos principios de la Memoria Virtual. El Espacio Virtual es visto como un conjunto de pginas. Se debe asegurar la coherencia de las pginas compartidas.

Apuntes preparados por Nstor Gonzlez V.

Memoria Virtual Compartida

MVC en arquitecturas dbilmente acopladas Se usa un protocolo de invalidacin de escritura: Se autoriza un solo redactor (escritor), o varios lectores en forma simultnea en una misma pgina. Cuando se escribe en una pgina virtual p, se enva un mensaje de invalidacin a todos los procesadores que poseen una copia de p. Existe un administrador de pginas virtuales: localiza la copia actualizada de la pgina y recibe todas las solicitudes de acceso.

Apuntes preparados por Nstor Gonzlez V.

10

Memoria Virtual Compartida

MVC en arquitecturas dbilmente acopladas Formas de implementar el administrador: Centralizado en un procesador predefinido. Asegura la coherencia para todo el conjunto de pginas virtuales. Estticamente distribuido. Cada procesador asegura la coherencia de un conjunto pre-establecido de pginas virtuales. Dinmicamente distribuido. El procesador que administra una pgina cambia en curso de ejecucin. Se dice que un procesador es propietario de una pgina cuando ha sido el ltimo en obtener derechos de acceso en escritura. Todos los algoritmos utilizan tablas de pginas con informacin necesaria a la administracin.
Apuntes preparados por Nstor Gonzlez V. 11

Memoria Virtual Compartida

MVC en arquitecturas dbilmente acopladas

Proc1
Tabla local derecho candado acceso N pgina virtual
(L, E, I )

L : Lectura, puede haber ms copias de la pgina E: Escritura, es el Propietario copia nica I : Invlido, la pgina no est presente

ProcN
Tabla local derecho candado acceso

N pgina virtual

Administrador Tabla Global


-Elegido y conocido por todos -No posee las pginas fsicas -Mantiene informacin global -Slo conoce la Tabla Global

propietario Conjunto de copias candado

Apuntes preparados por Nstor Gonzlez V.

12

Memoria Virtual Compartida

MVC en arquitecturas dbilmente acopladas

Protocolo Centralizado: Si hay un fallo de la pgina p en lectura (L) en un procesador Pj: Pj enva un mensaje al administrador, el cual lo incorpora en el conjunto de copias que estn siendo ledas. El administrador (Pg ) solicita al propietario (Pp) que enve una copia de p a Pj. Si Pp era el nico en poseer una copia, cambia su derecho de acceso de E a L.

Apuntes preparados por Nstor Gonzlez V.

13

Memoria Virtual Compartida

MVC en arquitecturas dbilmente acopladas Protocolo Centralizado: Si hay un fallo de pgina p en escritura en un procesador Pj: - La operacin es la misma, slo que Pg invalida las copias de p enviando mensajes a los procesadores del conjunto de copias - Luego de invalidar, Pg enva la solicitud a Pp, el cual invalida su copia despus de haber enviado la copia a Pj, que marca con E. Pg modifica el propietario en su tabla Escritura sobre una pgina residente: - Si Pj tiene derecho a escritura, escribe de inmediato (es el nico) - en caso contrario, se trata el asunto como un fallo de pgina.

Apuntes preparados por Nstor Gonzlez V.

14

Memoria Virtual Compartida

MVC en arquitecturas dbilmente acopladas

Distribucin esttica del control: A cada procesador se le asigna, en forma esttica y permanente, el control de un grupo de pginas. El esquema funciona igual que en el algoritmo centralizado, excepto que cuando se requiere realizar una accin sobre la pgina p, se hace, por ejemplo, un requerimiento al procesador p mod N.

Apuntes preparados por Nstor Gonzlez V.

15

Memoria Virtual Compartida

MVC en arquitecturas dbilmente acopladas

Distribucin dinmica del control: Se requiere repartir los propietarios de las pginas. En cada tabla local se agrega un campo que indica propietario probable. Este campo puede contener la identidad del propietario real o bien el comienzo de una cadena de propietarios probables que siempre conduce al propietario real. Cuando un procesador origina un fallo de pgina, enva su requerimiento al propietario probable de su tabla local. Al iniciar el sistema, cada pgina tiene su propietario por defecto, que conoce su emplazamiento en el disco Mientras se encamina un requerimiento por la cadena de propietarios probables, todos los procesadores actualizan su campo propietario probable con el nmero de Pj El propietario real enva la pgina y delega la propiedad. Si es una escritura, el nuevo propietario enva un mensaje de invalidacin a los que tienen copia.
Apuntes preparados por Nstor Gonzlez V. 16

Memoria Virtual Compartida

Memoria Virtual Compartida ejemplos de realizaciones Realizaciones Basadas en hardware: (Firefly, Dash)
Antecesores de la memoria global compartida. Multiprocesadores con bus o redes de interconexin. Gestin por hardware.

Basadas en paginacin: (Ivy, Mether)


Usan mecanismos de paginacin de memoria virtual tradicional.

Basadas en lenguajes o bibliotecas:


Completamente gestionados por programa. Objetos y mtodos (Orca) Variables compartidas (Linda, JavaSpaces)

Paginacin + bibliotecas: (Munin, Midway)


Apuntes preparados por Nstor Gonzlez V. 17

También podría gustarte