Memorias compartidas distribuidas


La memoria compartida distribuida es una abstracción que simula, en un ambiente multicomputador, la gestión de memoria de los sistemas multiprocesadores. Los factores mas significativos en el desempeño de un sistema de memoria compartida distribuida son: el modelo de consistencia, la granularidad, el tipo de implantación y el protocolo. Los sistemas implementados hasta ahora han combinado estos factores según una calidad de servicio especifica: desempeño o versatilidad. Este trabajo propone un sistema que conjuga estas dos características mediante la combinación de varios tipos de granularidad con un modelo de consistencia de entrada y con un protocolo de varios lectores y varios escritores completamente distribuido.



La versatilidad es lograda a través de varios niveles de interfaz de granularidad de tamaño variable. Un desempeño eficiente se obtiene mediante un modelo de consistencia de entrada y un protocolo de múltiples lectores y múltiples escritores. Este sistema implanta la ilusión de que cada proceso vea la porción compartida de manera coherente; es decir, si un dato compartido es modificado por algún proceso, el sistema garantiza que los demás procesos observaran la modificación de forma consistente.



20 comentarios:

Unknown dijo...

Erisk Aragol 18.444.246 Seccion "4"

Los sistemas de memoria compartida distribuida (DSM, distributed shared memory) suministran un espacio de direcciones virtual entre los procesadores aunque éstos estén débilmente acoplados. Las principales ventajas de los sistemas DSM son su facilidad de programación, al utilizar el modelo de variables compartidas; la portabilidad de las aplicaciones;
el bajo coste asociado a los sistemas débilmente acoplados; y finalmente su
mayor escalabilidad respecto a los sistemas fuertemente acoplados, ya que
no existen componentes hardware comunes entre los diferentes nodos, sino
que la escalabilidad depende del ancho de banda de la red de comunica-
ciones.

Y@n¡r3th dijo...

Los sistemas de memoria compartida distribuida; representan la creación hibrida de dos tipos de computación paralelos:
*La memoria distribuida en sistemas multiprocesador
*Los sistemas distribuidos.
Ellos proveen la abstracción de memoria compartida en sistemas con memorias distribuidas físicamente y consecuentemente combinan las mejores características de ambos enfoques. Debido a esto, el concepto de memoria compartida distribuida es reconocido como uno de los enfoques mas atractivos para la creación de sistemas escalables, de alto rendimiento de sistemas multiprocesador.

SistemasdeArchivosDistribuidos_Grupo4 dijo...

Las principales ventajas de los sistemas DSM son su facilidad de programación, al utilizar el modelo de variables compartidas; la portabilidad de las aplicaciones; el bajo coste asociado a los sistemas debilmente acoplados, y su mayor escalabilidad respecto a los sistemas fuertemente acoplados ya que no existen componentes hardware comunes entre los diferentes nodos, sino que la escalabilidad depende del ancho de banda de la red de comunicaciones.
Maira Magallán
C.I.: 11.115.915
Sección "4"

SistemasdeArchivosDistribuidos_Grupo4 dijo...

Los servicios correspondientes a memoria compartida permiten crear un área de memoria que será compartida por más de un proceso. Esta área puede ser creada por un proceso y posteriormente escrita y leída por cualquier número de procesos.

Para la utilización de una zona de memoria compartida se tienen que llevar a cabo los siguientes pasos:

• Creación de un nuevo segmento de memoria compartida o acceder a uno existente.

Llamada al sistema: shmget

• Mapeado del segmento de memoria compartida al espacio de direcciones del proceso.

Llamada al sistema: shmat

• Lectura o escritura. En esta zona se lee y se escribe como en cualquier dirección de memoria del proceso. Por ser una zona de memoria compartida, para realizar el acceso a esta zona hay que utilizar semáforos para obtener acceso exclusivo.

Llamadas al sistema correspondientes a semáforos ya vistas en prácticas anteriores.

• Desenlace del segmento de memoria compartida por parte del proceso.

Llamada al sistema: shmdt

Maira Magallán
C.I.: 11.115.915
sección "4"

Yude dijo...

Podemos crear zonas de memoria compartidas por varios procesos. De este modo los cambios que un proceso realice a los valores almacenados en memoria compartida son visibles para los demás procesos que utilicen esa misma memoria compartida, ahora bien se utiliza la Memoria Compartida Distribuida DSM, que es una abstracción que sirve para compartir los datos. Para poder leer y actualizar datos, cada uno de los procesos accede a DSM dentro de sus espacios de direcciones, en lo que se supone ser la memoria interna normal asignada a cada uno de los procesos.

Para asegurar los procesos que se ejecutan en los diferentes computadores, se pueden observar las actualizaciones realizadas entre ellos, por medio de un sistema subyacente en tiempo de ejecución. La memoria física esta distribuida pero es como si los procesos estuvieran accediendo a una única memoria compartida.

