Memoria compratida distribuida

21
 Sistemas Operativos 2 4.3. Memoria compartida distribuida en base a páginas: Diseño, réplica, granulada, consistencia, propietario, y copias. Lic. Adela Jaimes Villalva Equipo: Baleria De La Cruz Santia  go  Armando Barrera Javier Norma odesto !odr"guez Jos# A. $arra L%pez agdalena !ivera !oque anuel &errera 'orres

description

Lo mas importante de la memoria compartida distribuida

Transcript of Memoria compratida distribuida

PowerPoint Presentation

Sistemas Operativos 24.3. Memoria compartida distribuida en base a pginas: Diseo, rplica, granulada, consistencia, propietario, y copias. Lic. Adela Jaimes VillalvaEquipo:Baleria De La Cruz SantiagoArmando Barrera JavierNorma Modesto RodrguezJos A. Parra LpezMagdalena Rivera RoqueManuel Herrera Torres

Memoria Compartidalamemoria compartidaes aquel tipo dememoriaque puede ser accedida por mltiplesprogramas, ya sea para comunicarse entre ellos o para evitar copias redundantes. La memoria compartida es un modo eficaz de pasar datos entre aplicaciones. Dependiendo del contexto, los programas pueden ejecutarse en un mismo procesadoro en procesadores separados. La memoria usada entre doshilos de ejecucindentro de un mismo programa se conoce tambin como memoria compartida.

Todos los procesadores comparten una zona de memoria. Los datos escritos en ella por un procesador son visibles al resto.Memoria compartida distribuidaLos sistemas de memoria compartida distribuida (DSM) representan la creacin hibrida de dos tipos de computacin paralelos: la memoria distribuida en sistemas multiprocesador y los sistemas distribuidos.

El concepto de memoria compartida distribuida es reconocido como uno de los enfoques ms atractivos para la creacin de sistemas escalables, de alto rendimiento de sistemas multiprocesador

En un Sistema Operativo Distribuido, un computador ejecuta los procesos en su memoria propia, pero en caso de necesitar ms 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 diseo y construccin de sistemas distribuidos.

Existen tres formas bsicas de lograr comparticin de memoria en ambientes distribuidos: por hardware, por sistema operativo o a nivel de usuario (software).

Memoria compartida distribuida

El objetivo principal de estos sistemas es permitir que un multicomputador pueda ejecutar programas escritos para un multiprocesador con memoria compartida

Cada uno de los nodos en un sistema de MCD aporta una parte de su memoria local para construir un espacio global de direcciones virtuales que ser empleado por los procesos paralelos que se ejecuten en el sistema. Memoria compartida distribuidaEs un cluster o una particin de procesadores que tienen acceso a una memoria compartida comn pero sin un canal compartido. Esto es, fsicamente cada procesador posee su memoria local y se interconecta con otros procesadores por medio de un dispositivo de alta velocidad, y todos ven las memorias de cada uno como un espacio de direcciones globales.Memoria compartida distribuida

Ventajas de MCDPresenta escalabilidad como en los sistemas de memoria distribuida.

Es fcil de programar como en los sistemas de memoria compartida.

No existe el cuello de botella que se puede dar en mquinas de slo memoria

Cada CPU cuenta con su propia memoria y no pueden referenciar memoria remota directamente.

Cuando direccin CPU se encuentra en una pgina que reside en una mquina remota:

Se notifica al sistema operativoSistema solicita dicha pgina con un mensaje.

Tanto ubicacin como acceso son realizados a nivel software.MCD en base a paginasMCD en base a paginasEl esquema de MCD propone un espacio de direcciones de memoria virtual que integre la memoria de todas las computadoras del sistema, y su uso mediante paginacin.

Las pginas quedan restringidas a estar necesariamente en un nico ordenador. Cuando un programa intenta acceder a una posicin virtual de memoria, se comprueba si esa pgina se encuentra de forma local.

A primera vista este sistema parece ms 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 trfico de pginas excesivo.

Esta abstraccin se acerca a la idea de programacin mediante la declaracin explcita de datos pblicos y privados, y minimiza el envo de informacin, ya que slo se enviarn los datos que realmente vayan a compartirse.

MCD en base a paginasDiseoLa idea es sencilla: Emular el cach de un multiprocesador mediante MMU (unidad de manejo de memoria) y el SO. El espacio de direcciones se separa en pedazos dispersos en todos los procesadores. Cuando un CPU referencia a una direccin remota ocurre un sealamiento y el software DSM trae el pedazo que contiene la direccin y reinicia la instruccin suspendida, que puede concluir con xito.

