En ingeniería y teoría de sistemas , la redundancia es la duplicación intencional de componentes o funciones críticos de un sistema con el objetivo de aumentar la confiabilidad del sistema , generalmente en forma de respaldo o seguridad , o para mejorar el rendimiento real del sistema, como en el caso de los receptores GNSS o el procesamiento informático de múltiples subprocesos .
En muchos sistemas críticos para la seguridad , como los sistemas hidráulicos y de control por cable de las aeronaves , algunas partes del sistema de control pueden estar triplicadas [1] , lo que se denomina formalmente redundancia modular triple (TMR). Un error en un componente puede ser superado por los otros dos. En un sistema triplemente redundante, el sistema tiene tres subcomponentes, los tres deben fallar antes de que falle el sistema. Dado que cada uno rara vez falla y los subcomponentes están diseñados para evitar modos de falla comunes (que luego se pueden modelar como fallas independientes), se calcula que la probabilidad de que fallen los tres es extraordinariamente pequeña; a menudo se ve superada por otros factores de riesgo, como el error humano . Las sobretensiones eléctricas que surgen de los rayos son un ejemplo de un modo de falla que es difícil de aislar por completo, a menos que los componentes se alimenten desde buses de energía independientes y no tengan una vía eléctrica directa en su interconexión (se requiere comunicación por algún medio para votar). La redundancia también puede conocerse con los términos "sistemas de votación por mayoría" [2] o "lógica de votación". [3]
La redundancia a veces produce menos, en lugar de más confiabilidad: crea un sistema más complejo que es propenso a diversos problemas, puede llevar a que el ser humano descuide sus deberes y puede generar mayores demandas de producción que, al sobrecargar el sistema, pueden hacerlo menos seguro. [4]
La redundancia es una forma de robustez tal como se practica en la ciencia informática .
La redundancia geográfica se ha vuelto importante en la industria de los centros de datos , para proteger los datos contra desastres naturales e inestabilidad política (ver a continuación).
En informática, existen cuatro formas principales de redundancia: [5]
Una forma modificada de redundancia de software, aplicada al hardware, puede ser:
Las estructuras suelen diseñarse también con partes redundantes, lo que garantiza que si una parte falla, no se derrumbe toda la estructura. Una estructura sin redundancia se denomina estructura crítica frente a la fractura , lo que significa que un solo componente roto puede provocar el colapso de toda la estructura. Entre los puentes que fallaron debido a la falta de redundancia se incluyen el puente Silver y el puente de la Interestatal 5 sobre el río Skagit .
Los sistemas paralelos y combinados presentan distintos niveles de redundancia. Los modelos son objeto de estudios en ingeniería de confiabilidad y seguridad. [6]
A diferencia de la redundancia tradicional, que utiliza más de una cosa de la misma, la redundancia desigual utiliza cosas diferentes. La idea es que es poco probable que las cosas diferentes contengan fallas idénticas. El método de votación puede implicar una complejidad adicional si las dos cosas requieren cantidades de tiempo diferentes. La redundancia desigual se utiliza a menudo con el software, porque el software idéntico contiene fallas idénticas.
La posibilidad de fallo se reduce utilizando al menos dos tipos diferentes de cada uno de los siguientes
La redundancia geográfica corrige las vulnerabilidades de los dispositivos redundantes implementados al separar geográficamente los dispositivos de respaldo. La redundancia geográfica reduce la probabilidad de que eventos como cortes de energía , inundaciones , fallas de HVAC , rayos , tornados , incendios de edificios, incendios forestales y tiroteos masivos deshabiliten la mayor parte del sistema, o incluso la totalidad.
Las ubicaciones de redundancia geográfica pueden ser
Los siguientes métodos pueden reducir los riesgos de daños por incendio :
Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure, Netflix, Dropbox, Salesforce, LinkedIn, PayPal, Twitter, Facebook, Apple iCloud, Cisco Meraki y muchos otros utilizan redundancia geográfica para proporcionar redundancia geográfica, alta disponibilidad, tolerancia a fallos y garantizar la disponibilidad y confiabilidad de sus servicios en la nube. [15]
Como otro ejemplo, para minimizar el riesgo de daños por fuertes tormentas de viento o daños por agua, los edificios pueden ubicarse al menos a 2 millas (3,2 km) de la costa, con una elevación de al menos 5 pies (1,5 m) sobre el nivel del mar. Para mayor protección, pueden ubicarse al menos a 100 pies (30 m) de las zonas de llanuras aluviales. [16] [17]
Las dos funciones de redundancia son la redundancia pasiva y la redundancia activa . Ambas funciones evitan que el rendimiento disminuya al superar los límites de especificación sin intervención humana utilizando capacidad adicional.
La redundancia pasiva utiliza el exceso de capacidad para reducir el impacto de las fallas de los componentes. Una forma común de redundancia pasiva es la resistencia adicional del cableado y los puntales utilizados en los puentes. Esta resistencia adicional permite que algunos componentes estructurales fallen sin que se derrumbe el puente. La resistencia adicional utilizada en el diseño se denomina margen de seguridad.
Los ojos y los oídos son ejemplos prácticos de redundancia pasiva. La pérdida de visión en un ojo no causa ceguera, pero se altera la percepción de profundidad . La pérdida de audición en un oído no causa sordera , pero se pierde la direccionalidad. La disminución del rendimiento suele asociarse a la redundancia pasiva cuando se produce un número limitado de fallos.
La redundancia activa elimina las caídas de rendimiento mediante la supervisión del rendimiento de los dispositivos individuales, y esta supervisión se utiliza en la lógica de votación. La lógica de votación está vinculada a la conmutación que reconfigura automáticamente los componentes. La detección y corrección de errores y el sistema de posicionamiento global (GPS) son dos ejemplos de redundancia activa.
La distribución de energía eléctrica proporciona un ejemplo de redundancia activa. Varias líneas eléctricas conectan cada instalación de generación con los clientes. Cada línea eléctrica incluye monitores que detectan sobrecargas. Cada línea eléctrica también incluye disyuntores. La combinación de líneas eléctricas proporciona capacidad excedente. Los disyuntores desconectan una línea eléctrica cuando los monitores detectan una sobrecarga. La energía se redistribuye a través de las líneas restantes. [ cita requerida ] En el aeropuerto de Toronto, hay 4 líneas eléctricas redundantes. Cada una de las 4 líneas suministra suficiente energía para todo el aeropuerto. Una subestación de red puntual utiliza relés de corriente inversa para abrir los disyuntores de las líneas que fallan, pero permite que la energía continúe fluyendo por el aeropuerto.
Los sistemas de energía eléctrica utilizan la programación de la energía para reconfigurar la redundancia activa. Los sistemas informáticos ajustan la producción de cada instalación generadora cuando otras instalaciones generadoras se pierden repentinamente. Esto evita que se produzcan cortes de suministro durante eventos importantes, como un terremoto.
Charles Perrow , autor de Accidentes normales , ha dicho que a veces los despidos son contraproducentes y producen menos, en lugar de más, fiabilidad. Esto puede suceder de tres maneras: en primer lugar, los dispositivos de seguridad redundantes dan lugar a un sistema más complejo, más propenso a errores y accidentes. En segundo lugar, los despidos pueden llevar a que los trabajadores eludan responsabilidades. En tercer lugar, los despidos pueden llevar a mayores presiones de producción, lo que da como resultado un sistema que funciona a mayor velocidad, pero con menor seguridad. [4]
La lógica de votación utiliza la supervisión del rendimiento para determinar cómo reconfigurar los componentes individuales de modo que la operación continúe sin violar las limitaciones de especificación del sistema general. La lógica de votación a menudo involucra computadoras, pero los sistemas compuestos por elementos que no sean computadoras pueden reconfigurarse utilizando la lógica de votación. Los disyuntores son un ejemplo de una forma de lógica de votación no relacionada con computadoras.
La lógica de votación más simple en los sistemas informáticos implica dos componentes: el primario y el alternativo. Ambos ejecutan un software similar, pero la salida del alternativo permanece inactiva durante el funcionamiento normal. El primario se supervisa a sí mismo y envía periódicamente un mensaje de actividad al alternativo siempre que todo esté bien. Todas las salidas del primario se detienen, incluido el mensaje de actividad, cuando el primario detecta una falla. El alternativo activa su salida y reemplaza al primario después de un breve retraso cuando cesa el mensaje de actividad. Los errores en la lógica de votación pueden hacer que ambas salidas estén activas o inactivas al mismo tiempo, o hacer que las salidas se activen y desactiven de forma intermitente.
Una forma más fiable de lógica de votación implica un número impar de tres dispositivos o más. Todos realizan funciones idénticas y los resultados se comparan mediante la lógica de votación. La lógica de votación establece una mayoría cuando hay un desacuerdo, y la mayoría actuará para desactivar la salida de otros dispositivos que no estén de acuerdo. Una sola falla no interrumpirá el funcionamiento normal. Esta técnica se utiliza con sistemas de aviónica , como los responsables del funcionamiento del transbordador espacial .
Cada componente duplicado añadido al sistema disminuye la probabilidad de fallo del sistema según la fórmula:
dónde:
Esta fórmula supone la independencia de los eventos de fallo. Esto significa que la probabilidad de que falle un componente B dado que un componente A ya ha fallado es la misma que la de que falle B cuando A no ha fallado. Hay situaciones en las que esto no es razonable, como usar dos fuentes de alimentación conectadas al mismo enchufe de tal manera que si una fuente de alimentación falla, la otra también lo hará.
También supone que sólo se necesita un componente para mantener el sistema en funcionamiento.
Puede lograr una mayor disponibilidad mediante redundancia. Supongamos que tiene tres componentes redundantes: A, B y C. Puede utilizar la siguiente fórmula para calcular la disponibilidad del sistema general:
Disponibilidad de componentes redundantes = 1 - (1 - disponibilidad del componente A) X (1 - disponibilidad del componente B) X (1 - disponibilidad del componente C) [18] [19]
Como corolario, si tienes N componentes paralelos, cada uno con X disponibilidad, entonces:
Disponibilidad de componentes paralelos = 1 - (1 - X)^ N
El uso de componentes redundantes puede aumentar exponencialmente la disponibilidad del sistema general. [19] Por ejemplo, si cada uno de sus hosts tiene solo un 50 % de disponibilidad, al usar 10 hosts en paralelo, puede lograr una disponibilidad del 99,9023 %.
Tenga en cuenta que la redundancia no siempre conduce a una mayor disponibilidad. De hecho, la redundancia aumenta la complejidad, lo que a su vez reduce la disponibilidad. Según Marc Brooker, para aprovechar la redundancia, asegúrese de que: [20]