Modelos de consistencia

Solo disponible en BuenasTareas
  • Páginas : 10 (2444 palabras )
  • Descarga(s) : 33
  • Publicado : 12 de mayo de 2010
Leer documento completo
Vista previa del texto
MODELOS DE CONSISTENCIA
Un modelo de consistencia es esencialmente un contrato entre procesos y el almacenamiento de datos. Es decir: si los procesos acuerdan obedecer ciertas reglas, el almacenamiento promete trabajar correctamente.
Normalmente un proceso que realiza una operación de lectura espera que esa operación devuelva un valor que refleje el resultado de la última operación de escriturasobre el dato.
Consistencia Estricta
Está definido por la siguiente condición:
Cualquier lectura a una localidad de memoria x regresa el valor guardado
por la operación de escritura más reciente en x
Esta definición supone la existencia de un tiempo global absoluto (como en la física de Newton), para que la determinación del evento "más reciente" no sea ambigua.
Esta consistencia estípica de sistemas uniprocesador, donde nunca se pueden presentar dos eventos simultáneamente.
Sin embargo es prácticamente imposible de lograr en sistemas multiprocesador (distribuidos o no), debido a que pueden existir escrituras y lecturas en memoria separadas por espacios mínimos de tiempo que no alcanzan a cumplir la condición exigida
Por ejemplo: Supongamos que una máquina A escribe algo ensu memoria en el momento T2 y existe una máquina B que envío un mensaje en el instante T1 para leer que había en la memoria antes del instante T2 . Si las máquinas están separadas una distancia de 3 metros y  T2 - T1 es de 1 nanosegundo, la señal de lectura debería viajar 10 veces más rápido que la velocidad de la luz para cumplir con la consistencia estricta, lo que es imposible
ConsistenciaSecuencial
Es un modelo de consistencia un poco más débil que la consistencia estricta. Fue definida por Lamport (1979).
Está definido por la siguiente condición:
El resultado de cualquier ejecución es el mismo que si las operaciones de todos los procesos fueran ejecutadas en algún orden secuencial, y las operaciones de cada proceso individual aparecen en esta secuencia en el orden especificadopor su programa
Esto quiere decir que en este modelo sólo importa que los eventos generados por un programa sean vistos por otro en el mismo orden, sin importar que se intercalen con los eventos de otros programas.
Por ejemplo, tres procesos concurrentes podrían ejecutar las siguientes instrucciones:
 
 
P1 a=1; 
print(b, c); | P2 b=1;
print(a, c); | P3 c=1;
print(a, b); |
Y cadaproceso podría recibir los eventos ordenados y considerarlos válidos:
 
(a) a=1; 
b=1;
print(a, c);
print(b, c);
c=1;
print(a, b); | (b) c=1;
print(a, b);
a=1; 
b=1;
print(a, c);
print(b, c); | (c) a=1; 
b=1;
c=1;
print(a, c);
print(b, c);
print(a, b); |
La consistencia secuencial no garantiza que una lectura regrese el valor escrito por otro proceso unnanosegundo antes, un microsegundo antes, o incluso un minuto antes. Sólo garantiza que todos los procesos vean todas las referencias a memoria en el mismo orden.
Consistencia Causal
Es un debilitamiento de la consistencia secuencial que hace distinción entre eventos potencialmente relacionados por causalidad y aquellos que no lo están (Hutto y Ahamad, 1990).
La memoria con consistencia causalobedece las siguientes condiciones
Las escrituras potencialmente relacionadas de forma causal son vistas por todos los procesos en el mismo orden. Las escrituras concurrentes pueden ser vistas en un orden diferente en máquinas diferentes

Supongamos, por ejemplo, que el proceso PA escribe una variable x. Después, un proceso PB lee x y escribe y. Aquí la lectura de x y la escritura de y estánrelacionadas de forma causal.
Por otro lado, si dos procesos escriben de forma espontánea y simultánea en dos variables, no están relacionados en forma causal. Las operaciones que no están relacionadas en forma causal son concurrentes.
Esto quiere decir que en este modelo sólo importa que los eventos generados por un programa sean vistos por otro en el mismo orden, sin importar que se intercalen...
tracking img