Está en la página 1de 6

Diseo de tolerancia a fallos

La tolerancia a fallas es la propiedad que le permite a un


sistema seguir funcionando correctamente en caso de fallo
de una o varias de sus componentes. Si disminuye su
calidad de funcionamiento, la disminucin es proporcional
a la gravedad de la avera, en comparacin con un sistema
diseado ingenuamente de forma que hasta un pequeo
fallo puede causar el colapso total del sistema. Tolerancia a
fallos es particularmente buscado en sistemas de alta
disponibilidad.

Un diseo tolerante a fallas es un sistema que est


capacitado para continuar su funcionamiento cuando
alguna componente del sistema falla.,1 posiblemente a un
nivel ms reducido, lo que es mejor a que el sistema falle
completamente. El trmino es comnmente usado para
describir sistemas basados en computadoras diseados para
continuar en mayor o menor medida las operaciones que
realiza con, a lo mejor, una reduccin de su rendimiento o
un incremento de los tiempos de respuesta en las
componentes que fallan. Esto significa que el sistema, dada
una falla de software o de hardware no se detiene. Un
ejemplo en otra rama es el de un automvil diseado para Shortest Path BridgingECMP
continuar su funcionamiento si uno de sus neumticos
recibe un pinchazo.

Tolerancia a fallos no es slo una propiedad de cada una de las mquinas, sino que tambin puede caracterizar
las reglas segn las cuales interactan. Por ejemplo, el protocolo TCP est diseado para permitir una
comunicacin fiable de dos sentidos en una red de conmutacin de paquetes, incluso en la presencia de enlaces
de comunicaciones que son imperfectos o sobrecargados. Esto es as debido a que en los extremos de la
comunicacin se puede esperar prdida de paquetes, la duplicacin, la reordenacin y la corrupcin, a fin de
que estas condiciones no daen la integridad de los datos, y slo reduzcan la capacidad de una cantidad
proporcional.

La recuperacin de errores en sistemas tolerantes a fallas puede caracterizarse como avanzar o retroceso.
Cuando el sistema detecta que se ha cometido un error, la recuperacin "avanzar" toma el estado del sistema en
ese momento y lo corrige, para poder avanzar. La recuperacin "retroceso" recupera el estado del sistema a
algunos de los primeros y la versin correcta, por ejemplo mediante los puntos de recuperacin, y se mueve
hacia adelante. La recuperacin en retroceso requiere que las operaciones entre el puesto de control y los
errores detectados pueda ser inalterable. Algunos sistemas hacen uso de ambos tipos de recuperacin de errores
para diferentes partes de un mismo error.

En el mbito de un sistema individual, la tolerancia a fallas se puede lograr, anticipando las condiciones
excepcionales y creando el sistema para hacer frente a la situacin, y, en general, con el fin de auto-estabilizar
para que el sistema converge hacia un estado libre de error. Sin embargo, si las consecuencias de una falla en el
sistema son catastrficas, o el costo de hacer que sea suficientemente fiable es muy alta, la mejor solucin
puede ser la de utilizar algn tipo de duplicacin. En cualquier caso, si la consecuencia de una falla en el
sistema es tan catastrfico, el sistema debe ser capaz de utilizar reversin para volver a un modo seguro. Esto es
similar a la recuperacin en retroceso, pero puede ser una accin humana si los seres humanos estn presentes
en el ciclo.

ndice
1 Componentes
2 Redundancia
3 Criterios
4 Requisitos
5 Replicacin
6 Desventajas
7 Ejemplos
8 Trminos Relacionados
9 Vase tambin
10 Referencias
11 Bibliografa
12 Enlaces externos

Componentes
Si cada uno de los componentes, a su vez, puede seguir funcionando cuando uno de sus subcomponentes falla,
esto permitir que el sistema siga funcionando. Utilizando un vehculo de pasajeros como por ejemplo, un
coche puede tener neumticos "llanos", cada uno de los cuales contiene un slido ncleo de caucho, lo que
permite que puedan utilizarse incluso si un neumtico se pincha. Un neumtico llano pinchado puede ser
utilizado por una cantidad tiempo limitado a una velocidad reducida.

Redundancia
Redundancia es la prestacin de funciones que sera innecesaria en un ambiente libre de fallas.2 Esto puede ser
un componente de copia de seguridad que automticamente es desechado en caso de fallo de algn
componente. Por ejemplo, grandes camiones de carga pueden perder un neumtico sin mayores consecuencias.
Ellos tienen muchos neumticos, y ninguno de los neumticos es crtico (con la excepcin de los neumticos
delanteros, que se usan para dirigir). La idea de incorporar redundancia con el fin de mejorar la fiabilidad de un
sistema fue introducida por John von Neumann en la dcada de 1950.3

Dos tipos posibles de redundancia son:4 redundancia de espacio y redundancia de tiempo. La redundancia
espacial proporciona componentes adicionales, funciones o elementos de datos que no son necesarios para
operaciones libres de fallas. La redundancia espacial se clasifica en hardware, software y redundancia de
informacin, segn el tipo de recursos redundantes aadidos al sistema. A la hora de replicar, el clculo o
transmisin de datos se repite y el resultado se compara con una copia almacenada de el resultado anterior.

Criterios
Proveer un diseo tolerante a fallas para cada componente no siempre tiene que ser una opcin. La redundancia
lleva asociada una serie de penalizaciones: aumento de peso, tamao, consumo de energa, el costo, as como
tiempo para disear, verificar, y probar. Por lo tanto, un nmero de opciones tienen que ser examinadas para
determinar qu componentes deben ser tolerante a fallos:5

Cun importante es el componente? En un coche, la radio no es crtico, por lo que este componente
tiene menos necesidad de ser tolerante a fallas.

Cul es la probabilidad de que esta componente falle? Algunos de los componentes, como el eje de
transmisin en un coche, no es probable que falle, por lo que no es necesaria que sea tolerante a fallos.

Cul es el coste para hacer el componente tolerante a fallos? Requiere una redundancia del motor
del coche, por ejemplo, probablemente sea demasiado costoso tanto econmicamente como en trminos
de peso y espacio para que sea considerado como una opcin.
Un ejemplo de un componente que pasa todas las pruebas del coche es un sistema de sujecin de pasajeros.
Mientras que, normalmente, no se cree en el principal sistema de sujecin de pasajeros, la gravedad. En caso de
que el vehculo se vuelque o que sufra graves fuerzas g, este mtodo principal de retencin de pasajeros puede
fallar. Retener a los pasajeros durante un accidente de este tipo es absolutamente crtico para su seguridad, de
modo que esta componente pasa la primera prueba. Los accidentes que provocan expulsin de los pasajeros
eran bastante habituales antes de los cinturones de seguridad, por lo que pasa la segunda prueba tambin. El
costo de un mtodo de inmovilizacin redundante como cinturones de seguridad es bastante baja, tanto desde el
punto de vista econmico como en trminos de peso y espacio, por lo que pasa la tercera prueba. Por tanto,
agregar cinturones de seguridad para todos los vehculos es una excelente idea. Otros "sistemas de sujecin
suplementarios", tales como las bolsas de aire, son ms caros y pasan las pruebas por un margen menor.

Requisitos
Las caractersticas bsicas de la tolerancia a fallos:

