Documentos de Académico
Documentos de Profesional
Documentos de Cultura
U5 CHJC
U5 CHJC
SISTEMAS DISTRIBUIDOS.
PROFESORA:
SALAS JIMENEZ VERÓNICA.
ALUMNO:
CRUZ HERNÁNDEZ JUAN CARLOS.
GRUPO:
8CM22.
1
ÍNDICE
Tabla de ilustraciones ............................................................................................................................. 2
5.1 Casos de fallas ......................................................................................................................................... 4
5.1.1 Fallas locales .................................................................................................................................... 5
5.1.2 Fallos de sitios.................................................................................................................................. 6
5.1.3 Fallas de canal de comunicación ..................................................................................................... 6
5.2 Protocolos de recuperación .................................................................................................................... 7
5.2.1 UnDo/ ReDo ..................................................................................................................................... 8
5.2.2 No UnDo/ No ReDo ....................................................................................................................... 10
5.3 Protocolos de recuperación distribuidos .............................................................................................. 12
Referencias .................................................................................................................................................. 15
Tabla de ilustraciones
3
5.1 Casos de fallas
4
independientes que se comunican con la memoria y/o el CPU a través de controladores y buses
independientes. Esto hace que el almacenamiento de datos en un disco sea la imagen del otro.
Así, un sistema puede tolerar fallas de un disco de subsistema.
Falla en los medios de comunicación: ocurre cuando un sitio no puede comunicarse con otro sitio
operacional en la red. Esto es ocasionado por la falla del nodo de conmutación y/o por los enlaces
de comunicación del sistema
Aquí, la ejecución arroja un resultado incorrecto, los procesos provocan que el sistema se desvíe
de las especificaciones y el proceso puede suspender su progreso. Por ejemplo, interbloqueos,
tiempo expirado, violación de protección, error en la entrada provista por el usuario, violaciones
de consistencia.
Se dan durante un proceso: Se omiten pasos necesarios o deseables del procesamiento
Se realizan pasos innecesarios o indeseables en el procesamiento
Se omite arbitrariamente la respuesta a mensajes
En canales de comunicación
Corrupción de mensajes
5
Reparto de mensajes inexistentes
Duplicación del reparto de mensajes auténticos
En un sistema distribuido crítico, con frecuencia nos interesa que el sistema pueda sobrevivir a
las fallas de los componentes (en particular del procesador), en vez de hacer que las fallas sean
poco probables: La confiabilidad de un sistema es en particular importante en un sistema
distribuido, debido a la gran cantidad de componentes presentes; de ahí la mayor posibilidad de
que falle uno de ellos. Esto es causado por errores de software y problemas de hardware, como
por ejemplo errores de CPU, falla en la memoria principal, falla en el bus, falla de energía, etc.
Una falla de un medio de comunicación, ocurre cuando un sitio no puede comunicarse con otro
sitio operacional de la red. Esto es ocasionado por la falla del nodo de conmutación y/o por los
enlaces de comunicación del sistema. La falla de un nodo de conmutación incluye la falla del
sistema y la falla de almacenamiento secundario, por otro lado, la falla de enlace incluye una
ruptura física y ruido en los canales de comunicación. Note que una falla en un medio de
6
comunicación (esto depende de la topología y la conectividad) puede no causar la pérdida total
de las facilidades de comunicación. Por ejemplo, una falla en el medio de comunicación puede
simplemente causar una pérdida del mensaje, la recepción de un mensaje con algunos errores,
o la partición de una red donde un segmento de sitios puede ser incomunicados con los sitios en
otro segmento, aunque los sitios dentro de un segmento pueden comunicarse entre sí.
• Fallos de parada: El elemento que falla, simplemente deja de funcionar y no interfiere con
el resto del sistema una vez falla.
• Fallos de omisión: El elemento que falla no hace cierta parte de su cometido ej.: un canal
de comunicación puede presentar fallos de omisión de envío o de respuesta.
• Fallos de temporización: El elemento que falla no lo hace en el tiempo previsto
• Fallos de respuesta: El elemento responde incorrectamente a las peticiones que se le
realizan
• Fallos arbitrarios: El componente que falla funciona de forma descontrolada.
El primer factor a tomar en cuenta es que el canal de comunicación esté libre de errores (canal
confiable). Para garantizar que el canal sea confiable se debe de realizar lo siguiente:
▪ Retransmisión de mensajes.
▪ Debe haber redundancia de canales
▪ La entrega de un paquete sea dentro de un tiempo límite especificado
En general, se considera que los canales de comunicación son fiables y que cuando falla la
comunicación es debido a la caída del proceso.
Recordemos que un error es esa parte del estado del sistema que es distinto de los valores
esperados y que pueden conducir a la falla de un sistema, la recuperación de una falla es un
proceso que involucra la recuperación de estados erróneos a un estado libre de error. Hay dos
enfoques para la recuperación de un estado de error a un estado libre de error.
Un bloqueo es una información del tipo de acceso que se permite a un elemento. El SGBD impone
los bloqueos necesarios en cada momento. El gestor de acceso a los datos implementa las
restricciones de acceso. En algunos sistemas se permite que el usuario pueda indicar el bloqueo
más adecuado (locking hints).
Tipos de bloqueo con respecto a la operación:
read-locks: sólo permite lectura
write-locks: permite lectura y escritura
El gestor de bloqueos almacena los bloqueos en una tabla de bloqueos:
(<elemento>, <tipo de bloqueo>, <transacción>)=(E,B,T)
La transacción T tiene un tipo de bloqueo B sobre el elemento E.
7
Normalmente, E es clave, aunque no siempre, porque varias transacciones pueden bloquear el
mismo elemento de forma diferente.
Niveles de bloqueo
Especifica la granularidad del bloqueo
• Fila: Fila individual
• Clave: Fila de un índice
• Página: Páginas (8KB)
• Extent: Extensión (grupo de 8 páginas contiguas de datos o índices)
• Table: Tabla completa
• Database: Base de datos completa
Modos de bloqueo
Especifica el modo en que se bloquea un elemento
• Compartido: para operaciones sólo de lectura. Se permiten lecturas concurrentes, pero ninguna
actualización.
• Actualización: para operaciones que pueden escribir. Sólo se permite que una transacción
adquiera este bloqueo. Si la transacción modifica datos, se convierte en exclusivo, en caso
contrario en compartido.
• Exclusivo para operaciones que escriben datos. Sólo se permite que una transacción adquiera
este bloqueo.
• Intención: se usan para establecer una jerarquía de bloqueo. Por ejemplo, si una transacción
necesita bloqueo exclusivo y varias transacciones tienen bloqueo de intención, no se concede el
exclusivo.
• Intención compartida: Bloqueo compartido.
• Intención exclusiva: Bloqueo exclusivo.
• Compartido con intención exclusivo. Algunos bloqueos compartidos y otros exclusivos.
• Esquema para operaciones del DDL.
• Actualización masiva. En operaciones de actualización masiva
El DBMS inicia la ejecución en el tiempo 0 y en el tiempo t se presenta una falla del sistema.
Durante el periodo [0, t] ocurren dos transacciones, T1 y T2. T1 ha sido concluida (ha realizado
su commit) pero T2 no pudo ser concluida.
La propiedad de durabilidad requiere que los efectos de T1 sean reflejados en la base de datos
estable. De forma similar, la propiedad de atomicidad requiere que la base de datos estable no
contenga alguno de los efectos de T2.
Operación REDO.
Por otra parte, es posible que el administrador del buffer haya realizado la escritura en la base de
datos estable de algunas de las páginas de la base de datos volátil correspondientes a la
transacción T2.
Así, la información de recuperación debe incluir datos suficientes para permitir deshacer ciertas
actualizaciones en el nuevo estado de la base de datos y regresarla al estado anterior. A esta
operación se le conoce como UNDO. La operación UNDO restablece un dato a su imagen anterior
utilizando la información del registro de la base de datos.
Operación UNDO.
De forma similar a la base de datos volátil, el registro de la base de datos se mantiene en memoria
principal (llamada los buffers de registro) y se escribe al almacenamiento estable (llamado registro
estable).
Las páginas de registro se pueden escribir en el registro estable de dos formas: síncrona o
asíncrona.
En forma síncrona, también llamada un registro forzado, la adición de cada dato en el registro
requiere que la página del registro correspondiente se mueva al almacenamiento estable.
De manera asíncrona, las páginas del registro se mueven en forma periódica o cuando los buffers
se llenan.
9
Ilustración 2 descripción de UNDO/REDO
11
2. Una transacción nunca leerá el valor de un artículo que está escrito por una transacción
no confirmada, porque los artículos permanecen bloqueados hasta que una transacción llega a
su punto de confirmación. Por lo tanto, no se producirá ninguna reversión en cascada.
12
La meta de la segunda fase es implementar esta decisión.
13
Ilustración 5 funcionamiento de protocolos
14
Referencias
15