Consistencia Y Replicación

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 17

INSTITUTO TECNOLOGICO

DE REYNOSA
CARRERA: TECNOLOGIAS DE LA INFORMACIÓN Y COMUNICACIONES

SISTEMAS OPERATIVOS II

TEMA: II PROCESOS Y COMUNICACIONES

DOCENTE: MARIO JOSÉ SANTIAGO SÁNCHEZ

EQUIPO: 02

TURNO: MATUTINO SEMESTRE: 7MO. SALON: CENTRO DE COMPUTO

ALUMNO: IVAN CARBALLO MORENO


No. CONTROL: 17580224

Reynosa Tamaulipas, 25 de Octubre 2021


INSTITUTO TECNOLOGICO
DE REYNOSA
3.1 Consistencia y Replicación
Introducción
Replicación:
 Los datos se replican para aumentar la disponibilidad o el rendimiento.
 Un aspecto fundamental es la consistencia entre las réplicas: cuando se
actualiza una copia, se deben actualizar también las demás.
 La replicación está muy relacionada con la escalabilidad. Replicación en un
sistema distribuido:
 Concurrencia (múltiples procesos ejecutados simultáneamente y que
pueden interactuar entre sí): se debe considerar como controlarla en el
acceso a un objeto por parte de diferentes clientes.
 Si un objeto tiene más de una réplica, las operaciones deben realizarse en
determinado orden en cada réplica.
En un sistema distribuido hay una serie de posibles modelos de consistencia de
datos. Un sistema soporta cierto modelo, si las operaciones en memoria siguen
normas específicas. La consistencia de los datos es definida entre el programador
y el sistema, que garantiza que si el programador sigue las reglas, la memoria
será consistente, y el resultado de las operaciones de memoria será predecible.
Modelos de consistencia
En un modelo existen dos operaciones: WRITE, READ. Un cliente que accede a
los datos, realiza Read o Write sobre una copia de los datos.
Existen múltiples copias de los datos, las cuales están estructuradas en lo que
llamaremos almacén de datos.
Un modelo de consistencia consiste en un contrato entre los procesos que
acceden a los datos. Dicho contrato consiste en que si los procesos siguen ciertas
reglas, el almacén de datos les dará ciertas garantías.
Mencionaré algunos de esos modelos:
A. CONSISTENCIA ESTRICTA
Una operación R(x) (de lectura sobre X) retorna el valor de la última operación
W(x) (escritura sobre X).
B. CONSISTENCIA SECUENCIAL
El resultado de cualquier ejecución distribuida, es el mismo que obtendrás al
ejecutar las operaciones R y W en algún orden secuencial, respetando que las
operaciones R y W de un mismo proceso se ejecutan en el orden que impone el
proceso. Es decir, cualquier intercalación entre lecturas y escrituras es admisible,
pero todos los procesos las ven en el mismo orden.

C. CONSISTENCIA LINEALIZABLE
Igual que la anterior, pero se asume que existe un reloj global sincronizado de
precisión finita entre los diferentes nodos. Este tipo de relojes se pueden construir
con algoritmos de sincronización de relojes y proporcionar un reloj global en el que
varios eventos pueden ejecutarse en el mismo instante: dependiendo de la
precisión.
D. CONSISTENCIA CAUSAL
Las escrituras que tengan relación causal potencial, deben verse en el mismo
orden. Las escrituras concurrentes pueden verse en órdenes diferentes.
E. CONSISTENCIA FIFO
Las escrituras que realizan un único proceso, son vistas por todos los demás en el
mismo orden, pero las escrituras que realizan procesos diferentes, pueden verse
en órdenes diferentes.
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
escritura sobre el dato.
En Informática, en un sistema distribuido, tales como una memoria compartida
distribuida o almacenes de datos distribuido, tales como una base de datos,
sistema de archivos, caché web o sistemas de replicación optimista, hay una serie
de posibles modelos de consistencia de datos. Se dice que un sistema soporta un
determinado modelo, si las operaciones en memoria siguen normas específicas.
La consistencia de los datos es definida entre el programador y el sistema, que
garantiza que si el programador sigue las reglas, la memoria será consistente y el
resultado de las operaciones de memoria será predecible.
Los lenguajes de alto nivel, tales como C, C++ y Java, respetan parcialmente este
modelo traduciendo operaciones de memoria en operaciones de bajo nivel para
preservar la memoria semántica. Para mantener el modelo, los compiladores
pueden reordenar algunas instrucciones de memoria, y las llamadas a las
bibliotecas como pthread_mutex_lock(), encapsular la sincronización necesaria.