1. Ni un solo punto de falla - Si un sistema experimenta un fracaso, debe continuar funcionando sin
interrumpirse durante el proceso de reparacin
2. Aislamiento de fallos en el componente que est fallando, cuando se produce un error, el sistema debe ser
capaz de aislar la falla a la reincidencia. Esto requiere la adicin de mecanismos de deteccin de fracaso
dedicados que existen solamente para el propsito del aislamiento de falla. La recuperacin de una
condicin de falla requiere la clasificacin de la avera o falla en el componente. El Instituto Nacional de
Estndares y Tecnologa (NIST) clasifica los fallos segn la localidad, causa, duracin y efecto.
3. La contencin de fallas para evitar propagacin de la falla - algunos mecanismos de falla pueden causar
fallos en el sistema mediante la propagacin del fallo al resto del sistema. Un ejemplo de este tipo de
fallo es el transmisor "Bribn" que puede colapsar la comunicacin legtima en un sistema global y
causar fallos en el sistema. Mecanismos que protejan el sistema y que aislan un transmisor bribn o las
componentes que fallan son requeridos.
4. Disponibilidad de modos de reversin

Por otra parte, los sistemas tolerantes a fallos se caracterizan en trminos de interrupciones del servicio y en
interrupciones de servicio no planificadas. Estos generalmente se miden en el nivel de las aplicaciones y no
slo a nivel de hardware. La figura de mrito se denomina disponibilidad y se expresa como un porcentaje. Por
ejemplo, un sistema cinco nueve proporcionara estadsticamente un 99,999 % de disponibilidad.

Los sistemas tolerantes a fallos se basan, generalmente, en el concepto de redundancia.

Replicacin
La tolerancia a fallas se trata, fundamentalmente, mediante las siguientes tres vas:

Replicacin: proporcionar mltiples casos idnticos en el mismo sistema o subsistema, dirigiendo las
tareas o las solicitudes de todos ellos en paralelo, y elegir el resultado correcto sobre la base de un
qurum;
Redundancia: proporcionar mltiples casos idnticos en el mismo sistema y la posibilidad de cambiar a
uno de los restantes casos en caso de fallo;
Diversidad: proporcionar mltiples implementaciones distintas de la misma especificacin, y utlizarlos
como sistemas duplicados para hacer frente a los errores de una aplicacin concreta.

Todas las implementaciones de RAID, matriz redundante de discos independientes, excepto RAID 0, son
ejemplos de un dispositivo de almacenamiento de dato tolerante a fallos que utiliza redundancia de datos.

Una mquina tolerante a fallas rgida utiliza elementos replicados funcionando en paralelo. En cualquier
momento, todas las repeticiones de cada elemento deben estar en el mismo estado. Las mismas entradas son
proporcionadas a cada rplica, esperando siempre los mismos resultados esperados. Las salidas de las
replicaciones se comparan utilizando un circuito electoral. Una mquina con dos repeticiones de cada elemento
se denomina Redundancia Modular Dual (RMD). La votacin del circuito slo puede detectar una discrepancia
y la recuperacin depende de otros mtodos. Una mquina con tres repeticiones de cada elemento se denomina
Redundancia Modular Triple (RMT). El resultado de la votacin del circuito puede determinar cual replicacin
est en estado de error cuando se observa una votacin dos-a-uno. En este caso, el resultado de la votacin del
circuito puede dar como resultado el resultado correcto y rechazar la versin errnea. Despus de esto, el estado
interno de la duplicacin errnea se supone que es diferente de la de los otros dos, y el resultado de la votacin
del circuito puede cambiar a un modo defectuoso. Este modelo se puede aplicar a cualquier mayor nmero de
replicaciones.

Las mquinas tolerantes a fallas rgidas son ms fcil de hacer totalmente sincrnicas, con cada una de las
puertas de cada una de las replicaciones de la misma transicin de estado en el mismo borde del reloj, y los
relojes de las rplicas estn exactamente en fase. Sin embargo, es posible construir sistemas que prediquen sin
este requisito.

La repeticin en sincrona requiere hacer sus estados guardados internos el mismo. Que se puede iniciar desde
un estado inicial fijo, como el estado reset. Por otra parte, el estado interno de una rplica se puede copiar a otra
rplica.

