Replicación

Anuncio
Universidad Católica Andrés Bello
Replicación
Dictado por David Hernández
david.hernandez.valencia@gmail.com
Agenda
● Replicación
○ Razones
○ Técnica de escalamiento
● Modelo de consistencia centrada en los datos
○
○
○
○
Consistencia continua
Consistencia secuencial
Consistencia casual
Consistencia momentánea
Replicación
Por lo general, los datos se replican para incrementar la
confiabilidad o mejorar el rendimiento en los sistemas
distribuidos.
Uno de los principales problemas es hacer que las réplicas
se mantengan consistentes.
Ing. Francisco Gómez
infosisdistribuidos@gmail.com
Sistemas Distribuidos. Segunda Edición
Andrew S. Tanenbaum, Maarten Van Steen
Replicación
Razones
Existen dos razones principales para replicar: confiabilidad
y rendimiento.
Confiabilidad: Si un sistema de archivos se replicó, es
posible continuar trabajando después de que una réplica
falle con tan sólo cambiar a una de las otras réplicas
Rendimiento: el escalamiento en números ocurre cuando
un número creciente de procesos necesita acceder a datos
que son administrados por un solo servidor.
Ing. Francisco Gómez
infosisdistribuidos@gmail.com
Sistemas Distribuidos. Segunda Edición
Andrew S. Tanenbaum, Maarten Van Steen
Replicación
Técnica de escalamiento
Replicación y cacheo para el rendimiento se utilizan
ampliamente como técnicas de escalamiento.
Las cuestiones de escalabilidad generalmente aparecen en
forma de problemas de rendimiento.
Colocar copias de datos cerca de los procesos que los
utilizan pueden mejorar el rendimiento mediante la
reducción del tiempo de acceso, y resolver así los
problemas de escalabilidad.
Ejemplo: funcionamiento de los browser y las páginas WEB
Ing. Francisco Gómez
infosisdistribuidos@gmail.com
Sistemas Distribuidos. Segunda Edición
Andrew S. Tanenbaum, Maarten Van Steen
Modelo de consistencia centrada en los datos
La consistencia se ha explicado en el contexto de
operaciones de lectura y escritura sobre datos
compartidos.
● Memoria compartida
● Base de datos compartida
● Sistema de archivos distribuido
Un modelo de consistencia es básicamente un contrato
entre los procesos y el almacén de datos.
Ing. Francisco Gómez
infosisdistribuidos@gmail.com
Almacén de datos distribuidos
Sistemas Distribuidos. Segunda Edición
Andrew S. Tanenbaum, Maarten Van Steen
Modelo de consistencia centrada en los datos
Consistencia continua
Yu y Vahdat (2002) consideran un método general para
diferenciar tres ejes independientes para definir
inconsistencias:
● Desviación en valores numéricos entre réplicas:
número de actualización que se han aplicado a una
réplica dada.
● Desviación en el deterioro entre réplicas: se
relaciona a la última vez que se actualizó una réplica
● Desviación con respecto al ordenamiento de
operaciones de actualización: existen aplicaciones
donde se permite que el ordenamiento de
actualizaciones sea diferente en varias réplicas,
siempre que las diferencias sean limitadas
Yu y Vahdat se refieren a estas desviaciones como rangos
Sistemas Distribuidos. Segunda Edición
Ing. Francisco Gómez
de consistencia continua
infosisdistribuidos@gmail.com Andrew S. Tanenbaum, Maarten Van Steen
Modelo de consistencia centrada en los datos
Consistencia secuencial
Una clase importante de modelos proviene del campo de
programación concurrente. Confrontados con el hecho de
que en la computación paralela y distribuida varios
procesos necesitarán compartir recursos y acceder
simultáneamente a ellos.
La consistencia secuencial es un importante modelo de
consistencia centrado en los datos, el cual fue definido por
primera vez por Lamport (1979) en el contexto de memoria
compartida para sistemas de multiprocesador.
Ing. Francisco Gómez
infosisdistribuidos@gmail.com
Sistemas Distribuidos. Segunda Edición
Andrew S. Tanenbaum, Maarten Van Steen
Modelo de consistencia centrada en los datos
Consistencia secuencial (cont.)
Lamport dice:
“El resultado de cualquier ejecución es el mismo que si las
operaciones (de lectura y escritura) de todos los procesos
efectuados sobre el almacén de datos se ejecutaran en
algún orden secuencial y las operaciones de cada proceso
individual aparecieran en esa secuencia en el orden
especificado por su programa”
Ing. Francisco Gómez
infosisdistribuidos@gmail.com
Sistemas Distribuidos. Segunda Edición
Andrew S. Tanenbaum, Maarten Van Steen
Modelo de consistencia centrada en los datos
Consistencia secuencial (cont. 2)
Ejemplo:
Secencualmente consistente
Ing. Francisco Gómez
infosisdistribuidos@gmail.com
Secuenciamente no consistente
Sistemas Distribuidos. Segunda Edición
Andrew S. Tanenbaum, Maarten Van Steen
Modelo de consistencia centrada en los datos
Consistencia casual
El modelo de consistencia causal (Hutto y Ahamad, 1990)
representa una debilidad de la consistencia secuencial, ya
que diferencia entre eventos que potencialmente están
relacionados por la causalidad y los que no lo están.
Si el evento b es causado o influenciado por un evento
previo a, la casualidad requiere que todos los demás
eventos vean primero a a, y después a b.
Si dos procesos escriben espontánea y simultáneamente
dos diferentes elementos de datos, estos no están
causalmente relacionados. Se dice que las operaciones
que no están causalmente relacionadas son concurrentes.
Ing. Francisco Gómez
infosisdistribuidos@gmail.com
Sistemas Distribuidos. Segunda Edición
Andrew S. Tanenbaum, Maarten Van Steen
Modelo de consistencia centrada en los datos
Consistencia casual (cont.)
Condición: Escrituras que potencialmente están relacionadas por la causalidad,
deben ser vistas por todos los procesos en el mismo orden. Las escrituras
concurrentes pueden verse en un orden diferente en diferentes máquinas.
Secuencia permitida con un almacén causalmente consistente, pero no con
almacén secuencialmente consistente
Ing. Francisco Gómez
infosisdistribuidos@gmail.com
Sistemas Distribuidos. Segunda Edición
Andrew S. Tanenbaum, Maarten Van Steen
Modelo de consistencia centrada en los datos
Consistencia momentánea
¿Hasta que punto los procesos en realidad operan de
manera concurrente, y hasta que punto la consistencia
necesita garantizarse?
Ejemplo DNS: el espacio de nombres se divide en
dominios, donde cada dominio es asignado a una
autoridad de asignación que actúa como propietaria de ese
dominio. Conflictos escritura-escritura no se presentan, lo
único es lectura-escritura
Si no ocurren actualizaciones durante mucho tiempo, todas
las réplicas gradualmente se volverán inconsistentes
(Consistencia momentánea)
Ing. Francisco Gómez
infosisdistribuidos@gmail.com
Sistemas Distribuidos. Segunda Edición
Andrew S. Tanenbaum, Maarten Van Steen
Descargar