Los ejemplos incluyen:


 Linealizable (también conocido como el estricta o consistencia atómica)
 Consistencia secuencial
 Consistencia de causalidad
 Consistencia liberada
 Consistencia eventual
 Consistencia delta
 Consistencia PRAM (también conocido como consistencia FIFO)
 Consistencia débil
 Consistencia vector campo
La duplicidad de los bloques compartidos aumenta el rendimiento, pero produce
un problema de consistencia entre las diferentes copias de la página en caso de
una escritura.
Si con cada escritura es necesario actualizar todas las copias, el envío de las
páginas por la red provoca que el tiempo de espera aumente demasiado,
convirtiendo este método en impracticable.
Introduccion 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
escritura sobre el dato.
En Informática, en un sistema distribuido, tales como una memoria compartida
distribuida o almacenes de datos distribuido, tales como una base de datos,
sistema de archivos, caché web o sistemas de replicación optimista, hay una serie
de posibles modelos de consistencia de datos. Se dice que un sistema soporta un
determinado modelo, si las operaciones en memoria siguen normas específicas.
La consistencia de los datos es definida entre el programador y el sistema, que
garantiza que si el programador sigue las reglas, la memoria será consistente y el
resultado de las operaciones de memoria será predecible.
 Linealizable (también conocido como el estricta o consistencia atómica)
 Consistencia secuencial
 Consistencia de causalidad
 Consistencia liberada
 Consistencia eventual
 Consistencia delta
 Consistencia PRAM (también conocido como consistencia FIFO)
 Consistencia débil
 Consistencia vector campo
3.2 Modelos de consistencia centrada en los datos
Modelos de Consistencia
Contrato entre procesos y el almacenamiento de datos. Es decir: si los procesos
acuerdan obedecer ciertas reglas, el almacenamiento promete trabajar
correctamente y que no se repitan los datos. 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 escritura sobre el dato.
MODELOS DE CONSISTENCIA CENTRADA EN LOS DATOS:
CONSISTENCIA ESTRICTA: Esta consistencia está definida por la siguiente
condición: Cualquier lectura a una localidad de memoria x regresa el valor
guardado en la operación de escritura más reciente en x. Para que la
determinación del evento “sea más reciente” no sea más ambigua .En esta
consistencia nunca se puede presentar dos eventos al mismo tiempo. De igual
manera no es posible lograr en multiprocesador, debido a que pueden existir
escrituras y lecturas en memoria separada por espacios mínimos de tiempo que
no alcanzan a cumplir la condición exigida.
CONSISTENCIA SECUENCIAL: Es una forma más débil de la consistencia
estricta. Satisface la siguiente condición:
El resultado de una ejecución es el mismo sin las operaciones (lectura y escritura)
de todos los procesos sobre el dato fueron ejecutadas en algún orden secuencial.
 Un dato almacenado secuencialmente consistentemente.
 Un dato almacenado que no es secuencialmente consistente.
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 especificado por
su programa.
CONSISTENCIA CAUSAL
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.
Es permitida con un almacenamiento causalmente consistente, pero no con un
almacenamiento secuencialmente consistente o con un almacenamiento
consistente en forma estricta.
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.
3.3 Modelos de consistencia centrada en el cliente
La consistencia centrada en el cliente: Se da un solo cliente una garantía acceso
consistencia a un almacén de datos para ese cliente, no hay garantía para el
acceso simultáneo por los diferentes clientes.

El almacenamiento de datos se distribuye físicamente. 

Cuando un proceso accede al almacén de datos, en general, se conecta a la copia