Yude dijo...

La DSM es una herramienta fundamental para aplicaciones paralelas o aplicaciones o grupos de aplicaciones distribuidas, en las que se pueden acceder directamente a datos individuales; que dichas aplicaciones comparten.
Una de las características de la DSM, es que al escribir sus aplicaciones el programador se ahorra todo lo que concierne al paso de mensajes.
En un sistema distribuido no se puede eliminar completamente el paso de mensajes. Dado que no existe memoria compartida física. El soporte en tiempo de ejecución envía mediante mensajes entre los diferentes computadores las actualizaciones que se realizan.

Yudeixy Meza CI 17.688.852 Seccion"2"

anthony dijo...

Bruno Aguirre 18.616.788
Secc 2

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.

Carelis dijo...

Sistemas de Memoria Compartida.
En este tipo de sistemas cada procesador tiene acceso a toda la memoria, es decir hay un espacio de direccionamiento compartido. Se tienen tiempos de acceso a memoria uniformes ya que todos los procesadores se encuentran igualmente comunicados con la memoria principal y las lecturas y escrituras de todos los procesadores tienen exactamente las mismas latencias; y además el acceso a memoria es por medio de un ducto común. En esta configuración, debe asegurarse que los procesadores no tengan acceso simultáneamente a regiones de memoria de una manera en la que pueda occurrir algún error. Espinoza Carelis 17559799

Carelis dijo...

Desventajas:

El acceso simultáneo a memoria es un problema.
Poca escabilidad de procesadores, debido a que se puede generar un cuello de botella al incrementar el numero de CPU's.
En computadoras vectoriales como Crays, etc.
Todos los CPUs tienen un camino libre a la memoria.
No hay interferencia entre CPUs.
La razón principal por el alto precio de Cray es la memoria.

Ventaja:

La facilidad de la programación. Es mucho más fácil programar en estos sistemas que en sistemas de memoria distribuida.
Las computadoras MIMD con memoria compartida son sistemas conocidos como de multiprocesamiento simétrico (SMP) donde múltiples procesadores comparten un mismo sistema operativo y memoria. Otro término con que se le conoce es máquinas firmemente juntas o de multiprocesadores. Ejemplos son: SGI/Cray Power Challenge, SGI/Cray C90, SGI/Onyx, ENCORE, MULTIMAX, SEQUENT y BALANCE, entre otras.

Espinoza Carelis 17559799

sofia dijo...
Este comentario ha sido eliminado por el autor.
sofia dijo...

Sistemas de Memoria Compartida.
En este tipo de sistemas cada procesador tiene acceso a toda la memoria, es decir hay un espacio de direccionamiento compartido. Se tienen tiempos de acceso a memoria uniformes ya que todos los procesadores se encuentran igualmente comunicados con la memoria principal y las lecturas y escrituras de todos los procesadores tienen exactamente las mismas latencias; y además el acceso a memoria es por medio de un ducto común. En esta configuración, debe asegurarse que los procesadores no tengan acceso simultáneamente a regiones de memoria de una manera en la que pueda occurrir algún error.

Desventajas:
* El acceso simultáneo a memoria es un problema.

* Poca escabilidad de procesadores, debido a que se puede generar un cuello de botella al incrementar el numero de CPU's.

# En computadoras vectoriales como Crays, etc.
Todos los CPUs tienen un camino libre a la memoria.
No hay interferencia entre CPUs.

# La razón principal por el alto precio de Cray es la memoria.

Ventaja:
La facilidad de la programación. Es mucho más fácil programar en estos sistemas que en sistemas de memoria distribuida.

dayana altuve 17353406

sofia dijo...

Sistemas de Memoria Compartida.
En este tipo de sistemas cada procesador tiene acceso a toda la memoria, es decir hay un espacio de direccionamiento compartido. Se tienen tiempos de acceso a memoria uniformes ya que todos los procesadores se encuentran igualmente comunicados con la memoria principal y las lecturas y escrituras de todos los procesadores tienen exactamente las mismas latencias; y además el acceso a memoria es por medio de un ducto común. En esta configuración, debe asegurarse que los procesadores no tengan acceso simultáneamente a regiones de memoria de una manera en la que pueda occurrir algún error.

Desventajas:

* El acceso simultáneo a memoria es un problema.

* Poca escabilidad de procesadores, debido a que se puede generar un cuello de botella al incrementar el numero de CPU's.

# En computadoras vectoriales como Crays, etc.

Todos los CPUs tienen un camino libre a la memoria.
No hay interferencia entre CPUs.

# La razón principal por el alto precio de Cray es la memoria.


Ventaja:

