Memoria Global
-
Upload
jesus-castaneda -
Category
Documents
-
view
212 -
download
0
description
Transcript of Memoria Global
MEMORIA GLOBAL DISTRIBUIDA
En computación, la Distributed Shared Memory (DSM, o memoria distribuida compartida) una abstracción utilizada para la compartición de datos entre procesos en computadores que no comparten memoria física. Los procesos acceden a DSM para leer y actualizar, dentro de sus espacios y direcciones, sobre lo que aparenta ser la memoria interna normal asignada a un proceso.
CONCEPTOS• Los sistemas de software DSM pueden ser implementados bajo un
sistema operativo (SO), o como una biblioteca de programación. Los sistemas de software DSM implementados en el SO pueden concebirse
como extensiones de la arquitectura de memoria virtual subyacente.• Estos sistemas son transparentes al desarrollador, lo que significa que la
memoria distribuida subyacente está completamente oculta para los usuarios.
• La arquitectura de memoria compartida puede suponer la separación de la memoria en partes compartidas distribuidas entre los nodos y la memoria principal; o la distribución de toda la memoria en los distintos nodos.
• En la memoria compartida, los procesos utilizan variables que pueden leer/escribir para poder comunicarse.
MODELOS DE SINCRONIZACION
• Para poder utilizar DSM se debe construir un servicio de sincronización distribuida que incluya construcciones como bloqueos o semáforos.
• La sincronización se realiza a nivel de la aplicación.
• La implementación de DSM debe incluir los mecanismos de sincronización como un componente integrado.
MODELOS DE COHERENCIA
• La replicación de datos por motivos de rendimiento implica que debemos controlarlos accesos concurrentes para evitar se ejecuten en un orden diferente delesperado.• Informalmente, se dice que una memoria es coherente si el valor devuelto comoresultado de una operación de lectura es siempre el valor que el programadorespera.
Para obtener un buen rendimiento se requiere múltiples copias de los datos• Coherencia atómica:• Lectura devuelve valor de escritura más reciente• Difícil de implementar en sistemas distribuidos• Compromiso entre coherencia y rendimiento:• Modelos de coherencia más “relajados”• Modelo de coherencia:• Qué garantiza el sistema de memoria a las aplicaciones• Modelos propuestosprovienen de coherencia de cachémultiprocesadores• Similitud con semántica de uso concurrente en FSD
Aproximaciones a la Implementación
• Hardware: Hardware especializado para proveer a los procesadores una visión consistente de la memoria compartida. Requieren de sistemas de conexión de alta velocidad. Ejemplo: El prototipo del multiprocesador Dash tiene 64 nodos conectados mediante una arquitectura NUMA.
• Memoria Virtual Paginada: sistemas como Ivy, Munin, Mirage, Clouds, Choices y Mether implementan DSM como una región de memoria virtual que ocupa el mismo espacio de direcciones en el espacio de direcciones de cada proceso participante. Esta implementación sólo es factible sobre una colección de computadores homogéneos con formatos de datos y paginación comunes.
• Middleware: algunos lenguajes del tipo de ORCA o sistemas como Linda, JavaSpaces o Tspaces proporcionan DSM sin necesidad de soporte de hardware o de paginación. Cuando un proceso accede a un dato compartido, realiza una llamada que es interceptada por un proceso en un nivel más bajo, el cual realiza el acceso local o una llamada remota según se necesite. No está pensado para utilizar código existente de memoria compartida. No se comparten posiciones de memoria sino abstracciones de mayor nivel como objetos.