disponible en el sitio o la más cercana. 
 Toda lectura y escritura se realizan en esta copia local. 
 Las actualizaciones son posiblemente propagan a otras copias
 Modelos de consistencia centrada al cliente:
 Las lecturas monótonas
 Escrito monótona
 Lera sus escrituras
 Escrituras siguen a lecturas

 MONOTONICO
LECTURA MONOTONICO

Se dice que un dato ofrece consistencia de lecturas monotónicas si y sólo si la


siguiente condición se cumple: Si un proceso lee el valor de un ítem de dato x,
cualquier operación de lectura sucesiva sobre x por el mismo proceso siempre
retornará el mismo valor o un valor más reciente. Operaciones de lectura
realizadas por un único proceso P sobre dos copias locales del almacenamiento
de datos.

Si un proceso lee el valor de un elemento de datos X, cualquier operación


sucesiva de lectura X realizada por este mismo proceso siempre devolverá el
mismo valor o un valor más reciente. Es decir, si una vio a un proceso de valor de
X en el tiempo t, nunca verá una versión más antiguo X en un momento posterior.

Ejemplo:
Base de datos distribuida de correo electrónico.

ESCRITURA MONOTONICO
Las escrituras deben ser propagadas en el orden correcto a todas las copias del
almacenamiento de datos.  Se debe cumplir que:

Una operación de escritura por un proceso sobre un ítem de dato x es completada


antes de cualquier otra operación de escritura sobre x por el mismo proceso.

Operaciones de escritura realizadas por un proceso P en dos copias locales del


mismo almacén de datos.
Una operación de escritura realizada por un proceso en un elemento de datos X
se completó antes de cualquier operación de escritura posterior sobre X el mismo
proceso.
Completar un medio de operación de escritura que copian en el que una operación
sucesiva se ejecuta refleja el efecto de una operación escritura anterior ejecutada
por el mismo proceso, independientemente de donde esto ocurrió.

Ejemplo: la
Biblioteca de software.
LEA SUS ESCRITURAS

A veces es más importante garantizar que si yo escribo un dato, yo siempre vea el


valor actualizado no importa de dónde haga la siguiente lectura, por lo tanto, un
almacén de datos provee consistencia lea sus escrituras si se cumple que:

El efecto de una operación de escritura por un proceso sobre un ítem de dato x


será siempre visto por las sucesivas operaciones de lectura sobre x por el mismo
proceso.

Similar a lecturas monotónicas, sólo que esta vez la consistencia está garantizada
por la última de escritura de P, en vez de la última operación de lectura. El efecto
de una operación de escritura por un proceso en datos X elemento siempre ser
visto por una operación de lectura sucesiva en el X mismo proceso. Es decir, una
operación de escritura siempre se completa antes de una operación de lectura
sucesivamente el mismo proceso, independientemente de donde se produce.

Ejemplo: se pueden
Producir errores contraseñas, páginas web se puede mostrar las páginas viejas,
en caché.
ESCRITURAS SIGUEN A LECTURAS

La idea de este esquema de consistencia es garantizar que si alguien va a


modificar el valor de un dato, antes haya leído la última actualización de éste. Un
almacén de datos provee consistencia de escrituras siguen lecturas si se cumple
que:

Una operación de escritura de un proceso sobre un ítem de dato x realizada luego


de leer ese dato x, se realizó garantizada mente sobre el valor más reciente de x.

Operaciones de escritura realizadas por un proceso P en dos copias locales del


mismo almacén de datos.

Esto asegura que una operación de escritura por un proceso en un elemento X de


datos después de una operación de lectura anterior en la misma X proceso se
produce por el mismo valor, o el valor más reciente de X que se ha leído. Es decir,
cualquier escritura sucesiva operativo realizado por un proceso en un elemento de
datos X se llevarán a cabo en una copia actualizada X con el valor leído en último
lugar por este proceso.

Ejemplo:
Grupo de discusión en una página.
3.4 Administración de replicas

El administrador de réplicas es un subsistema que es responsable de administrar


