sistemas operativos en ambientes distribuidos unidad 4 tema: memoria compartida distribuida (mcd o...

35
Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Upload: maria-del-rosario-ramirez-flores

Post on 24-Jan-2016

235 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Sistemas Operativos en Ambientes Distribuidos

Unidad 4TEMA: Memoria Compartida

Distribuida (MCD o DSM).

Ing. Efrain Padilla Valera

Page 2: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Instituto Tecnológico de Tepic

Contenido

Configuraciones de memoria compartida distribuida: de circuitos, basada en bus, anillo o con conmutador

Memoria compartida distribuida en base apáginas: Diseño, réplica, granulada

Memoria compartida distribuida en base avariables.

Modelos de consistencia: Estricta, causal,secuencial, débil, de liberación, y de entrada.

Memoria compartida distribuida en base aobjetos.

Page 3: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Instituto Tecnológico de Tepic

Bibliografía Distributed Systems: Concepts and Design

G. Coulouris, J. Dollimore, T. KindbergAddison-Wesley, 2001

Distributed Operating SystemsA. S. TanenbaumPrentice-Hall, 1995

Distributed Operating Systems: Concepts & PracticeD. L. GalliPrentice-Hall, 2000

Distributed Operating Systems & AlgorithmsR. Chow, T. JohnsonAddison-Wesley, 1997

Traducciones al Español Sistemas Distribuidos: Conceptos y Diseño

G. Coulouris, J. Dollimore, T. KindbergAddison-Wesley, 2001

Sistemas Operativos DistribuidosA. S. TanenbaumPrentice-Hall, 1996

Page 4: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Preámbulo: clasificación de sist. paralelos

2 Factores: Memoria centralizada versus distribuida Memoria privada versus compartida

Clasificación: Memoria centralizada y compartida → multiprocesadores Memoria distribuida y privada → sistemas distribuidos Memoria distribuida y compartida → Distributed Shared Memory (DSM)

Distributed Shared Memory (DSM) Mediante hardware:

• Multiprocesadores NUMA (acceso a memoria no uniforme)

Mediante software • Incluir software en SD para ofrecer DSM

Instituto Tecnológico de Tepic

Page 5: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Multiprocesadores NUMA (acceso a memoria no uniforme)

Instituto Tecnológico de Tepic

Page 6: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Instituto Tecnológico de Tepic

Introducción

La principal problemática que se presenta entre dos o más procesos sean locales o distribuidos al compartir recursos es que cada proceso tiene su propio espacio de direcciones.

Cuando se trata de procesos locales al estar físicamente en el mismo hardware el espacio de direcciones se vuelve sencillo la compartición. Esto no es sencillo en procesos distribuidos.

En un Sistema Operativo Distribuido, una computador ejecuta los procesos en su memoria propia, pero en caso de necesitar más memoria utilizará los recursos disponibles de otra computadora.

La Memoria compartida distribuida ayuda a que no se formen los famosos cuellos de botella, facilita el diseño y construcción de sistemas distribuidos.

Page 7: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Introducción Multiprocesadores con memoria compartida vs. Sistemas

distribuidos: HW más complejo y difícilmente ampliable SW más sencillo y mejor conocido

Modelo de programación en sistemas con memoria compartida Llamadas a procedimiento (o invocación de métodos) Comunicación mediante datos compartidos Sincronización mediante semáforos

Modelo de programación tradicional en sistemas distribuidos Paso de mensajes para comunicación y sincronización

Nuevo modelo de programación en sistemas distribuidos RPC (o RMI) + DSM

Instituto Tecnológico de Tepic

Page 8: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Introducción Memoria compartida distribuida (DSM)

Memoria compartida implementada por software Simulada mediante paso de mensajes Comunicación con datos compartidos y sincronización con semáforos

Objetivo: Sistemas fáciles de construir y programar Especialmente adecuada para aplicaciones paralelas

Problemas: Rendimiento aceptable requiere múltiples copias en distintos nodos

Problema de coherencia: Similar a multiprocesadores pero por SW Difícil manejar heterogeneidad

Instituto Tecnológico de Tepic

Page 9: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Visión general de la MCD

Instituto Tecnológico de Tepic

Physicalmemory

Processaccessing DSM

DSM appears asmemory in addressspace of process

Physicalmemory

Physicalmemory

Distributed shared memory

Page 10: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Estrategias de implementación

Existen varías formas de implantar físicamente memoria compartida distribuida, a continuación se describen cada una de ellas.

Memoria basada en circuitos: existe una única área de memoria y cada micro tiene su propio bus de datos y direcciones (en caso de no tenerlo se vuelve un esquema centralizado)

Instituto Tecnológico de Tepic

Page 11: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Estrategias de implementación MCD basada en bus: en este esquema los micros

comparten un bus de datos y direcciones por lo que es más barato de implementar, se necesita tener una memoria caché grande y sumamente rápida.

Instituto Tecnológico de Tepic

Page 12: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Estrategias de implementación MCD basada en anillos: es más tolerante a fallos, no hay

coordinador central y se privilegia el uso de la memoria más cercana

Instituto Tecnológico de Tepic

Page 13: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Estrategias de implementación MCD basada en conmutador: varios micros se conectan

entre sí en forma de bus formando un grupo, los grupos están interconectados entre sí a través de un conmutador. Cuando se realiza una operación de memoria se intenta realizar dentro del grupo, de lo contrario pasa al conmutador para que lo redireccione a otro grupo.

No existe un arquitectura de MCD óptima. Instituto Tecnológico de Tepic

Page 14: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Modelos de consistencia La principal problemática de la compartición de memoria en

ambientes distribuidos consiste en el manejo de la consistencia ya que varios procesos distribuidos pueden estar escribiendo en la zona de memoria compartida pudiendo invalidar el contenido de las lecturas que acaban de hacer algunos procesos.

Para prevenir esta problemática se han planteado muchos mecanismos que permiten evitar la inconsistencia de los datos

Una forma básica pero costosa es el manejo de replicación sólo se debe considerar la granularidad de la réplica así como la reintegración de las modificaciones.

Se deben considerar el tipo de datos que se están compartiendo: páginas, variables, objetos, etc.

Instituto Tecnológico de Tepic

Page 15: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Modelos de consistencia Modelo:

Existen dos operaciones: write y read.• Wi(x)a: el proceso i realiza write sobre X con valor a• Rj(y)b: el proceso j realiza read sobre Y, obteniendo el valor b.

Un cliente que accede a los datos, realiza read o write sobre una copia de los datos.

Existen múltiples copias de los datos, estructuradas en lo que llamaremos almacén de datos.

Un modelo de consistencia consiste en un contrato entre los procesos que acceden a los datos y el almacén de datos.

El contrato estipula que: si los procesos siguen ciertas reglas, el almacén de datos proporciona ciertas garantías. Normalmente, si un proceso realiza una operación read, obtendrá la

última actualización del dato. A veces no es fácil saber cuál es la última actualización

Instituto Tecnológico de Tepic

Page 16: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Consistencia Estricta Este modelo es el más robusto pero sumamente difícil de

implementar. Cualquier lectura a la localidad de memoria x retorna el valor

almacenado por la última operación de escritura (antes de la lectura). Supone la existencia de un tiempo global. Determinar cuál fue la

escritura más reciente no siempre es posible.

En un solo procesador la consistencia estricta es lo esperado.

P(X, t1): A =1 …. P(y, t2): A = 5 ….. P(z, t3): print(A) --> 5

¿Se puede implantar en SOD?Instituto Tecnológico de Tepic

Page 17: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Consistencia Estricta Modelo de consistencia estricto, cada actualización es vista en

forma instantánea" por todos los nodos en el sistema. Aunque este sería el ideal para cualquier programador, en la práctica es imposible de implementar y mucho menos en una red de computadores.

Este modelo asume la existencia de un reloj físico global. Es el modelo de consistencia que se utiliza en sistemas

centralizados. En sistemas distribuidos sin reloj global es prácticamente imposible.

Instituto Tecnológico de Tepic

Page 18: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Consistencia secuencial Fue propuesta por Lamport en 1977 y basa su funcionamiento en

que la consistencia estricta es prácticamente imposible de implementar en un sistema distribuido y que la experiencia demuestra que a un programador le bastan modelos más débiles.

Este modelo basa su funcionamiento en ordenar (“seriabilizar”) los accesos de memoria, de esta forma se evitan inconsistencias.

Se necesita de un coordinador central que maneje la secuencialidad de las operaciones.

La principal problemática es que el orden impuesto puede ser diferente al orden real o deseado.

En muchos casos el problema de la seriabilización es no determinista.

Instituto Tecnológico de Tepic

En ciencias de la computación, un algoritmo no determinista es un algoritmo que con la misma entrada ofrece muchos posibles resultados. No se puede saber de antemano cuál será el resultado de la ejecución de un algoritmo no determinista.

Page 19: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Consistencia secuencial Dos ejecuciones del mismo programa podrían no arrojar el

mismo resultado a menos que se utilicen operaciones explicitas de sincronización

Instituto Tecnológico de Tepic

Page 20: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Consistencia Causal Como se vio en la segunda unidad la sincronización del tiempo es

complicado en SOD, por este motivo se sugiere que la consistencia de los datos modificados sea de forma causal.

Si un proceso desea leer (read) un dato en memoria existirá siempre un proceso que haya escrito (write) previamente en memoria. De esta forma siempre se tiene el último valor escrito.

Si dos procesos escriben espontáneamente y simultáneamente una variable, estos accesos no están relacionados causalmente.

La implementación de este esquema se da a través de grafos de dependencia para determinar cuáles operaciones son dependientes de otras y cuáles son concurrentes.

Instituto Tecnológico de Tepic

Page 21: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Consistencia Causal Las escrituras que tengan relación causal potencial, deben verse en

el mismo orden. Las escrituras concurrentes pueden verse en órdenes diferentes.

Ejemplo: Causal y no secuencial: P1Wa, P2Ra, P3Ra P4Ra, P2Wb, P1Wc, P3Rc, P4Rb,

P3Rb, P4Rc. No causal: P1Wa, P2Ra, P2Wb, P3Rb, P4Ra, P3Ra, P4Rb

Instituto Tecnológico de Tepic

Page 22: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Consistencia FIFO Las escrituras que realiza un único proceso, son vistas por todos

los demás en el mismo orden, pero las escrituras que realizan procesos diferentes, pueden verse en órdenes diferentes.

Ejemplo:

FIFO: P1Wa, P2Ra, P2Wb, P2Wc, P3Rb, P4Ra, P3Ra, P4Rb, P3Rc, P4Rc

Instituto Tecnológico de Tepic

Page 23: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Consistencia PRAM El modelo Pipelined RAM basa su funcionamiento en que

las escrituras realizadas por un proceso, son recibidas por el resto en el orden en el cual éstas fueron ejecutadas, no obstante, las escrituras realizadas por diferentes procesos pueden ser vistas en órdenes diferentes por todos ellos.

Ejemplo: Tanto P1 como P2 escriben datos, al mismo tiempo P3 y P4 leen los valores, como P3 depende de P2 el primer valor es el último escrito aunque puede visualizar después el otro valor de P1. P4 depende de P1 por eso tiene el primer valor, pero puede acceder al del otro proceso.

Instituto Tecnológico de Tepic

P1: W(x)1

P3: R(x)2 R(x)1

P2: R(x)1 W(x)2

P4: R(x)1 R(x)2

Una sucesión correcta de Eventos con Consistencia PRAM

Page 24: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Consistencia Débil Fue propuesta por Dubois en 1986 y basa su funcionamiento en

que los modelos anteriores de consistencia se consideran aún restrictivos porque requieren que las escrituras de un proceso se vean en orden.

Esto no siempre es necesario. Por ejemplo, cuando se está en una región crítica no es necesario propagar valores intermedios sino los valores finales.

Para poder implantar este modelo se necesita de una variable de sincronización.

Los accesos a las variables de sincronización son secuencialmente consistentes: todos los procesos ven todos los accesos a las variables de sincronización en el mismo orden.

No se permite el acceso a ninguna variable de sincronización hasta que todas las escrituras previas se hayan completado: Hacer una sincronización después de operaciones de escritura obliga a que los nuevos valores se propaguen a todas las memorias.

Instituto Tecnológico de Tepic

Page 25: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Consistencia Débil El hacer una operación de sincronización antes de leer los datos, le

garantiza a un proceso que leerá los últimos valores.

Además, la operación de sincronización garantiza que las escrituras locales sean propagadas a todas las otras máquinas y se actualiza la memoria actual con escrituras hechas remotamente.

Instituto Tecnológico de Tepic

Page 26: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

MCD basada en Páginas Estudiaremos la DSM o (MCD) “clásica”, que se construyó en

multicomputadoras (procesadores conectados en red con transferencia de mensajes). En este caso ningún cpu tiene acceso directo a la memoria de otro cpu (NORMA) en contraste con los sistemas NUMA (acceso no uniforme a memoria)

La diferencia entre NUMA y NORMA es que en el primero cada cpu hace referencia de forma directa a cada palabra en el espacio global de direcciones, sólo leyendo o escribiendo. Las páginas están distribuidas al azar entre las memorias, sin afectar los resultados dados por los programas. Cuando un cpu hace referencia a una página remota, el sistema tiene opción de traerla o usarla de forma remota. La decisión afecta el desempeño pero sigue siendo correcto. En las máquinas NUMA el hardware permite que cada cpu use las palabras del espacio de direcciones sin intervención del software.

Las estaciones en una LAN (NORMA) son diferentes a un multiprocesador (NUMA). Los cpu’s sólo pueden hacer uso de su propia memoria. No existe el concepto de memoria compartida global. El objetivo de la DSM es agregar software al sistema para que una multicomputadora ejecute programas de multiprocesador. Cuando un cpu referencia una página remota, debe ser traída. No hay opción.

Instituto Tecnológico de Tepic

Page 27: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Diseño básico

Instituto Tecnológico de Tepic

La idea es sencilla: Emular el caché de un multiprocesador mediante MMU y el SO. El espacio de direcciones se separa en pedazos dispersos en todos los procesadores. Cuando un CPU referencia a una dirección remota ocurre un señalamiento y el software DSM trae el pedazo que contiene la dirección y reinicia la instrucción suspendida, que puede concluir con éxito. Fig. 6-25(a): Si el cpu 1 referencia lospedazos 0, 2, 5 o 9, lo hace localmente. Las referencias al resto provocan señalamientos. Ej.: si el cpu 1referencia el pedazo 10 provocará un señalamiento al software DSM, que mueve el pedazo 10 de la computadora 2 a la 1 (fig 6-25 b)

Page 28: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Réplica

Instituto Tecnológico de Tepic

Una mejora es duplicar los pedazos exclusivos para lectura. Ej.: El uso del pedazo 10 de la figura 6-25 por parte del cpu1 provoca el envío de una copia sin perturbar el original del cpu2, figura 6-25-(c). Así, los cpu’s 1 y 2 pueden usar el pedazo 10 con la frecuencia que sea sin causar señalamientos de memoria faltante. Otra posibilidad es duplicar los pedazos no sólo de lectura. Si un pedazo duplicado se modifica, hay que realizar algo para evitar la inconsistencia de las copias

Page 29: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Granularidad Los DSM son similares a los multiprocesadores. Cuando se referencia una palabra

no local, se trae el pedazo de memoria con la palabra, desde su posición actual y se coloca en el cpu que hace la referencia. Un aspecto importante es el tamaño de dicho pedazo: una palabra, un bloque, una página o un segmento.

Con un multicpu el transporte de bytes es factible pues el MMU conoce la dirección de referencia y el tiempo de transferencia es de NS. Con los DMS la granularidad tan fina es difícil o imposible. Cuando un proceso referencia una palabra ausente, provoca un fallo de página. Una opción es traer toda la página. La integración de DSM con memoria virtual hace más sencillo su uso, pues usa siempre la misma unidad, una página para ambos. La página faltante simplemente se trae de otro cpu o del disco, de modo que el código para manejo de fallos de página es igual. Hay ventajas y desventajas del uso de un tamaño mayor:

El tiempo de arranque de una transferencia de 1024 bytes a través de la red no varía demasiado respecto a una de 512. Al transferir grandes cantidades el número de transferencias se reduce ya que si un programa ha referenciado una palabra en una página, es probable que haga referencias a palabras de la misma página en un futuro inmediato. En contraparte, un tamaño excesivo puede introducir un nuevo problema: compartir de manera falsa FIGURA 6.26

Instituto Tecnológico de Tepic

Page 30: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Granularidad En este caso tenemos una página que tiene dos variables compartidas

no relacionadas A y B. El cpu1 lee y escribe A frecuentemente, el cpu2 usa B de igual forma. La página que contiene A y B viajará constantemente entre los dos cpu’s. Aunque las variables no están relacionadas, por accidente aparecen en la misma página, y cuando un proceso requiere una, también obtiene la otra. Mientras mayor sea el tamaño de página esto ocurrirá más.

Instituto Tecnológico de Tepic

Page 31: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Obtención de consistencia secuencial Si las páginas no se duplican, no se pretende lograr la consistencia. Solo hay una copia

de cada página, y se desplaza de un lugar a otro según se necesite y no hay peligro de varias copias con diferentes valores.

Si se duplican las páginas de lectura, tampoco hay problema ya que no se modifican.

Lo interesante es si las páginas R/W se duplican ya que modificar una copia sin modificar las demás es inaceptable. En DSM el software crea una copia secreta de la página que se modificará, hace que se escriba en la página, activa el bit de señalamiento para producir un señalamiento después de cada instrucción y reiniciar el proceso suspendido. Después de una instrucción, observa el señalamiento y compara la página activa con la secreta para ver cuál palabra se modificó. Entonces transmite por la red un pequeño paquete con la dirección y el nuevo valor. Los cpu’s que lo reciban verifican si tienen la página en cuestión y si es el caso, la actualizan. El trabajo es mucho y el esquema no es infalible. Si hay muchos cambios simultáneos desde diferentes cpu’s, puede haber actualizaciones en diferente orden perdiendo la consistencia secuencial. Los DSM basados en páginas usan protocolos de invalidación en vez de actualización, donde cada página tiene estado R o W. El estado se modifica conforme avanza la ejecución. Cada página tiene un propietario (el último proceso que la modificó). Cuando una página está en modo W, hay una copia asociada al espacio de direcciones del propietario en modo W. Cuando está en modo R el propietario tiene una copia, pero los demás procesos también pueden tener copias. En lugar de actualizar todas las copias con los últimos valores, sólo se actualiza la del propietario con estado W, las demás se invalidan.

Instituto Tecnológico de Tepic

Page 32: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Búsqueda del propietario La forma más sencilla de encontrar al propietario de una página es hacer

una transmisión y solicitar la respuesta del propietario de la página específica. Ya localizado, el protocolo puede continuar.

La optimización consiste en preguntar también si el emisor desea leer o escribir y si necesita una copia de la página. El propietario puede enviar un mensaje transfiriendo la propiedad y la página según sea necesario.

La transmisión tiene la desventaja de interrumpir a cada cpu obligándolo a inspeccionar el paquete de solicitud y además, usa un ancho de banda considerable.

Instituto Tecnológico de Tepic

Page 33: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Búsqueda del propietario Otras posibilidades: Un proceso es designado como controlador de páginas, lleva un

registro de quién es propietario de cada página. Cuando un proceso P desea una página que no tiene, envía un mensaje al controlador de páginas indicando la operación a realizar y en qué página. El controlador contesta con un mensaje indicando el propietario. P contacta al propietario para obtener la página o la propiedad. Se requieren 4 mensajes para este protocolo (Fig 6-28 a) La figura 6-28 (b) muestra una optimización: El controlador envía la solicitud directamente al propietario, quien contesta a P, ahorrando un mensaje.

Instituto Tecnológico de Tepic

Page 34: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera

Búsqueda de las copias Otro detalle es la forma de localizar todas las copias cuando se invalidan, hay dos

opciones: Transmitir un mensaje con el número de página y solicitar a todos los cpu’s que tengan la página que la invaliden. Sólo funciona si los mensajes son por completo confiables y nunca se pierden

El propietario o el controlador mantienen una lista del conjunto de copias, indicando los cpu’s que tienen tal o cual página, Ej. fig. 6-29: La página 4 es poseída por el cpu1 (recuadro doble). El conjunto de copias consta de 2 y 4 ya que las copias de la página 4 están en las máquinas 2 y 4. Cuando se invalida una página, el antiguo propietario, el nuevo o el controlador envía un mensaje a cada cpu que tenga la página y espera un reconocimiento. Cuando se reconoce cada mensaje, la invalidación termina.

Instituto Tecnológico de Tepic

Page 35: Sistemas Operativos en Ambientes Distribuidos Unidad 4 TEMA: Memoria Compartida Distribuida (MCD o DSM). Ing. Efrain Padilla Valera