Sistemas Operativos 2
equipo 2

4.2. Modelos de consistencia


Consistencia Estricta

El modelo de consistencia más restrictivo es llamado consistencia estricta y es definido por la siguiente condición Cualquier lectura sobre un item de dato x retorna un valor correspondiente con la más reciente escritura sobre x

Consistencia Causal

El modelo de consistencia causal (Hutto and Ahamad, 1990) es un debilitamiento de la consistencia secuencial. Se hace una diferenciación entre eventos que están potencialmente relacionados en forma causal y aquellos que no. Las operaciones que no están causalmente relacionadas se dicen concurrentes.

La condición a cumplir para que unos datos sean causalmente consistentes es:

Escrituras que están potencialmente relacionadas en forma causal deben ser vistas por todos los procesos en el mismo orden. Escrituras concurrentes pueden ser vistas en un orden diferente sobre diferentes máquinas.

Esta secuencia es permitida con un almacenamiento causalmente consistente, pero no con un almacenamiento secuencialmente consistente o con un almacenamiento consistente en forma estricta.

Consistencia secuencial

La consistencia secuencial es una forma ligeramente más débil de la consistencia estricta. Satisface la siguiente condición:

El resultado de una ejecución es el mismo si las operaciones (lectura y escritura) de todos los procesos sobre el dato fueron ejecutadas en algún orden secuencial y las operaciones de cada proceso individual aparecen en esta operaciones de cada proceso individual aparecen en esta secuencia en el orden especificado por su programa

a) Un dato almacenado secuencialmente consistente.

b) Un dato almacenado que no es secuencialmente consistente. Consistencia Débil

Los accesos a variables de sincronización asociadas con los datos almacenados son secuencialmente consistentes.

Propiedades

No se permite operación sobre una variable de sincronización hasta que todas las escrituras previas de hayan completado. No se permiten operaciones de escritura o lectura sobre ítems de datos hasta que no se hayan completado operaciones previas sobre variables de sincronización.

Consistencia liberación (Release)

El modelo de consistencia release, RC [27], se basa en el supuesto de que los accesos a variables compartidas se protegen en secciones criticas empleando primitivas de sincronización, como por ejemplo locks. En tal caso, todo acceso esta precedido por una operación acquire y seguido por una operación release. Es responsabilidad del programador que esta propiedad se cumpla en todos los programas.

Puesto que ningún otro proceso, ni local ni remoto, puede acceder a las variables que han sido modificadas mientras se encuentren protegidas en la sección critica, la actualización de cualquier modificación puede postergarse hasta el momento en que se lleva a cabo la operación release.

La operación release no se da por completada hasta que la actualización haya sido propagada a todos aquellos procesadores en donde haya replicas. Con RC, la propagación de un conjunto de modificaciones a memoria compartida se lleva a cabo con un costo fijo.
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis