Modelos de consistencia centrada en los datos
Este modelo asume que un almacén de datos (base de datos distribuida o un sistema de archivos) puede estar físicamente distribuido en varias máquinas. Todo proceso que pueda acceder a datos del almacén tiene una copia local disponible de todo el almacén y todas las operaciones de escritura se propagan hacia las otras copias.
Ante la ausencia de un reloj global, es difícil
sincronizar y determinar cuál es la última operación de escritura. Lo anterior
permite que una consistencia centrada en datos presente una gama de modelos de consistencia, entre los que se pueden mencionar los siguientes:
- Modelos de consistencia que no usan variables de sincronización:
- Estricta.
- Linealizada.
- Secuencial.
- Causal.
- FIFO.
- Modelos de consistencia con operaciones de sincronización:
- Débil.
- Relajada.
- Entry
Consistencia en la DSM
Adve y Hill [1990] definieron al modelo de consistencia como las reglas negociadas entre el software y la memoria compartida distribuida. Ejemplos de modelos de consistencia usados en la DSM son [Tanenbaum, 1996]:
- Consistencia estricta: Aquí toda lectura a una localidad de memoria x devolverá el valor registrado por la última escritura en x.
- Consistencia secuencial: Define que el resultado de cualquier ejecución es igual que si las operaciones de todos los procesos fueran realizadas de manera secuencial y las operaciones de cada proceso aparecen en esta secuencia en el orden indicado en el programa.
- Consistencia casual: Aquí todas las escrituras potenciales relacionadas en forma casual son vistas en ese orden por todos los procesos. Escrituras concurrentes podrán ser vistas en diferente orden desde diferentes máquinas.
- Consistencia PRAM: Define que las escrituras de un proceso se reciben por otros procesos en el orden realizado, sin embargo, las escrituras de procesos diferentes se pueden ver en orden diferentes desde distintas computadoras.
- Consistencia débil: El acceso a las variables de sincronización son de consistencia secuencial, no se permite este acceso hasta que se terminen las escrituras anteriores en todos los sitios ni se permite un acceso a datos sin haber terminado todos los accesos anteriores a las variables de sincronización.
- Consistencia de liberación: Se debe de terminar con éxito todas las adquisiciones anteriores antes de realizar un acceso normal a una variable compartida, así como terminar lecturas y escrituras anteriores del proceso antes de liberar, ambas deben ser consistentes.
- Consistencia de entrada: Define que un proceso que realiza una adquisición no podrá concluir hasta no actualizar todas las variables compartidas protegidas, para lo que entrará en una región crítica en modo exclusivo.
*La Distributed Shared Memory (DSM o Memoria Distribuida compartida) es un tipo de implementación hardware y software.
Bibliografía
López Fuentes, F.
(2015). Sistemas Distribuidos. México: Casa abierta al tiempo.
Comentarios
Publicar un comentario