Tolerancia a fallos

Ir a: navegación, búsqueda de
Un ejemplo de la degradación agraciada por el diseño de una imagen con transparencia. Las imágenes de los dos primeros son el resultado de la visualización de la imagen compuesta en un visor que reconoce transparencia. Las imágenes de fondo dos son el resultado de un espectador sin soporte para transparencia. Porque la máscara de transparencia (inferior centro) se descarta, se mantiene sólo la superposición (centro superior); la imagen de la izquierda ha sido diseñado para degradaría correctamente, por lo tanto es todavía significativa sin su información de transparencia.

Tolerancia a fallos es la propiedad que permite una sistema continuar operando correctamente en caso de fracaso de (o uno o más defectos dentro) algunos de sus componentes. Si su calidad de funcionamiento disminuye en absoluto, la disminución es proporcional a la gravedad de la falla, en comparación con un sistema diseñado ingenuamente en que incluso un pequeño fallo puede causar colapso. Tolerancia a fallos es particularmente buscada en alta disponibilidad o sistemas de vida crítica.

A diseño tolerante permite que un sistema continuar su operación prevista, posiblemente en un nivel reducido, en lugar de fracasar completamente, cuando alguna parte del sistema falla.[1] El término se utiliza comúnmente para describir sistemas informáticos diseñado para continuar más o menos completamente operativo con, tal vez, una reducción en rendimiento de procesamiento o un aumento del tiempo de respuesta en el caso de un fracaso parcial. Es decir, el sistema en su conjunto no se detiene debido a los problemas o en la hardware o el software. Un ejemplo en otro campo es un vehículo de motor diseñado por lo que continuará a ser manejable si uno de los neumáticos se pincha. Una estructura es capaz de conservar su integridad en presencia de daños debido a causas tales como fatiga, corrosión, defectos de fabricación o impacto.

Tolerancia no es sólo una propiedad de máquinas individuales; también pueden caracterizar las reglas por las cuales interactúan. Por ejemplo, la Transmission Control Protocol (TCP) está diseñado para permitir una comunicación bidireccional confiable en un red de conmutación de paquetes, incluso en presencia de enlaces de comunicaciones que son imperfectas o sobrecargado. Esto se logra que requieren los extremos de la comunicación esperan pérdida de paquetes, duplicación, reordenación y la corrupción, para que estas condiciones no dañar la integridad de los datos y solamente reducen el rendimiento en una cantidad proporcional.

Recuperación de errores de sistemas tolerantes a fallos puede caracterizarse como roll forward o regresión. Cuando el sistema detecta que ha cometido un error, recuperación de tipo roll-forward toma el estado del sistema en aquel momento y corrige para poder avanzar. Recuperación de regresión revierte el estado del sistema a una versión anterior, correcto, por ejemplo usando puntos de controly se mueve hacia adelante a partir de ahí. Rollback de recuperación requiere que las operaciones entre el control y el estado detectado erróneo pueden hacerse idempotente. Algunos sistemas hacen uso de recuperación tanto roll forward y RollBack para diferentes errores o diferentes partes de un error.

En el ámbito de una individual sistema de tolerancia a fallos puede lograrse por anticipar condiciones excepcionales y construyendo el sistema para hacer frente a ellos y, en general, con el objetivo de estabilización automática para que el sistema converge hacia un estado libre de error. Sin embargo, si las consecuencias de un fallo del sistema son catastróficas, o el costo de hacerlo lo suficientemente fiables es muy alto, puede ser una solución mejor usar alguna forma de duplicación. En cualquier caso, si la consecuencia de un fallo del sistema es tan catastrófica, el sistema debe ser capaz de utilizar la reversión a bajar de nuevo a un modo seguro. Esto es similar a la regresión recuperación pero puede ser una acción humana si los seres humanos están presentes en el circuito.

Contenido

  • 1 Componentes
  • 2 Redundancia
  • 3 Criterios
  • 4 Requisitos
  • 5 Replicación
  • 6 Desventajas
  • 7 Ejemplos
  • 8 Relacionó los términos
  • 9 Véase también
  • 10 Referencias
  • 11 Bibliografía
  • 12 Enlaces externos

Componentes

Si cada componente, a su vez, puede seguir funcionando cuando falla uno de sus subcomponentes, esto permitirá que el sistema total continúen operando así. Utilizando un vehículo de pasajeros como un ejemplo, puede tener un coche neumáticos "run-flat", que cada uno contiene un núcleo de goma maciza, permitiéndoles ser utilizado incluso si se pincha un neumático. El neumático pinchado de "run-flat" puede utilizarse por un tiempo limitado a una velocidad reducida.

Redundancia

Artículo principal: redundancia (ingeniería)

Redundancia es la provisión de capacidades funcionales que sería innecesaria en un ambiente libre de culpa.[2] Esto puede consistir en componentes de copia de seguridad que automáticamente "retroceso en" fallara uno de los componentes. Por ejemplo, camiones de carga grande pueden perder un neumático sin mayores consecuencias. Tienen muchos neumáticos, y no un neumático es importante (a excepción de los neumáticos delanteros, que son utilizados para dirigir). La idea de incorporar redundancia para mejorar la fiabilidad de un sistema fue pionero por John von Neumann en la década de 1950.[3]

Son posibles dos tipos de redundancia:[4] redundancia de espacio y tiempo redundancia. Redundancia espacio proporciona elementos componentes, funciones o datos adicionales que son innecesarios para el funcionamiento sin averías. Redundancia de espacio adicional se clasifica en redundancia de hardware, software y la información, dependiendo del tipo de recursos redundantes añadido al sistema. En redundancia de tiempo se repite el cómputo o transmisión de datos y el resultado es comparado con una copia almacenada del resultado anterior.

Criterios

Proporcionando diseño tolerante a fallas para cada componente normalmente no es una opción. Redundancia asociado trae una serie de sanciones: aumento de peso, tamaño, consumo de energía, costos, así como tiempo para diseñar, verificar y probar. Por lo tanto, un número de opciones, que debe ser examinada para determinar qué componentes deben ser tolerante:[5]

  • ¿Lo importante es el componente? En un auto, la radio no es crítica, por lo que este componente tiene menos necesidad de tolerancia a fallos.
  • ¿Cuán probable es el componente que falla? Algunos componentes, como son el eje de accionamiento en un coche, no son propensos a la bancarrota, así que no hay tolerancia necesaria.
  • ¿Lo costoso es hacer la falla del componente tolerantes? Que requiere un motor de coche redundantes, por ejemplo, probablemente sería demasiado caro tanto económicamente y en términos de peso y el espacio, debe ser considerado.

Un ejemplo de un componente que pasa todas las pruebas es el sistema de sujeción de los ocupantes de un automóvil. Mientras no creemos normalmente de la primaria sistema de retención del ocupante, es gravedad. Si el vehículo vuelca o somete a severas fuerzas g, puede fallar este método primario de sujeción de los ocupantes. Refrenar a los ocupantes durante un accidente es absolutamente crítico para la seguridad, así que pasamos la primera prueba. Los accidentes que causa la eyección de los ocupantes eran muy común antes de cinturones de seguridad, así que pasamos a la segunda prueba. El costo de un método de sujeción redundante como cinturones de seguridad es bastante bajo, tanto económicamente como en términos o peso y espacio, así que pasamos la tercera prueba. Por lo tanto, agregando el cinturón de seguridad a todos los vehículos es una excelente idea. Otros "sistemas de retención suplementario", tales como bolsas de aire, son más caros y así pasar esa prueba por un margen menor.

Requisitos

Las características básicas de tolerancia requieren:

  1. No punto único de falla – Si un sistema experimente un fallo, debe seguir funcionando sin interrupción durante el proceso de reparación.
  2. Aislamiento de fallas al componente falla – cuando ocurre una falla, el sistema debe ser capaz de aislar el fracaso en el componente ofensivo. Esto requiere la incorporación de mecanismos de detección de fallo dedicado que existe sólo con el propósito de aislamiento de fallas. Recuperación de una condición de falla requiere clasificar la culpa o en su defecto el componente. El National Institute of Standards and Technology (NIST) categoriza fallos basados en la localidad, duración, causa y efecto.
  3. Falla de contención para evitar la propagación del fracaso – algunos mecanismos de fallo pueden ocasionar que el sistema falle por propagar el fracaso en el resto del sistema. Un ejemplo de este tipo de falla es el "transmisor pícaro" que puede en un sistema de comunicación legítimo del pantano y causar fallos en el sistema global. Cortafuegos o son necesarios otros mecanismos que aislar un componente pícaro transmisor o falla para proteger el sistema.
  4. Disponibilidad de modos de reversión[aclaración necesitado]

Además, sistemas tolerantes a fallos se caracterizan tanto por interrupciones del servicio previsto como interrupciones del servicio no planificadas. Estos generalmente se miden en el nivel de aplicación y no sólo a nivel hardware. La figura de mérito se llama disponibilidad de y se expresa como un porcentaje. Por ejemplo, un cinco nueves sistema estadístico proporcionaría disponibilidad del 99,999%.

Sistemas tolerantes a fallos normalmente se basan en el concepto de redundancia.

Replicación

Componentes de repuesto dirección la primera característica fundamental de la tolerancia a fallos de tres maneras:

  • Replicación:: Proporcionando varias instancias idénticas del mismo sistema o subsistema, dirigiendo las tareas o solicitudes a todos ellos en paraleloy elegir el resultado correcto sobre la base de un quórum;
  • Redundancia:: Proporcionando varias instancias idénticas del mismo sistema y cambiar a uno de los casos restantes en caso de un fracaso (failover);
  • Diversidad: Proporcionar múltiples diferentes implementaciones de la misma especificación y usarlos como replican sistemas para hacer frente a los errores en una aplicación específica.

Todas las implementaciones de RAID, matriz redundante de discos independientes, excepto RAID 0, son ejemplos de una tolerancia dispositivo de almacenamiento que utiliza redundancia de datos.

A férreamente Tolerancia máquina utiliza elementos replicados operando en paralelo. En cualquier momento, todas las repeticiones de cada elemento deben ser en el mismo estado. Las mismas entradas se proporcionan para cada uno replicación, y se esperan los mismos resultados. Las salidas de las repeticiones se comparan utilizando un circuito de votación. Una máquina con dos repeticiones de cada elemento se denomina doble modular redundante (DMR). El circuito de votación sólo entonces puede detectar un desajuste y recuperación depende de otros métodos. Una máquina con tres repeticiones de cada elemento se denomina triple modular redundante (TMR). El circuito de votación puede determinar que la replicación es un error cuando se observa una votación de dos a uno. En este caso, el circuito de votación puede el resultado correcto de la salida y descartar la versión errónea. Después de esto, el estado interno de la replicación errónea se asume que es distinta a la de los otros dos, y el circuito de votación puede cambiar a un modo DMR. Este modelo se puede aplicar a cualquier mayor número de repeticiones.

Férreamente máquinas tolerante más fácilmente se hacen totalmente síncrono, con cada puerta de cada repetición haciendo la misma transición de estado en el borde mismo del reloj y los relojes a las repeticiones siendo exactamente en fase. Sin embargo, es posible construir sistemas férreamente sin este requisito.

Trayendo las repeticiones en sincronía requiere haciendo sus internos almacenados afirma lo mismo. Puede arrancar desde un estado inicial fijo, tales como estado de reajuste. Como alternativa, se puede copiar el estado interno de una réplica a otra réplica.

Es una variante de DMR par-y-repuestos. Dos elementos repetidos funcionan en paralelo como un par, con un circuito electoral que detecta cualquier desajuste entre sus operaciones y salidas de una señal que indica que hay un error. Otro par funciona exactamente de la misma manera. Un circuito final selecciona la salida de la pareja que no proclame que resulta en un error. Par-y-spare requiere cuatro réplicas en lugar de los tres de TMR, pero se ha utilizado comercialmente.

Desventajas

Ventajas de diseño tolerante son evidentes, mientras que muchas de sus desventajas no son:

  • Interferencia con la detección de fallas en el mismo componente. A seguir el ejemplo anterior de vehículos de pasajeros, con cualquiera de los sistemas tolerantes a fallos puede no ser obvia al conductor cuando un neumático ha sido perforado. Esto generalmente se maneja con un separado "automatizado sistema de detección de fallas". En el caso de los neumáticos, un monitor de presión de aire detecta la pérdida de presión y notifica al conductor. La alternativa es un "sistema manual de detección de fallas", tales como inspección manualmente todos los neumáticos en cada parada.
  • Interferencia con la detección de fallas en otro componente. Otra variación de este problema es cuando la tolerancia en un componente impide la detección de fallas en un componente distinto. Por ejemplo, si el componente B realiza una operación basada en la salida del componente A, entonces falla la tolerancia en B puede ocultar un problema con el A. Si más adelante cambia componente B (con un diseño menos tolerante a fallas) el sistema puede fallar repentinamente, haciendo que parezca que el nuevo componente B es el problema. Sólo después de que el sistema ha sido cuidadosamente examinado se convertirá en claro que el problema de fondo es en realidad con el componente A.
  • Reducción de prioridad de fallas corrección. Incluso si el operador es consciente de la falla, tener un sistema tolerante a fallas es probable que reduzca la importancia de la reparación de la avería. Si no se corrigen las fallas, esto conducirá eventualmente a fallo del sistema, cuando el componente tolerante falla completamente o cuando todos los componentes redundantes también han fracasado.
  • Prueba de dificultad. Para ciertos sistemas tolerantes a fallos críticos, tales como un reactor nuclear, no hay ninguna manera fácil de verificar que los componentes de copia de seguridad funcionales. El más famoso ejemplo de esto es Chernobyl, donde los operadores prueban el enfriamiento mediante la desactivación de primario y secundario de refrigeración de emergencia. La copia de seguridad fallido, resultante de una fusión del núcleo y masiva liberación de radiación.
  • Costo. Ambos componentes tolerante a fallas y componentes redundantes tienden a aumentar el costo. Esto puede ser un costo puramente económico o puede incluir otras medidas, tales como el peso. Naves espaciales tripuladas, por ejemplo, han acobardado tantos componentes redundantes y tolerantes a fallos que su peso aumenta dramaticamente en sistemas que no requieren el mismo nivel de seguridad.
  • Componentes inferiores. Un diseño tolerante puede permitir el uso de componentes inferiores, que de lo contrario habría hecho el sistema inoperable. Mientras que esta práctica tiene el potencial para mitigar el aumento de costo, el uso de múltiples componentes inferiores puede disminuir la fiabilidad del sistema a un nivel igual o incluso peor, un sistema no-fault-tolerant comparable.

Ejemplos

Tolerancia a fallos del hardware a veces requiere que piezas rotas ser eliminado y reemplazadas por nuevas piezas mientras el sistema está todavía operativo (en informática conocida como intercambio en caliente). Se denomina un sistema implementado con una sola copia de seguridad monopunto tolerantey representa a la mayoría de sistemas tolerantes a fallos. En tales sistemas la tiempo medio entre fallos debería ser suficiente para que los operadores de tener tiempo para arreglar los aparatos rotos (tiempo promedio de reparación) antes de que la copia de seguridad también falla. Ayuda si el tiempo entre fallas es tan largo como sea posible, pero esto no se requiere específicamente en un sistema tolerante a fallos.

Tolerancia a fallos es notablemente exitosa en aplicaciones informáticas. Tandem Computers construido todo su negocio en estos aparatos, que utiliza un solo punto de tolerancia para crear sus Sin parar sistemas con tiempos activos medido en años.

Arquitecturas de seguridad pueden abarcar también los programas informáticos, por ejemplo por proceso replicación (informática).

Formatos de datos también pueden ser diseñados para degradaría correctamente. HTML por ejemplo, está diseñado para ser hacia adelante, permitiendo nuevas entidades HTML a ser ignorado por Navegadores web que no las entienden sin causar el documento a ser inutilizable.

Relacionó los términos

Hay una diferencia entre los sistemas que raramente tienen problemas y tolerancia a fallos. Por ejemplo, la Western Electric travesaño sistemas de las tasas de fracaso de dos horas por cuarenta años y por lo tanto fueron altamente culpa resistente. Pero cuando ocurrió una falla todavía dejaron de operar completamente y por lo tanto no eran tolerancia a fallos.