la sincronización de réplicas. El administrador de réplicas es responsable de lo
siguiente:

 Serialización y deserialización de las réplicas en cada homólogo.


 Reenvío de réplicas de un homólogo a otro.
 Afrontación de cambios de propiedad de réplicas.
 Administración de la vida útil de las réplicas.

Administración del ciclo de vida de las réplicas

El administrador de réplicas debe hacer lo siguiente:

 Realice un seguimiento de todas las réplicas guardando un puntero con recuento de


referencias en todos los objetos de réplica de proxy o primaria.
 Garantice la coherencia en la sesión capturando y propagando el último estado de cada
réplica antes de la destrucción de una de ellas.
 Garantice que todos los proxies tengan consistencia final antes de desactivarse una réplica.
 Lance todas las referencias de GridMate a un objeto de réplica cuando el objeto se haya
destruido.

Temas

 Vincular una nueva réplica primaria al administrador de réplicas.


 Recuperación de réplicas del administrador de réplicas.
 Cómo actualiza réplicas el administrador de réplicas.
 Administrador de tareas.

3.5 Protocolos de consistencia


Los protocolos de consistencia describen una implementación de un modelo de
consistencia específico (incluyen la consistencia secuencial, consistencia débil con
variables de sincronización así como transacciones atómicas).

Básicamente pueden ser separados considerando si hay una copia primaria de los
datos donde todas las escrituras son mandadas, en caso contrario las copias
pueden ser iniciadas desde cualquier réplica.

Protocolos Push y Pull


Push

 Protocolo basado en servidor.


 Las actualizaciones se propagan a otras replicas sin que estas las soliciten.
 Actualizan los cachés de los clientes.
 Hay datos consistentes al momento de solicitarlos.

Pull

 Protocolo basado en el cliente.


 El cliente solicita a otro servidor que le envíe cualquier actualización que
tenga al momento.
 Estrategia aplicada en los cachés Web.
REFERENCIAS

MODELOS DE CONSISTENCIA (CENTRADA EN DATOS). (s. f.). BlogSpot.


Recuperado 23 de octubre de 2021, de
http://itsrlljcr.blogspot.com/2016/09/modelos-de-consistencia-centrada-en.html
de Tony15Ar, V. T. L. E. (2016, 5 octubre). 3.1 Introduccion modelos de
consistencia. Sistemas Operativos II. Recuperado 23 de octubre de 2021, de
https://sistemasoperativosiijoseantonio.wordpress.com/2016/10/05/3-1-
introduccion-modelos-de-consistencia/
D. (2016, 5 octubre). Consistencia y Replicación. Sistemas Operativos II.
Recuperado 23 de octubre de 2021, de
https://danielzunigasistemasoperativos2.wordpress.com/2016/10/05/consistencia-
y-replicacion/
Access to this page has been denied. (s. f.). Studocu. Recuperado 23 de octubre
de 2021, de https://www.studocu.com/es-mx/document/instituto-tecnologico-
superior-de-coatzacoalcos/ingenieria-de-software/so2-u3-a1inv-5a-cuestionario-
de-sistemas-operativos/10080761
4.2 Modelos de Consistencia - Sistemas Operativos II. (s. f.). Google Sites.
Recuperado 23 de octubre de 2021, de
https://sites.google.com/site/sistemasoperativospaty/unidad-4/42-modelos-de-
consistencia

Guia del usuario de Lumberyard. (2021). Administrador de réplicas. Enero 2021,


de AWS Sitio web:
https://docs.aws.amazon.com/es_es/lumberyard/latest/userguide/network-
replicas-replica-manager.htm
Lupita Ávila Lira. (2016). Modelos de consistencia centrada en el cliente. 28 de
Septiembre del 2016 , de Blogger Sitio web:
http://blogguadalupeavilalira.blogspot.com/2016/09/modelos-de-consistencia-
centrada-al.html
Daniel Zúñiga. (2016). Protocolos de consistencia. 5 de octubre 2016, de About
Sitio web:
https://danielzunigasistemasoperativos2.wordpress.com/2016/10/05/protocolo
s-de-consistencia/

También podría gustarte