Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el...

46

Transcript of Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el...

Page 1: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante
Page 2: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante
Page 3: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Agenda

0 Inicios de la DSM

0 DSM vs a Paso de Mensajes

0 Implementación de DSM

0 Aspectos de Diseño e Implementación

0 Modelo de Sincronización

0 Modelos de Consistencia

0 Opciones de Actualización de las réplicas

0 Granularidad

Page 4: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Taxonomía de Computadores Paralelos y Distribuidos

Comp. Paralelos y Distribuidos

Multiprocesadores (Mem. Compartida)

Switched Switched Bus

Multicomputadores (Mem. Privada)

Bus

Page 5: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Bus: es una sola red, cable o cualquier otro medio que conecta todas las máquinas. Switch: puede haber conexiones de máquina a máquina (en distintas organizaciones).

Page 6: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Taxonomía de Computadores Paralelos y Distribuidos

Multiprocesadores

0 Tienen memoria compartida

0 Son sistemas altamente acoplados: cuando se envía un mensaje el retardo es corto y el throughput es alto. Comunes en sistemas paralelos.

Multicomputadores

0 Cada procesador tiene su memoria privada.

0 Sistemas débilmente acoplados: el retardo es notable y el throughput es bajo. Son más comunes en sistemas distribuidos.

Page 7: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Multiprocesadores Soporte de Software: Para comunicación: un proceso escribe y los otros

leen.

Para la sincronización: se usan regiones críticas y existen herramientas que ofrecen la exclusión mutua (semáforos, contadores, monitores)

La comunicación y sincronización son problemas que han sido ampliamente estudiados.

Los programas son más cortos y fáciles de comprender que los programas escritos con pase de mensajes.

Page 8: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Multiprocesadores

Soporte de Hardware:

Es difícil diseñar una máquina donde varios procesadores utilicen la misma memoria. Si la arquitectura está basada en bus, no es escalable. Con switches se obtiene una mayor escalabilidad pero son costosos, lentos, complejos.

Page 9: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Multicomputadores Soporte de Software: La comunicación se hace a través del pase de

mensajes, lo cuál trae complicaciones adicionales: pérdida de mensajes, pérdida de orden, etc.

Se han propuesto algunas soluciones para facilitar la programación: RPC, RMI, etc.

Soporte de Hardware: Fácil de construir

Son escalables

Page 10: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Sistemas con Memoria Compartida Distribuida

(DSM) Toma las ventajas de los enfoques anteriores:

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

La ubicación de los datos, su movimiento, etc., lo maneja el sistema de memoria compartida distribuida.

Implementado sobre pase de mensajes

Page 11: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Sistemas con Memoria Compartida Distribuida

(DSM) [Li, 1986] y [Li and Hudak, 1989] fueron los

primeros en proponer el paradigma de Memoria Compartida Distribuida. Colección de estaciones de trabajo conectadas por una LAN

que comparten un solo espacio de direcciones paginado. Una referencia a una página causa una falla de página que

atrapa el SOP. Este último envía un mensaje a la máquina remota, para solicitar la página.

La comunicación y sincronización se realiza a través de la memoria, la comunicación es transparente para los procesos.

Page 12: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Sistemas con Memoria Compartida Distribuida

(DSM)

Es un sistema fácil de programar y fácil de construir pero el desempeño es pobre.

Durante muchos años los trabajos de investigación se han enfocado en solucionar este problema. Las soluciones buscan principalmente reducir el tráfico de red.

Compartir variables u objetos en lugar de páginas

Uso de caches (surge el problema de la consistencia)

Page 13: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

CSS434 DSM 15

Concepto Básico

Communication Network

CPU 1

CPU n

MMU Page Mgr

: Memory

Node 0

CPU 1

CPU n

MMU Page Mgr

: Memory

Node 1

CPU 1

CPU n

MMU Page Mgr

: Memory

Node 2

Distributed Shared Memory (exists only virtually)

Data = read(address); write(address, data);

address

A cache line or a page is transferred to and cached in the requested computer.

