Sistemas Tolerantes a Fallas - Universidad de Buenos Aires

FIUBA 75.60 Sistema Distribuídos I
1
FIUBA 75.60 Sistemas Distribuidos I
Sistemas Tolerantes a Fallas
Universidad de Buenos Aires
Facultad de Ingeniería
75.60 Sistemas Distribuidos I
Sistemas Tolerantes a Fallas
Prof. María Feldgen
FIUBA- Laboratorio de Sistemas Distribuidos Heterogéneos Prof. María Feldgen
1
FIUBA 75.60 Sistemas Distribuidos I
Sistemas Tolerantes a Fallas
Tolerancia a fallas
•
•
Trata con la confiabilidad de un sistema, o sea como asegurar que el sistema
corra correctamente.
Confiabilidad: es la medida en la cual la confianza se puede poner
justificadamente en el servicio que se obtiene del sistema (Laprie (1992).
FIUBA- Laboratorio de Sistemas Distribuidos Heterogéneos Prof. María Feldgen
2
FIUBA Laboratorio de Sistemas Distribuídos Heterogéneos (Prof. María Feldgen)
FIUBA 75.60 Sistema Distribuídos I
2
FIUBA 75.60 Sistemas Distribuidos I
Sistemas Tolerantes a Fallas
Defecto, error y falla
•
Las discapacidades de la confiablidad tiene tres facetas diferentes:
– desperfectos o defectos
– errores
– fallas
Hay una gran cantidad de distintos tipos de fallas los cuales se pueden clasificar segun
diferentes ejes o vistas. Hay una diferencia fundamental del origen del fenómeno de la
falla:
– físicos
– diseño
– interacción
Las fallas también se pueden clasificar de acuerdo:
– a su naturaleza: accidental o intencional con malicia o sin ella
– a la fase de creación en la vida del sistema: desarrollo u operación
– el lugar: interno o externo
– la persistencia: permanente o temporario
•
•
FIUBA- Laboratorio de Sistemas Distribuidos Heterogéneos Prof. María Feldgen
3
FIUBA 75.60 Sistemas Distribuidos I
•
Una clasificación propuesta por Laprie:
– fallas de interacción
– las fallas temporarias: fallas transientes externas, fallas intermitentes
defecto
•
•
•
•
•
Sistemas Tolerantes a Fallas
error
falla
defecto
error
Hay una cadena causa-efecto de un defecto a una falla.
Fault removal
Fault avoidance.
Fault prevention
tolerante a fallas (FT)
tratamiento de desperfectos o defectos (fault treatment).
FIUBA- Laboratorio de Sistemas Distribuidos Heterogéneos Prof. María Feldgen
4
FIUBA Laboratorio de Sistemas Distribuídos Heterogéneos (Prof. María Feldgen)
falla
FIUBA 75.60 Sistema Distribuídos I
3
FIUBA 75.60 Sistemas Distribuidos I
Sistemas Tolerantes a Fallas
Medición y validación de confiabilidad
•
Atributos de la medición y validación del grado de confiabilidad :
– Reliability (exactitud)
– Maintainability (mantenibilidad).
– Availability (disponibilidad).
– Safety (seguridad)
•
Muchas de las métricas de confiabilidad se pueden expresan como funciones de
probabilidad.
• MTTF
– Reliability
– Maintainability
• MBTF
• 10-n fallas por hora.
• MTTR
– Availability
• MTBF/(MTBF + MTTR)
Disponibilidad
90%
99%
99,9%
99,99%
99,999%
99,9999%
99,99999%
fuera de servicio/año
> 1 mes
aprox 4 dias
aprox 9 horas
aprox. 1 hora
aprox. 5 minutos
aprox. 30 segundos
aprox 3 segundos
Componente
PC desatendida
PC mantenida
Cluster
Multicomputadora
Embedded System (PC. tech.)
Embedded System (HW especial)
Embedded System (HW especial)
– Performability (degradación del sistema).
– Validación: V&V (validación y verificación).
Discapacidad
Significado
Atributo
Defectos
Fault Removal
Reliability
Errores
Fault Forecasting
Maintainability
Fallas
Fault Prevention
Availability
Fault Tolerance
Safety
FIUBA- Laboratorio de Sistemas Distribuidos Heterogéneos Prof. María Feldgen
•
Resumen
5
FIUBA 75.60 Sistemas Distribuidos I
Sistemas Tolerantes a Fallas
Presunción de defectos
•
•
Modelo de defectos o de fallas
Clases de defectos
– grupo de los de omisión.
• Crash faults
• Omission Faults.
• Timing Faults.
– El grupo de los deafirmación o perentorios (assertive) se dividen en dos grupos:
• sintácticos
• semánticos
– Cuando las interacciones son multicomponente
–
–
–
• consistentes
• inconsistentes
Grupo de Omisión ocurren en el dominio del tiempo
Grupo de Perentorios ocurren en el dominio del valor
Inconsistencia introduce el dominio del espacio.
– Cuando se combinan los tres tenemos defectos arbitrarios
• bizantinos (Lamport)
• early timing fault
FIUBA- Laboratorio de Sistemas Distribuidos Heterogéneos Prof. María Feldgen
6
FIUBA Laboratorio de Sistemas Distribuídos Heterogéneos (Prof. María Feldgen)
FIUBA 75.60 Sistema Distribuídos I
4
FIUBA 75.60 Sistemas Distribuidos I
Sistemas Tolerantes a Fallas
Cobertura
•
•
Cobertura: dado un defecto en el sistema, cobertura es la probabilidad que será
tolerado.
Cobertura de presunción (assumption coverage):
– presunciones ambientales
– presunciones operacionales:
• Ejemplo: en algoritmos fault tolerant esto indica la cobertura del procesamiento de errores, si el
algoritmo y su implementación son correctos, esperamos una cobertura = 1, y la probabilidad
de error es una cota superior de la cobertura total, estos son algoritmos deterministicos, a
diferencia de los probabilisticos donde la probabilidad de < 1.
– Supongamos que hacemos un conjunto de presunciones H sobre el ambiente, tales
como:
• H1: durante un intervalo de referencia T, ocurren como máximo k omisiones
• H2: los participantes no quedan aislados
• Entonces, si diseñamos un protocolo multicast A confiable y deterministico, el cual tiene las
siguientes propiedades:
– A1: cualquier mensaje despachado a un participante correcto es despachado a todos los
participantes correctos.
– A2: cualquier mensaje enviado por un participante correcto es despachado por lo menos
a otro participante.
• El arquitecto debe verificar además en el diseño del sistema: 1) asegurar que el protocolo
basado en H asegura que todo Ai tiene cobertura 1, 2) determinar la cobertura de todo Hi de H
y 3) verificar que la cobertura total es satisfactoria de acuerdo a los requerimientos.
FIUBA- Laboratorio de Sistemas Distribuidos Heterogéneos Prof. María Feldgen
7
FIUBA 75.60 Sistemas Distribuidos I
Sistemas Tolerantes a Fallas
¿Cómo fallan las computadoras?
•
Según Tandem Computers:
– La menor contribución a las fallas de sistemas son defectos de hw.
– La mayoria de las fallas (42%) se debe a una operación humana incorrecta o mala
administración del sistema.
– La segunda causa de fallas (25%) es fallas de sw.
– La tercer contribución viene del ambiente: corte del suministro de energía,
incendios e inundaciones.
FIUBA- Laboratorio de Sistemas Distribuidos Heterogéneos Prof. María Feldgen
8
FIUBA Laboratorio de Sistemas Distribuídos Heterogéneos (Prof. María Feldgen)
FIUBA 75.60 Sistema Distribuídos I
5
FIUBA 75.60 Sistemas Distribuidos I
Sistemas Tolerantes a Fallas
Computación tolerante a fallas
•
•
Tolerancia a caídas del sistema
Redundancia en el dominio del espacio, tiempo y valor:
– Redundancia espacial
– Redundancia en el tiempo
– Redundancia por valor
•
Procesamiento de errores:
– Tiene tres facetas:
Detección del error
Recuperación del error
Backward recovery
Forward recovery
Enmascarar el error
FIUBA- Laboratorio de Sistemas Distribuidos Heterogéneos Prof. María Feldgen
9
FIUBA 75.60 Sistemas Distribuidos I
Sistemas Tolerantes a Fallas
Tolerancia a fallas distribuída
•
Propiedades importantes de un sistema distribuído:
– modularidad
• confiabilidad incremental
• degradación suave
– soporte para HW heterogéneo
• evolución del sistema
• minimizar costo
• aumentar mantenibilidad
– crecimiento incremental
– complejidad en si mismo (siempre aplicar la regla KISS (Keep It Simple, Stupid)
•
•
Redes tolerantes a fallas
Arquitecturas tolerantes a fallas
– redundant storage
– redundant processors
• self checking
• fail silent
• NMR
FIUBA- Laboratorio de Sistemas Distribuidos Heterogéneos Prof. María Feldgen
10
FIUBA Laboratorio de Sistemas Distribuídos Heterogéneos (Prof. María Feldgen)
FIUBA 75.60 Sistema Distribuídos I
6
FIUBA 75.60 Sistemas Distribuidos I
Sistemas Tolerantes a Fallas
Ejemplo
Red de
datos
Clientes
Servidores de aplicación
tolerantes a fallas
Cliente-Servidor
FIUBA- Laboratorio de Sistemas Distribuidos Heterogéneos Prof. María Feldgen
11
FIUBA 75.60 Sistemas Distribuidos I
Sistemas Tolerantes a Fallas
Ejemplo
Servidores de publicación
tolerantes a fallas
Red de datos
Bus de mensajes
persistente
Publicación
Publicación-Suscripción
Suscriptores
FIUBA- Laboratorio de Sistemas Distribuidos Heterogéneos Prof. María Feldgen
12
FIUBA Laboratorio de Sistemas Distribuídos Heterogéneos (Prof. María Feldgen)