Tolerancia a Fallas en
Sistemas de Tiempo Real
Tesis de Licenciatura
Departamento de Computación
Facultad de Ciencias Exactas y Naturales
Universidad de Buenos Aires
Pablo J. Rogina
Director: Dr. G. Wainer
Febrero 2000
Objetivos



Presentar el estado del arte en el desarrollo de
técnicas y métodos de tolerancia a fallas aplicables
a sistemas de tiempo real.
Comprobar en forma práctica, los alcances de
técnicas sobre tolerancia a fallas usando
replicación.
Probar a RT-Minix como base confiable para
desarrollos reales, mediante extensiones y
aplicaciones.
Tolerancia a Fallas en Sistemas de Tiempo Real
2
Contenido





Conceptos sobre Sistemas de Tiempo Real
Conceptos sobre Tolerancia a Fallas
Estado del Arte de la Tolerancia a Fallas en
Sistemas de Tiempo Real
Replicación de Sensores en un Modelo Real
Conclusiones y Trabajo Futuro
Tolerancia a Fallas en Sistemas de Tiempo Real
3
Sistemas de Tiempo Real
Definiciones
 Aquellos sistemas que no sólo tienen que producir
resultados correctos, sino que tienen que realizarlos
en un momento determinado.
 Consecuencias catastróficas si no se cumplen los
restricciones temporales impuestas.
Tolerancia a Fallas en Sistemas de Tiempo Real
4
Sistemas de Tiempo Real (cont.)
Clasificación
 Duros (Hard)
 Restricciones
de tiempo estrictas
 Consecuencias catastróficas si se pierden metas
 Ejemplo: control de un reactor nuclear

Blandos (Soft)
 Restricciones
de tiempo menos rigurosas
 El cálculo pierde valor si se pierden metas
 Ejemplo: reservas de pasajes en línea
Tolerancia a Fallas en Sistemas de Tiempo Real
5
Sistemas de Tiempo Real (cont.)
Esquema General
Monitoreo
Termómetro
Ph-metro
Sensores
Control
Entorno
Tanque de Agua
Actuadores
Actuación
Calentador
Inyector
Tolerancia a Fallas en Sistemas de Tiempo Real
6
Sistemas de Tiempo Real (cont.)
Acciones básicas
 Monitoreo
 Control
 Actuación
Componentes clásicos
 Sensores
 Entorno
 Actuadores
Tolerancia a Fallas en Sistemas de Tiempo Real
7
Tolerancia a Fallas


Un sistema falla cuando deja de proveer el servicio
que debe prestar.
Un sistema es tolerante a fallas si continua
proveyendo los servicios especificados aún en
presencia de fallas de hardware o errores de
software.
Tolerancia a Fallas en Sistemas de Tiempo Real
8
Tolerancia a Fallas (cont.)
Definiciones
 Falla
 Defecto
dentro de un componente de hardware o
software

Error
 Manifestación

de una falla
Avería
 No
realización de alguna acción esperada
Tolerancia a Fallas en Sistemas de Tiempo Real
9
Tolerancia a Fallas (cont.)
Clases de Fallas
 Permanentes
 Falla

Transitorias
 Mal

total de un componente
funcionamiento temporario
Intermitentes
 Mal
funcionamiento temporario que se repite con
frecuencia
Tolerancia a Fallas en Sistemas de Tiempo Real
10
Tolerancia a Fallas (cont.)
Ocurrencias
 Las fallas transitorias son órdenes de magnitud más
comunes que las fallas permanentes
 Ejemplo:
La nave Voyager sufrió 42 fallas transitorias
(SEU - single event upset) y ninguna falla permanente
en la intensa radiación alrededor de Júpiter.

Elasticidad: habilidad para tolerar una segunda falla
tras recuperar de una primera
Tolerancia a Fallas en Sistemas de Tiempo Real
11
Tolerancia a Fallas (cont.)
Redundancia
 de Información
 replicación

de datos, códigos de correción de errores.
de Recursos
 se
agrega equipo adicional para tolerar la pérdida o
mal funcionamiento de ciertos componentes

de Tiempo
 se
realiza una acción, y de ser necesario, se vuelve a
realizar
Tolerancia a Fallas en Sistemas de Tiempo Real
12
Estado del Arte
Revisión de Avances en:
 Técnicas de Especificación y Diseño
 Algoritmos de Planificación
 Uso de Sensores y Actuadores