Véase también

  • Tolerancia a fallos bizantino
  • Enrutamiento capilar
  • Cluster (informática)
  • Reconfiguración de control
  • Redundancia de datos
  • Defensa en profundidad
  • Degradación elegante
  • Corrección y detección de errores
  • Diseño tolerante a errores
  • Fallan suave
  • Fail-fast
  • A prueba de fallos
  • Transparencia de fracaso[aclaración necesitado]
  • retroceder y avanzar
  • Sistemas tolerantes a fallos informáticos
  • Tolerancia de intrusión
  • Lista de atributos de calidad del sistema
  • Mejora progresiva
  • Resiliencia (ecología)
  • Resiliencia (red)
  • Rizoma (filosofía)
  • Rollback
  • Diseño de la caja de seguridad-vida
  • Separación de protección y seguridad

Referencias

  1. ^ Johnson, B. W. (1984). "Sistemas tolerantes a fallos basados en microprocesadores", IEEE Micro, vol. 4, núm. 6, pp. 6-21
  2. ^ Laprie, J. C. (1985). "Computación confiable y tolerancia a fallos: conceptos y terminología", actas del XV Simposio Internacional de computación tolerante a fallas (FTSC-15), págs. 2 – 11
  3. ^ von Neumann, J. (1956). "Lógicas probabilísticas y síntesis de organismos confiables de componentes confiables", en estudios de autómatas, eds., C. Shannon y J. McCarthy, Princeton University Press, págs. 43-98
  4. ^ Avizienis, A. (1976). "Sistemas tolerantes a fallos", IEEE Transactions on Computers, vol. 25, no. 12, págs. 1304 – 1312
  5. ^ Dubrova, E. (2013). "Diseño fault-Tolerant", Springer, 2013, ISBN 978-1-4614-2112-2

Bibliografía

  • Brian RandellLee P.A., P. C. Treleaven (junio de 1978). "Problemas de confiabilidad en el diseño del sistema de computación". ACM Computing Surveys CSUR (DEL) 10 (2): 123 – 165. Doi:10.1145/356725.356729. ISSN0360-0300.
  • P. J. Denning (Diciembre de 1976). "Sistemas operativos tolerantes a fallas". ACM Computing Surveys (Csur del) 8 (4): 359-389. Doi:10.1145/356678.356680. ISSN0360-0300.
  • Theodore A. Linden (diciembre de 1976). "Estructuras del sistema operativo a la seguridad de soporte y Software confiable". ACM Computing Surveys (Csur del) 8 (4): 409-445. Doi:10.1145/356678.356682. ISSN0360-0300.

Enlaces externos

  • Implementación y evaluación de sistemas controlados por computadora a prueba de fallos
  • Seminario sobre sistemas de autorrecuperación
  • Entrevista con Robert Hanmer acerca de su libro Pautas de culpa tolerante Software (Primera parte, Segunda parte) (Podcast)
  • Artículo"Consideraciones prácticas en la fabricación de CORBA servicios Fault-Tolerant"por Priya Narasimhan
  • Artículo sobre TMR con referencia al uso TMR en aviónica e industria
  • Artículo"Experiencias, estrategias y desafíos en la construcción de sistemas tolerantes a fallos CORBA"por Pascal Felber y Priya Narasimhan
  • Fiabilidad y sus amenazas: Una taxonomía por Algirdas Avizienis, Jean Claude Laprie, B. Randell
  • Proyecto de investigación financiado por la UE HPC4U abordar el desarrollo de tecnologías tolerante culpa para entornos de Computación Grid
  • Sistemas de alta disponibilidad y tolerancia a fallos
  • Software de alta disponibilidad
  • Degradación agraciada en el RKBExplorer
  • Fallos tolerancia y sistemas de alta disponibilidad para las redes de Check Point Firewall y VPN con línea de resistencia de electrodomésticos FCR
  • Datos distribuidos resistente: Una abstracción tolerante para Cluster en memoria de computación

Otras Páginas

Obtenido de"https://en.copro.org/w/index.php?title=Fault_tolerance&oldid=616200352"