Una variante de RMD es par y de repuesto. Dos elementos replicados funcionan de forma sncrona a la par,
con una votacin del circuito que detecta la falta de correspondencia entre sus operaciones y emite una seal
que indica que hay un error. Otra pareja funciona exactamente de la misma manera. Un circuito final selecciona
la salida de la pareja que no se proclame que es un error. Par de repuesto requiere cuatro rplicas en lugar de
los tres de RMT, pero se ha utilizado comercialmente.

Desventajas
Las ventajas de los diseos orientados a fallas son evidentes, mientras que muchos de sus inconvenientes no:

Interferencia con deteccin de fallos en la misma componente. Para continuar con el anterior ejemplo
del vehculo de pasajeros, puede no ser evidente para el conductor darse cuenta del momento en que un
neumtico se ha desinflado, con cualquiera de los sistemas tolerantes a fallos. Por lo general, esto se
maneja con un "sistema de deteccin automtica de fallos". En el caso del neumtico, una presin de aire
monitor detecta la prdida de presin y notifica al conductor. La alternativa es el "manual de sistema de
deteccin", tales como la inspeccin manual de todos los neumticos en cada parada.

Interferencia con deteccin de fallos en otro componente. Otra variante de este problema es cuando la
tolerancia a fallos en una componente impide la deteccin de fallos en una componente diferente. Por
ejemplo, si la componente B realiza algunas operaciones basadas en la produccin del componente A, la
tolerancia a fallas en B puede ocultar un problema en A. Si el componente B se cambia ms adelante (a
un diseo menos tolerante a fallas), el sistema puede fallar de repente, dando la impresin que la nueva
componente B es el problema. Slo despus de que el sistema ha sido estudiado cuidadosamente dejar
claro que el problema es en realidad con la componente A.

Reduccin de la prioridad de correccin de errores. Incluso si el operador se da cuenta del fallo, el


hecho de disponer de un sistema tolerante a fallos es probable que reduzca la importancia de la
reparacin del fallo. Si los fallos no se corrigen, esto llevar en el futuro a fallos del sistema, cuando la
tolerancia a fallos o la componente falla por completo cuando todos los componentes redundantes han
fallado.

Dificultad de prueba. Para algunos crticos de los sistemas tolerantes a fallos, como un reactor nuclear,
no hay ninguna manera fcil de comprobar que los componentes de la copia de seguridad son
funcionales. El ms famoso ejemplo de esto es desastre de Chernbil, donde los operadores probaron la
copia de seguridad de emergencia mediante la desactivacin del enfriamiento primario y secundario de
refrigeracin. La copia de seguridada fall, resultando en una fusin nuclear del reactor y liberacin
masiva de radiacin.

Costo. Tanto los componentes tolerantes a fallos y las componentes redundantes tienden a aumentar. Este
puede ser un simple costo econmico o puede incluir otras medidas, como por ejemplo el peso. Las naves
espaciales tripuladas, por ejemplo, tienen tantos componentes redundantes y tolerantes a fallos que su
peso aumenta de forma dramtica en sistemas no tripulados, los cuales no requieren el mismo nivel de
seguridad.

Componentes de calidad inferior. Un diseo tolerante a fallas puede permitir el uso de componentes de
calidad inferior, los cuales podran hacer el sistema inoperable. Si bien esta prctica tiene el potencial
para mitigar el aumento de los costos, el uso de mltiples componentes de calidad inferior pueden reducir
la fiabilidad del sistema a un nivel igual o incluso peor que un sistema no tolerante a fallos.

Ejemplos
El hardware con tolerancia a fallos requiere a veces que las piezas rotas pueden ser extradas y reemplazadas
por nuevas piezas mientras el sistema sigue funcionando (en informtica conocido como sustitucin en
caliente). Un sistema de este tipo con una sola copia de seguridad se conoce como nico punto tolerante y
representa la gran mayora de sistemas tolerantes a fallos. En este tipo de sistemas el tiempo medio entre fallos
debe ser lo suficientemente largo como para que los operadores puedan arreglar los dispositivos rotos (tiempo
medio de reparacin) antes de que la copia de seguridad tambin falle. Se recomienda que el tiempo entre fallos
sea lo ms largo posible, pero no es estrictamente necesario en un sistema tolerante a fallos.