Tolerancia a Fallas en Sistemas de Tiempo Real
13
Estado del Arte (cont.)
Especificación y Diseño
 Lógica Temporal
 Evaluación de la Latencia de Tolerancia a Fallas
 Especificación y Verificación Formal para Sistemas
Digitales de Control de Vuelo
Tolerancia a Fallas en Sistemas de Tiempo Real
14
Estado del Arte (cont.)
Algoritmos de Planificación
 Garantía de Tolerancia a Fallas mediante
Planificación
 Tasa Monotónica Tolerante a Fallas (FT-RMS)
 Integración de Planificación y Tolerancia a Fallas
 Planificación y Tolerancia a fallas
 el
ejemplo de Marte
Tolerancia a Fallas en Sistemas de Tiempo Real
15
Estado del Arte (cont.)
Uso de Sensores y Actuadores
 Tolerancia a Fallas en HANNIBAL
 Tolerando Fallas de Sensores Continuamente
Valuados
 Tolerancia a Fallas en un Entorno Multisensor
 Algoritmos de Sensado Robusto y Distribuido
Tolerancia a Fallas en Sistemas de Tiempo Real
16
Estado del Arte (cont.)
Algoritmos de Sensado Robusto
 Acuerdo Aproximado
 Convergencia Rápida
 Región Optima
 Brooks-Iyengar Híbrido
Tolerancia a Fallas en Sistemas de Tiempo Real
17
Experiencias con un Modelo Real
Trabajos realizados
 Extensión de RT-MINIX con nuevos servicios (driver
de joystick, colas unidas)
 Aplicación de RT-MINIX como soporte para
desarrollar sistemas de tiempo real
 Implementación y prueba de algoritmos de
integración de sensores replicados
Tolerancia a Fallas en Sistemas de Tiempo Real
18
Experiencias con un Modelo Real
(cont.)
RT-MINIX
 Driver de joystick
 Capacidad
de conectar sensores analógicos y
digitales

Colas Unificadas
 Procesos
MM y FS se unieron con procesos de
usuario

Nueva Distribución basada en Minix 2.0.0
 Integración
de los servicios existentes y nuevos en
última versión del SO. Paquete instalable.
Tolerancia a Fallas en Sistemas de Tiempo Real
19
Experiencias con un Modelo Real
(cont.)
Replicación de
sensores
Tolerancia a Fallas en Sistemas de Tiempo Real
20
Experiencias con un Modelo Real
(cont.)
Algoritmos de sensado robusto
 Implementación
 Programas

de Usuario  Servicio del SO
Pruebas Estática y Dinámica
 Datos
codificados en los programas
 Datos variables a través de sensores replicados

Comparación de Algoritmos
Amplitud Rango
Diferencia Valores
140,00
120,00
100,00
80,00
60,00
40,00
20,00
0,00
A
K
L
E
G
Tolerancia a Fallas en Sistemas de Tiempo Real
D
C
J
B
H
I
F
21
Conclusiones
Extensión del concepto de sistema de tiempo real:
“aquel que debe proveer el servicio esperado en el
momento preciso, aún ante la presencia de fallas”
Tolerancia a Fallas en Sistemas de Tiempo Real
22
Conclusiones (cont.)



El área de incumbencia de la tolerancia a fallas ya
abarca a los sistemas de tiempo real.
Paquete distribuible de RT-MINIX, adecuado como
SOTR para futuros proyectos de tiempo real.
Comprobación de la validez y exactitud de
algoritmos de sensado robusto, mediante valores
estáticos y dinámicos.
Tolerancia a Fallas en Sistemas de Tiempo Real
23
Conclusiones (cont.)

Se cuenta con herramientas para que el ciclo
completo de desarrollo e implementación de un
sistema de tiempo real incluya capacidades de
tolerancia a fallas:
 Lenguajes
de especificación y diseño
 Algoritmos de planificación
 Profusión de sensores y actuadores
 Algoritmos de sensado robusto
Tolerancia a Fallas en Sistemas de Tiempo Real
24
Trabajo Futuro



Incorporar en RT-MINIX nuevos servicios de tiempo
real: planificación tolerante a fallas, herencia de
prioridades, interface gráfica.
Probar RT-MINIX con sistemas de tiempo real que
impongan una alta carga de trabajo: prototipo línea
embotelladora.
Proponer y estudiar nuevos algoritmos de sensado
robusto: multidimensionales.
Tolerancia a Fallas en Sistemas de Tiempo Real
25
Descargar

Tolerancia a Fallas en Sistemas de Tiempo Real