Page 14: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Aproximaciones a la Implementación

0 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.

0 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.

Page 15: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Aproximaciones a la Implementación

0 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.

Page 16: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Aproximaciones a la Implementación

0 Existen kernels como Chorus o Mach que proporcionan soporte nativo para DSM. Hoy en día existen implementaciones de DSM basadas en páginas (implementados a nivel de usuario) que se apoyan en el soporte del SOP para fallos de página.

Page 17: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

CSS434 DSM 19

Proceso Escritor #include "world.h"

struct shared { int a,b; };

Program Writer:

main()

{

int x;

struct shared *p;

methersetup(); /* Initialize the Mether run-time */

p = (struct shared *)METHERBASE;

/* overlay structure on METHER segment */

p->a = p->b = 0; /* initialize fields to zero */

while(TRUE) { /* continuously update structure fields */

p –>a = p –>a + 1;

p –>b = p –>b - 1;

}

}

METHER

Page 18: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

CSS434 DSM 20

Proceso Lector Program Reader

main()

{

struct shared *p;

methersetup();

p = (struct shared *)METHERBASE;

while(TRUE) { /* read the fields once every second */

printf("a = %d, b = %d\n", p –>a, p –>b);

sleep(1);

}

}

Page 19: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Estructura

0 Orientada a Bytes: la DSM se utiliza como la memoria virtual ordinaria, es decir como una cadena de bytes contiguos. Permiten que las aplicaciones almacenen cualquier tipo de datos sobre la memoria compartida. Los objetos compartidos son posiciones de memoria direccionables directamente. Las únicas operaciones sobre los objetos son lee y escribe

0 Orientado a Objetos: la memoria compartida se estructura como una colección de objetos. Se proveen métodos o funciones sobre los objetos que permiten leer/modificar sus variables miembro (nunca se acceden directamente). La semántica de los objetos se usa para forzar la consistencia.

Page 20: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Estructura

0 Datos Inmutables: la DSM se muestra como una colección de datos inmutables donde los procesos pueden leer, añadir o eliminar. Ejemplos: Agora, Linda, JavaSpaces y TSpaces. En Linda, las tuplas se reemplazan, no se modifican.

Page 21: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Modelo de Sincronización 0 Para poder utilizar DSM se debe construir un servicio

de sincronización distribuida que incluya construcciones como bloqueos o semáforos.

0 La sincronización se realiza a nivel de la aplicación.

0 La implementación de DSM debe incluir los mecanismos de sincronización como un componente integrado.

Page 22: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Modelos de Consistencia de la Memoria

0 Un modelo de consistencia de memoria [Mosberger 1993] especifica las garantías de consistencia que un sistema otorga sobre los valores que los procesos leen de los objetos, dado que en realidad acceden a una réplica de cada objeto y que múltiples procesos pueden actualizar los objetos.

0 Los requisitos de consistencia pueden ser muy variados y dependen de la aplicación.

Page 23: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Modelos de Consistencia de la Memoria

0La principal interrogante que se plantea al caracterizar un modelo de consistencia de memoria es: cuándo se realiza un acceso de lectura sobre una posición de memoria, cuáles actualizaciones a la misma posición deben devolverse ?

0 Cualquier escritura realizada antes.

0 El valor más reciente (el significado más reciente en SD pudiera no estar claro, no es posible determinar siempre de forma exacta si un evento ocurrió antes que otro. )

0 Etc

Page 24: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Modelos de Consistencia de la Memoria

0Los modelos que estudiaremos son:

0Consistencia estricta

0Consistencia secuencial

0Consistencia causal

0Consistencia relajada

Page 25: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Consistencia Estricta Cualquier lectura a la localidad de memoria x retorna el

valor almacenado por la última operación de escritura (antes de la lectura).

0 Supone la existencia de un tiempo global. Determinar cuál fue la escritura más reciente no siempre es posible.

0 En un solo procesador la consistencia estricta es lo esperado.

Page 26: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Consistencia Estricta