La facilidad de la programación. Es mucho más fácil programar en estos sistemas que en sistemas de memoria distribuida.

dayana altuve 17353406 seccion 4

Darwin Figuera dijo...

La Memoria compartida es un paso evolutivo a partir de un multicomputador de paso de mensajes.Tiene las ventajas de costo, facilidad de construcción y escalabilidad de los multicomputadores débilmente acoplados, y a esto añade la facilidad de programación de los multiprocesadores con memoria compartida .Cabe recalcar que la memoria compartida, como cualquier otro recurso del sistema informático, es gestionada por el S.O. La memoria compartida disponible es siempre un recurso limitado. El S.O. lo gestiona por medio de tablas, del mismo modo que hace con la mayoría de los recursos.

Darwin Figuera CI:18.976.471
Seccion”4”

Darwin Figuera dijo...

La memoria compartidas distribuidas cuentan con un sistema que tienen su propia memoria local. Los procesadores pueden compartir información solamente enviando mensajes, es decir, si un procesador requiere los datos contenidos en la memoria de otro procesador, deberá enviar un mensaje solicitándolos. Esta comunicación se le conoce como paso de mensaje. Unas de sus ventaja es que permite la escalabilidad de computadoras con sistemas de memoria distribuida mientras que la demanda de los recursos crece, se puede agregar más memoria y procesadores.
Darwin Figuera CI:18.976.471
Seccion”4”

Unknown dijo...

Los sistemas de memoria compartida distribuida (DSM) representan la creación hibrida de dos tipos de computación paralelos: la memoria distribuida en sistemas multiprocesador y los sistemas distribuidos. Ellos proveen la abstracción de memoria compartida en sistemas con memorias distribuidas físicamente y consecuentemente combinan las mejores características de ambos enfoques. Debido a esto, el concepto de memoria compartida distribuida es reconocido como uno de los enfoques mas atractivos para la creación de sistemas escalables, de alto rendimiento de sistemas multiprocesador.
Virginia Requena C.I. 18.032.009
Sección “2”

Unknown dijo...

Según lo estudiado software de los sistemas de memoria compartida y el hardware de los sistemas de memoria distribuida, colección de estaciones de trabajo conectadas por una red, compartiendo un único espacio de memoria virtual paginado, además utiliza la ubicación de los datos, su movimiento, etc., lo maneja el sistema de memoria compartida distribuida, implementado el pase de mensajes
Isorlettd Terán C.I. 18.044.108
Sección “2”

Unknown dijo...

La memoria compartida distribuida es una abstracción utilizada para compartir datos entre computadores que no comparten memoria física. Los procesos acceden a DSM para leer y actuali­zar, dentro de sus espacios de direcciones, sobre lo que aparenta ser la memoria interna normal asignada a un proceso. Sin embargo, existe un sistema subyacente en tiempo de ejecución que asegura de forma transparente que procesos diferentes ejecutándose en computadores diferentes observen las actualizaciones realizadas entre ellas. Es como si 1os procesos accedieran a una única me­moria compartida, pero de hecho la memoria física está distribuida.
Esther Delgado CI 17576602 Seccion 4

Unknown dijo...

La principal característica de DSM es que ahorra al programador todo lo concerniente al paso de mensajes al escribir sus aplicaciones, cuestión que en otro sistema debería tenerse muy presente. DSM es fundamentalmente una herramienta para aplicaciones paralelas o para aplicaciones o gru­pos de aplicaciones distribuidas en las que se puede acceder directamente a datos individuales que ellas comparten.
Esther Delgado CI 17576602 Seccion 4

Unknown dijo...

La memoria compartida distribuida (DSM)no es mas que un sistema de abstracción utilizada para compartir datos entre computadores que no comparten memoria física atraves de la creación hibrida de dos tipos de computación paralelos: la memoria distribuida en sistemas multiprocesador y los sistemas distribuidos.La importancia de DSM ha crecido junto con el desarrollo de los multiprocesadores de memoria compartida. Una gran parte de la investigación se ha orientado al desarrollo de algoritmos para la computación paralela en ese tipo de multiprocesadores.
Gonzalez Julelba C.I 17396287 seccion:4

Unknown dijo...

IMPLEMENTACION DE UNA MEMORIA DISTRIBUIDA

Acceso compartido a la memoria à comunicación Inter-procesos.

Ningún procesador puede acceder directamente a la memoria de otro procesador à NORMA (NO Remote Memory Access) Systems.

Los procesadores hacen referencia a su propia memoria local. Hay que aumentar software para que, cuando un procesador haga referencia a una página remota, esta página sea recuperada.

El espacio de direccionamiento común es particionado en pedazos.

Cada pedazo es situado en una estación.

Cuando un procesador hace referencia a una pagina no local à "trap" (page fault).

Publicar un comentario