Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Equipo:
Baleria De La Cruz Santiago
Armando Barrera Javier
Norma Modesto Rodrguez
Jos A. Parra Lpez
Magdalena Rivera Roque
Manuel Herrera Torres
Memoria Compartida
la memoria compartida es aquel tipo de memoria que puede ser
accedida por mltiples programas, 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 procesador o en procesadores separados.
La memoria usada entre dos hilos de ejecucin dentro de un mismo
programa se conoce tambin como memoria compartida.
Ventajas de MCD
Presenta 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
Diseo
La 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.
Diseo
Si 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.
Granularidad
En 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 computadores
Granularidad
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.
Consistencia
Los 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)
Propietario
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.
Propietario
Cuando 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.
Bsqueda de copias
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 pgina
Bsqueda de copias
Ej. 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.