La tolerancia a fallos funciona muy bien en las aplicaciones informticas. La primer computadora con
tolerancia a fallos fue SAPO en la Repblica Checa. La empresa Tandem Computers ha basado todo su negocio
en este tipo de equipos, que utilizan un nico punto de tolerancia para crear sus sistemas NonStop, cuyos
periodos de funcionamiento pueden medirse en aos.

Los programas informticos tambin pueden utilizar arquitecturas libres de fallos, por ejemplo en la replicacin
de procesos.

Los formatos de datos tambin pueden ser diseados para degradarse correctamente. El lenguaje HTML por
ejemplo, est diseado para ser compatible, lo cual permite a los navegadores Web ignorar las nuevas entidades
html que no entienden sin provocar que el documento sea inutilizable.

Trminos Relacionados
Hay una diferencia entre tolerancia a fallos y sistemas que rara vez tienen problemas. Por ejemplo, los sistemas
Western Electric crossbar tenan tasas de fallas de dos horas por cuarenta aos y, por lo tanto, eran altamente
resistente a fallos. Pero cuando el fallo se produjo, los sistemas dejaron de funcionar por completo, y por lo
tanto, no eran tolerantes a fallos.

Vase tambin
Cluster
Defensa en profundidad
Deteccin y correccin de errores
Mejora progresiva
Resiliencia (ecologa)
Rizoma (filosofa)
Rollback

Referencias
1. Johnson, B. W. (1984). "Fault-Tolerant Microprocessor-Based Systems", IEEE Micro, vol. 4, no. 6, pp. 6-21
2. Laprie, J. C. (1985). "Dependable Computing and Fault Tolerance: Concepts and Terminology", Proceedings of 15th
International Symposium on Fault-Tolerant Computing (FTSC-15), pp. 2-11
3. von Neumann, J. (1956). "Probabilistic Logics and Synthesis of Reliable Organisms from Unreliable Components", in
Automata Studies, eds. C. Shannon and J. McCarthy , Princeton University Press, pp. 43-98
4. Avizienis, A. (1976). "Fault-Tolerant Systems", IEEE Transactions on Computers, vol. 25, no. 12, pp. 1304-1312
5. Dubrova, E. (2013). "Fault-Tolerant Design", Springer, 2013, ISBN 978-1-4614-2112-2

Bibliografa
P. J. Denning (diciembre de 1976). Fault tolerant operating systems. ACM Computing Surveys (CSUR)
8 (4): 359-389. ISSN 0360-0300. doi:10.1145/356678.356680.
Theodore A. Linden (diciembre de 1976). Operating System Structures to Support Security and Reliable
Software. ACM Computing Surveys (CSUR) 8 (4): 409-445. ISSN 0360-0300. doi:10.1145/356678.356682.

Enlaces externos
Implementation and evaluation of failsafe computer-controlled systems
Seminar on Self-Healing Systems
Article about TMR with reference to TMR usage in avionics and industry
EU funded research project HPC4U addressing development of fault tolerant technologies for Grid
computing environments
Fault Tolerance and High Availability Systems
High Availability Software
Graceful Degradation in the RKBExplorer
Fault Tolerance and High Availability Systems for Check Point Firewall and VPN networks with
Resilience line of FCR appliances

Obtenido de https://es.wikipedia.org/w/index.php?title=Diseo_de_tolerancia_a_fallos&oldid=99515559

Se edit esta pgina por ltima vez el 31 may 2017 a las 10:21.
El texto est disponible bajo la Licencia Creative Commons Atribucin Compartir Igual 3.0; pueden
aplicarse clusulas adicionales. Al usar este sitio, usted acepta nuestros trminos de uso y nuestra poltica
de privacidad.
Wikipedia es una marca registrada de la Fundacin Wikimedia, Inc., una organizacin sin nimo de
lucro.