0 Si hay un cambio en una zona de memoria, todas las lecturas observarán el nuevo valor sin importar cuán pronto se está haciendo la lectura (con respecto a la escritura) o dónde están localizados los procesos que realizan las operaciones.

Page 27: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Consistencia Estricta 0 En un sistema distribuido es razonable exigir consistencia

estricta??

Notación:

P1, P2 : procesos W(x)a : A la variable x se le asigna el valor a R(y)b : Se lee b en la variable y Se supone que el valor inicial de todas las variables es 0.

P1: W(x)1

P2: W(x)2

tiempo

Page 28: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Consistencia Estricta

P1: W(x)1

P3: R(x)2

P2: W(x)2

P1: W(x)1

P3: R(x)1

P2: W(x)2

P1: W(x)1

P2: R(x)0 R(x)1

T1: petición de escritura desde A

T2: Un proceso en B lee valor de x

T3: llega petición de escritura de A

T4: Un proceso en B lee el valor de X

La consistencia estricta es prácticamente imposible de implementar en un sistema distribuido.

Page 29: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Consistencia Secuencial Cuando se ejecutan procesos en paralelo sobre

diferentes máquinas, cualquier mezcla de ejecución es un resultado aceptable, no obstante todos los procesos deben ver la misma secuencia de referencias a memoria. Se respeta el orden de los programas.

P1: W(x)1

P2: R(x)0 R(x)1

P1: W(x)1

P2: R(x)1 R(x)1

Write(x) Read(x) Read(x)

Los dos resultados son válidos desde el punto de vista de consistencia secuencial

Page 30: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

33

Sequential Consistency

P1 P2 P3

W2(x, a)

bR1(x)

aR1(x)

P4

bR4(x)

W3(x, b)

aR4(x)

P1: W(x)a

P3: R(x)b R(x)a

P2: W(x)b

P4: R(x)b R(x)a

P1: W(x)a

P3: R(x)b R(x)a

P2: W(x)b

P4: R(x)a R(x)b

Page 31: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Consistencia Secuencial

a=1 print(b,c) (a)

c=1 print(a,b) (c)

b=1 print(a,c) (b)

a = 1 print (b,c) b = 1 print (a,c) c = 1 print(a,b)

Prints: 001011

b = 1 c = 1 print (a,b) print (a,c) a = 1 print(b,c)

a = 1 b = 1 print (a,c) print (b,c) c = 1 print(a,b)

Prints: 101011 Prints: 011111

000000 y 001001 son resultados Inválidos no respetan el orden del programa

Los tres resultados son válidos y las aplicaciones deben funcionar bien en presencia de cualquiera de ellos

Las operaciones son atómicas

Page 32: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Consistencia Secuencial 0 Un sistema de consistencia secuencial se puede

implementar utilizando un único servidor que administra los datos compartidos. Todos los procesos envían sus operaciones de lectura y escritura al servidor que las ordena en forma global.

Page 33: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Consistencia Causal (Hutto and Ahamad, 1990)

0 Si un evento B es causado o influenciado por un evento A, la causalidad requiere que todo el mundo vea primero el evento A y luego el B.

0Cuando encontramos una lectura seguida por una escritura, los dos eventos están potencialmente relacionados en forma causal.

0Un read está relacionado causalmente con la escritura que provee el dato que se ha leído.

P1 escribe X P2 lee X escribe Y (Y puede depender del valor leído de X)

Page 34: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Consistencia Causal

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

0 Las operaciones que no están relacionadas causalmente se dice que son concurrentes

Page 35: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Consistencia Causal

Las escrituras relacionadas causalmente deben ser vistas por todos los procesos en el mismo orden. Las escrituras concurrentes pueden ser vistas en un orden diferente, en diferentes máquinas.

P1: W(x)1 W(x)3

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

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

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

Hay consistencia causal pero no consistencia secuencial o consistencia estricta

concurrentes

Page 36: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Consistencia Causal

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

Violación de la Consistencia Causal

P1: W(x)1

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

P2: W(x)2

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

Una sucesión de eventos correcta con Consistencia Causal

