Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Mcti DSD TF V1e PDF
Mcti DSD TF V1e PDF
Tolerancia a fallos
▪ Aplicaciones críticas
▪ Aviones, telemedicina, etc.
▪ Replicación y consistencia
▪ Replicación y consistencia
▪ Objetivo
Conseguir que un sistema sea altamente fiable
▪ Objetivo
Conseguir que un sistema sea altamente fiable
▪ Objetivo
Conseguir que un sistema sea altamente fiable
▪ Fallos hardware
Fallos permanentes o transitorios en los
componentes hardware.
Fallos permanentes o transitorios en los
subsistemas de comunicación.
▪ Fallos software
Especificación inadecuada.
Fallos introducidos por errores en
el diseño y programación de componentes software.
componente,
diseño
▪ Los fallos pueden ser pequeños, pero los defectos muy grandes
Un simple bit puede convertir el saldo de una cuenta
bancaria de positivo a negativo
Defecto
físico Permanente
Diseño
incorrecto
HW Intermitente Avería
Error
inestable
Entorno
inestable
Transitorio
Error del
operador
▪ Objetivo
Conseguir que un sistema sea altamente fiable
Fiabilidad
R() = 0
Tiempo
R(0) = 1
Fiabilidad R() = 0
Tiempo
▪ Exponencial:
Si la tasa de errores es constante (generalmente verdadero
para componentes electrónicos), la fiabilidad sigue una
exponencial.
▪ Normal:
Usada para describir los equipos con una tasa de errores que
se incrementa con el paso del tiempo.
▪ Normal logarítmica:
Se encuentra cuando los tiempos de fallo o reparación
dependen de factores que contribuyen de forma acumulativa
(fatiga).
Weibull:
▪ Vida característica (tiempo en el que el 63,2% de población
falla) y factor de forma (asociado a la tasa de error,
siendo b=1 → tasa de error constante).
R(0) = 1
Fiabilidad
R() = 0
Tiempo
▪ Se cumple que:
R(t ) Ri (t ) i
▪ La fiabilidad del sistema es menor
Félix García Carballeira
Alejandro Calderón Mateos Sistemas Distribuidos (2017-2018) 26
Sistema paralelo
N
R (t ) 1 Qi (t ) donde Qi (t ) 1 Ri (t )
i 1
R(0) = 1
Fiabilidad
R() = 0
Tiempo
▪ Objetivo
Conseguir que un sistema sea altamente fiable
Avería/caída
Parado
funcionado
(reparación)
reparado
▪ Mantenimiento correctivo
Debido a fallos
▪ Mantenimiento preventivo
Para prevenir fallos
Pueden planificarse
TMF
disponibilidad
TMF TMR
SW básico
HW
Errores humanos
Problemas en transmisión
Desastre natural
Desconocido
7%
8% 27%
17%
18% 23%
Fuente: Gartner/Dataquest
▪ Objetivo
Conseguir que un sistema sea altamente fiable
tiempo
Estrategia Evitación de Eliminación
de fallos de fallos
fiabilidad
Airbus A320
1. Detección de errores
2. Confinamiento y diagnostico de daños
3. Recuperación de errores
4. Tratamiento de fallos y servicio continuado
generado.
Limitar la propagación de errores mediante el
Vuelta
atrás
Punto de
recuperación
Ejecución 1
Error
Ejecución 2
▪ Redundancia estática:
Los componentes redundantes se utilizan dentro del sistema para
enmascarar los efectos de los componentes con defectos.
▪ Redundancia dinámica.
La redundancia se utiliza sólo para la detección de errores.
La recuperación debe realizarla otro componente.
Sistema no Sistema
redundante redundante
Sistemas
Tolerantes a fallos
o Duplicación y comparación
entrada salida
C V
C: componente
C
V: votador
R(m)
1
0,8
R(tmr) vs R(m)
componente es muy baja la 0,6
fiabilidad
0,2
• Duplicación y comparación
• Ejemplo de detección de errores (reinicio).
• Códigos detectores y correctores
• Ejemplo de redundancia dinámica.
▪ Replicación y consistencia
Sistema no Sistema
redundante redundante
Sistemas
Tolerantes a fallos
cath (exception E) {
Señales // manejador E
}
Excepciones
▪ Facilitan la detección y recuperación de errores.
▪ Una excepción es una manifestación de un cierto tipo de error.
▪ Cuando se produce un error en el sistema se genera (eleva)
la excepción correspondiente en el contexto donde se ha
invocado la actividad que ha dado lugar al error.
▪ De esta forma se puede manejar la excepción en este contexto.
Checkpoint
Asserts
versión 1
ENTRADA SALIDA
versión 2 votación
▪ Detección de errores:
La realiza el programa votador.
▪ Recuperación de errores:
Se consigue descartando los resultados erróneos.
Restaurar el
bloque de
recuperación
Falla
Entrada al Salida del
bloque de bloque de
recuperación Establecer Ejecutar Descartar recuperación
¿Quedan Si Prueba
punto de alternativas? proxima aceptación punto de
recuperación alternativa Pasa
recuperación
No
El bloque de
recuperacion
falla
EFCU1
FCC1 S
COM
COM P
O
MON
MON I
ALERONES L
COM E
COM R
MON S
MON
EFCU2
FCC2
ORDENES PILOTO
Validación estructural.
Ejecución 1
Región de recuperación
Ejecución 2
Datos Datos de
activos recuperación
Dispositivo de
Vuelta atrás recuperación
▪ Transparentes a la aplicación:
El establecimiento de los puntos de recuperación y la vuelta atrás queda
bajo el control del hardware o del sistema operativo.
Ventaja: transparencia.
▪ Las aplicaciones pueden transportarse sin problemas.
Inconveniente: pueden establecerse puntos de recuperación en
momentos que no son necesarios (posibles sobrecargas).
▪ Controlados por la aplicación:
El diseñador de la aplicación establece los puntos de recuperación.
▪ Momento adecuado.
▪ Permite minimizar el conjunto de datos a salvaguardar.
Problema: falta de transparencia.
Restaurar el
bloque de
recuperación
Falla
Entrada al Salida del
bloque de bloque de
recuperación Establecer Ejecutar Descartar recuperación
¿Quedan Si Prueba
punto de alternativas? proxima aceptación punto de
recuperación alternativa Pasa
recuperación
No
El bloque de
recuperacion
falla
▪ Replicación y consistencia
Procesador Procesador
Memoria Memoria
Nodo 3
Procesador
Memoria
Software
Procesamiento Almacenamiento Comunicación
Hardware
Duplicación de mensajes:
El uso de número de secuencias para descartar
Perdida de mensaje:
Temporizador y retransmisión de mensaje perdido
Es posible redirigir los mensajes por diferentes caminos
Duplicación de mensajes:
▪ El uso de número de secuencias para descartar
Perdida de mensaje:
▪ Temporizador y retransmisión de mensaje perdido
▪ Es posible redirigir los mensajes por diferentes caminos
No
P1
IPC1 IPC2 IPC3 IPC4
P2
R21 R22
▪ Modelo síncrono
Relojes sincronizados
Entrega de mensajes acotada
Tiempo de ejecución de procesos acotado
▪ Modelo asíncrono
No hay sincronización de relojes
Entrega de mensajes no acotada
Tiempo de ejecución de procesos totalmente arbitraria
▪ Modelo de sistema:
Procesos secuenciales {P1, P2, ...Pn} que ejecutan un
algoritmo local
Canales de comunicación
▪ Eventos en Pi
Ei = {ei1, ei2, ...ein}
▪ Algoritmo local:
Un proceso cambia de un estado a otro (evento interno)
Un proceso cambia de un estado a otro y envía un mensaje a otro
proceso (evento de envío)
Un proceso recibe un mensaje y cambia su estado (evento de
recepción)
▪ Restricciones
Un proceso p solo puede recibir un mensaje después de
haber sido enviado por otro
Un proceso p solo puede cambiar del estado c al estado d si
está actualmente en el estado c
pi pj
Proceso pj falla
pi X
pj
Proceso pj falla
pi X
pj
ping
pi pj
ack
heartbeat
pi pj
▪ Replicación y consistencia
▪ Objetivos
Mejorar el rendimiento (caché)
Mejorar la disponibilidad
▪ Si p es la probabilidad de fallo de un servidor
▪ Con n servidores la probabilidad de fallo del sistema será pn
▪ Tipos de replicación
De datos
De procesos
▪ Problemas que introduce
Consistencia
▪ Requisitos
Transparencia
Consistencia
Rendimiento
C FE RM
RM
Gestores de
Réplicas
C FE RM
▪ Consistencia fuerte:
Utilizan esquemas de replicación pesimistas.
Mantienen una consistencia total dentro del grupo de réplicas.
▪ Consistencia débil:
Utilizan esquemas de control de concurrencia optimistas
Permite actualizaciones locales sin ningún tipo de restricciones
En algún momento se comprueba la consistencia de cada réplica
y aquellas modificaciones que hallan dado lugar a inconsistencias
tienen que anularse o corregirse.
Válidas cuando hay pocos accesos concurrentes en escritura.
RM
C FE RM FE C
RM
coste
Tolerancia a fallos: depende de la probabilidad con la que
ocurren los fallos
▪ Ejemplo:
N=7
Coste de W = 2 veces el coste de R
▪ READ
Se lee de R réplicas, se queda con la copia con la última
versión
▪ WRITE
Hay que asegurarse que todas las réplicas se comportan
en W o más réplicas.
▪ Two-phase-commit (2PC)
▪ Denominamos coordinador al proceso que realiza la operación
Coordinador:
P0 P1 P2
multicast: ok to commit?
OK to commit
recoger las respuestas
todos ok => send(commit)
Grabar en
else => send(abort) área temporal
Procesos: ok
ok to commit=> guardar
la petición en un
¡Commit! Hacer los cambios
área temporal y responder ok permanentes
commit => hacer los cambios
permanentes
abort => borrar los datos temporales
R1 W1 R2 W2 RT WT
1 5 1 5 1 25
1 5 2 4 2 20
1 5 3 3 3 15
2 4 2 4 4 16
2 4 3 3 6 12
3 3 3 3 9 9
¿Cuál se elige?
Félix García Carballeira
Alejandro Calderón Mateos Sistemas Distribuidos (2017-2018) 123
Métodos adaptativos dinámicos
▪ Inicialmente SCi = N
▪ Cuando se actualiza di
SCi = nº de copias de d modificadas durante esta
actualización
▪ Un nodo puede realizar una actualización si pertenece a una
partición mayoritaria
▪ N= 5
▪ Inicialmente:
A B C D E
VN 9 9 9 9 9
SC 5 5 5 5 5
▪ ¿Escritura en partición 2?
M= max{9, 9} = 9
I={D, E}
N= 5 , I = 2 5/2 No se puede realizar
▪ ¿Escritura en partición 1?
M= max{9, 9, 9} = 9
I={A, B, C}
N=5
I = 3 > 5/2 Se puede actualizar
A B C D E
VN 10 10 10 9 9
SC 3 3 3 5 5
▪ Nueva partición
A B C D E
VN 10 10 10 9 9
SC 3 3 3 5 5
▪ ¿Escritura en partición 1?
N=max{10,10} = 10
I = {A, B}
N= 3
I = 2 > 3/2 Se puede actualizar
Félix García Carballeira
Alejandro Calderón Mateos Sistemas Distribuidos (2017-2018) 130
Ejemplo
A B C D E
VN 11 11 10 9 9
SC 2 2 3 5 5
▪ Se une la partición 2 y 3
A B C D E
VN 11 11 10 9 9
SC 2 2 3 5 5
Partición 1 Partición 2
▪ ¿Escritura en partición 2?
M= max{10, 9, 9} = 10
I={C}
N=3
I = 1 3/2 se rechaza
Félix García Carballeira
Alejandro Calderón Mateos Sistemas Distribuidos (2017-2018) 132
Ejemplo
▪ Se une la partición 1 y 2
A B C D E
VN 11 11 10 9 9
SC 2 2 3 5 5
Partición 1 Partición 2
▪ ¿Escritura en partición 1?
M= max{10, 9, 9} = 11
I={A,B}
N=2
I = 1 2/2 Se actualiza
Félix García Carballeira
Alejandro Calderón Mateos Sistemas Distribuidos (2017-2018) 133
Ejemplo
A B C D E
VN 12 12 12 9 9
SC 3 3 3 5 5
Partición 1 Partición 2
M=max{VNi}
I = {Aj, tal que M = VNj}
N = max{SCk, k I}
if I N/2
then
no se puede unir
else {
Actualiza su estado
VNi = M
SCi = N +1
}
Félix García Carballeira
Alejandro Calderón Mateos Sistemas Distribuidos (2017-2018) 135
Replicación del sistema de ficheros CODA
▪ Situación 2:
Se modifica la versión de {A} en A, V= (3,2,1)
▪ Consistencia
▪ Para formalizar la noción de consistencia, comenzaremos
formalizando las nociones de tiempo
Tolerancia a fallos