DiseoSi el cpu 1 referencia los pedazos 0, 2, 5 o 9, lo hace localmente. Las referencias al resto provocan sealamientos.

Ej.: si el cpu 1referencia el pedazo 10 provocar un sealamiento al software DSM, que mueve el pedazo 10 de la computadora 2 a la 1 Replica

Una mejora es duplicar los pedazos exclusivos para lectura.

Ej.: El uso del pedazo 10 de la figura por parte del cpu1 provoca el envo de una copia sin perturbar el original del cpu2. As, los cpus 1 y 2 pueden usar el pedazo 10 con la frecuencia que sea sin causar sealamientos de memoria faltante.

Otra posibilidad es duplicar los pedazos no slo de lectura. Si un pedazo duplicado se modifica, hay que realizar algo para evitar la inconsistencia de las copias.GranularidadEn los sistemas basados en pginas la granularidad de la memoria se delinea al nivel de pgina de memoria. Esto quiere decir que la mnima unidad referenciable por el sistema de MCD es la pgina, no pudiendo hacer distincin entre variables distintas almacenadas en la misma pgina. A pesar de que el uso de una granularidad a nivel de pagina puede introducir problemas como el false sharing, tambin permite mantener el overhead producido por la administracin de la memoria distribuida dentro de parmetros razonables. Esto se debe a que es posible hacer uso de las caractersticas del hardware para el manejo de la memoria virtual, disponibles en la mayora de los computadoresGranularidad

En este caso tenemos una pgina 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 pgina que contiene A y B viajar constantemente entre los dos cpus. Aunque las variables no estn relacionadas, por accidente aparecen en la misma pgina, y cuando un proceso requiere una, tambin obtiene la otra. Mientras mayor sea el tamao de pgina esto ocurrir ms.ConsistenciaLos sistemas DSM tienen una o ms copias de cada una de las pginas de memoria. Cuando una computadora remota llama una pgina, sta se seala y es ocupada. Si alguna pgina est muy compartida, y slo se tiene una copia se puede presentar un cuello de botella. Si por el contrario, se tienen muchas copias se evita el embotellamiento pero surge un nuevo problema: la consistencia de todas las copias, sobre todo si las copias estn en diferentes pginas que se comunican a travs de una lenta red (en comparacin con la velocidad de la memoria)Cada pgina tiene un propietario (el ltimo proceso que la modific)

La forma de encontrar al propietario de la pgina, es sencilla concite en realizar una transmisin y solicitar la respuesta del propietario de la pagina especificada. El propietario asido localizado de esta manera, el protocolo puede continuar. La optimizacin consiste no solo en preguntar quin es el propietario, si no tambin indicar si el emisor desea leer o escribir y si necesita una copia de la pgina. El propietario puede enviar entonces un mensaje, transfiriendo la propiedad y la pagina segn sea necesario. La trasmisin tiene la desventaja de interrumpir a cada procesador, obligndolo a inspeccionar el paquete de solicitud. La transmisin puede utilizar un ancho de banda considerable segn el hardware.PropietarioCuando un proceso P desea una pgina que no tiene, enva un mensaje al controlador de pginas indicando la operacin a realizar y en qu pgina. El controlador contesta con un mensaje indicando el propietario. P contacta al propietario para obtener la pgina o la propiedad. Se requieren 4 mensajes para este protocolo.Propietario

La figura muestra una optimizacin: El controlador enva la solicitud directamente al propietario, quien contesta a P, ahorrando un mensaje.Propietario

Es la forma de localizar todas las copias cuando estas se invaliden. Hay dos posibilidades:

la primera consiste en trasmitir un mensaje con un nmero de pginas y solicitar a todos los procesadores que contengan la pagina que la invaliden. Solo funcionan si los mensajes retransmisin son por completo confiables.

La segunda posibilidad consiste en que el propietario o el controlador de pginas mantengan una lista de conjunto de copias, indicndolos procesos que posen tal o cual pginaBsqueda de copiasEj. La pgina 4 es poseda por el cpu1 (recuadro doble). El conjunto de copias consta de 2 y 4 ya que las copias de la pgina 4 estn en las mquinas 2 y 4.

Bsqueda de copias