Page 37: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Consistencia Causal

0Implementación: grafo de dependencia para determinar cuáles operaciones son dependientes de otras y cuáles son concurrentes.

0Un ente centralizado.

Page 38: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Consistencia Relajada (Gharachorloo et al., 1990)

0 Se proveen dos operaciones:

0 Acquire: la memoria se asegura que todas las copias locales de las variables protegidas se actualizan con las variables remotas.

0 Release: con esta operación se propagan los cambios realizados a las variables protegidas al resto de las máquinas.

0El programador es el responsable de colocar estas operaciones correctamente en su programa

Page 39: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Consistencia Relajada 0Realizar un acquire no garantiza que los cambios

realizados sean propagados al resto de las máquinas en forma inmediata.

0De forma similar, el realizar un release no garantiza que se importen cambios realizados por otras máquinas.

P1: Acq(L) W(x)1 W(x)2 Rel(L)

P3: R(x)1

P2: Acq(L) R(x)2 Rel(L)

Page 40: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Consistencia Relajada Posible implementación:

- Existe un administrador de sincronización.

- En un acquire se solicita un acceso sobre un lock al manager. Si no hay competencia el manager lo otorga.

- Al llegar al release se propagan los cambios a otras máquinas . Al recibirse el Ack de todas las máquinas se informa al manager de la liberación del lock

Page 41: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Modelos de Consistencia Descripción

Estricta Todos los accesos compartidos se observan en el

orden en el que se realizaron. Imposible de

implementar en DSM

Secuencial Todos los procesos ven todos los accesos en el

mismo orden. Popular entre los programadores y

ampliamente usado. Desempeño pobre.

Causal Todos los procesos ven los accesos compartidos,

relacionados causalmente, en el mismo orden

Relajada

Los datos compartidos están consistentes cuando

se sale de la región crítica. Estos modelos pueden

ser más eficientes pero requieren más esfuerzo

del programador

Mo

del

os

de

Co

nsi

sten

cia

Page 42: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Políticas de Escritura

Se debe asegurar que un procesador no lea un dato invalido después de que se ha realizado una operación de escritura. Existen dos opciones:

Actualización

Page 43: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Políticas de Escritura

0 Actualización (write-through): 0 Las escrituras de un proceso se realizan en forma

local y se envían a todos los procesos (gestores de réplica) que posean una copia del dato.

0 Los procesos leen copias locales de los datos sin necesidad de comunicación.

0 Permite múltiples lectores y múltiples escritores. 0 Se requieren broadcast o multidifusiones

ordenadas (en algunos casos se utiliza un ente centralizado que garantiza el orden). De esta forma todos los procesos ven todas las actualizaciones en el mismo orden en el que se realizan (consistencia secuencial)

Page 44: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Políticas de Escritura

0 Invalidación (Write-Invalidate): 0 Múltiples lectores/un solo escritor. 0 Cuando un proceso intenta escribir un dato, se

envía un mensaje a quienes tienen copias para invalidarlas y se esperan los Acks, antes de que la escritura tenga lugar.

0 Cualquier proceso que intente leer el dato tiene que esperar a que el escritor termine.

0 Las actualizaciones se propagan únicamente cuando se leen los datos y, además, se pueden realizar varias actualizaciones consecutivas sin necesidad de realizar ninguna comunicación.

Page 45: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Granularidad 0Únicamente se comparten ciertas partes de los

datos y durante ciertos periodos durante la ejecución.

0 Sería muy ineficiente transmitir todo el contenido de la DSM. Cuál sería la unidad adecuada para compartir datos?

Page 46: Memoria Compartida Distribuida - sophia.javeriana.edu.comcuriel/Memoria Compartida... · reducir el tráfico de red. ... Modelos de Consistencia de la Memoria 0La principal interrogante

Páginas: más eficiente.- Cuál es el tamaño de página más adecuado: 1k, 8k, …. Páginas Pequeñas: más comunicación, un mayor número de unidades a ser administrada. Páginas Grandes: False Sharing