En informática , la redundancia modular triple , a veces llamada redundancia de triple modo , [1] ( TMR ) es una forma tolerante a fallos de redundancia N-modular, en la que tres sistemas realizan un proceso y ese resultado es procesado por un sistema de votación por mayoría para producir una única salida. Si alguno de los tres sistemas falla, los otros dos sistemas pueden corregir y enmascarar el fallo.
El concepto TMR se puede aplicar a muchas formas de redundancia , como la redundancia de software en forma de programación de N versiones , y se encuentra comúnmente en sistemas informáticos tolerantes a fallos .
Los sistemas de satélites espaciales a menudo utilizan TMR, [2] [3] aunque la RAM del satélite normalmente utiliza la corrección de errores de Hamming . [4]
Algunas memorias ECC utilizan hardware de redundancia modular triple (en lugar del código Hamming más común ), porque el hardware de redundancia modular triple es más rápido que el hardware de corrección de errores Hamming. [5] Algunos sistemas de comunicación, denominados código de repetición , utilizan redundancia N-modular como una forma simple de corrección de errores hacia adelante . Por ejemplo, los sistemas de comunicación de redundancia 5-modular (como FlexRay ) utilizan la mayoría de 5 muestras: si 2 de los 5 resultados son erróneos, los otros 3 resultados pueden corregir y enmascarar la falla.
La redundancia modular es un concepto básico, que se remonta a la antigüedad, mientras que el primer uso de TMR en un ordenador fue el ordenador checoslovaco SAPO , en la década de 1950.
El caso general de TMR se denomina redundancia N-modular , en la que se utiliza cualquier número positivo de réplicas de la misma acción. Normalmente, se considera que el número es al menos tres, de modo que se pueda realizar la corrección de errores por mayoría de votos; también se considera que es impar, de modo que no se produzcan empates. [6]
La salida de la puerta mayoritaria de 3 entradas es 1 si dos o más de las entradas de la puerta mayoritaria son 1; la salida es 0 si dos o más de las entradas de la puerta mayoritaria son 0. Por lo tanto, la puerta mayoritaria es la salida de acarreo de un sumador completo , es decir, la puerta mayoritaria es una máquina de votación . [7]
La puerta de mayoría de 3 entradas se puede representar mediante la siguiente ecuación booleana y tabla de verdad :
En TMR, se utilizan tres circuitos lógicos idénticos (puertas lógicas) para calcular el mismo conjunto de funciones booleanas especificadas. Si no hay fallas en el circuito, las salidas de los tres circuitos son idénticas. Sin embargo, debido a fallas en el circuito, las salidas de los tres circuitos pueden ser diferentes.
Suponiendo que la función booleana calculada por las tres puertas lógicas idénticas tiene valor 1, entonces: (a) si ningún circuito ha fallado, los tres circuitos producen una salida de valor 1, y la salida de la puerta mayoritaria tiene valor 1. (b) si un circuito falla y produce una salida de 0, mientras que los otros dos funcionan correctamente y producen una salida de 1, la salida de la puerta mayoritaria es 1, es decir, todavía tiene el valor correcto. Y de manera similar para el caso en que la función booleana calculada por los tres circuitos idénticos tiene valor 0. Por lo tanto, se garantiza que la salida de la puerta mayoritaria sea correcta siempre que no haya fallado más de uno de los tres circuitos lógicos idénticos. [7]
Para un sistema TMR con un solo votante de confiabilidad (probabilidad de funcionamiento) R v y tres componentes de confiabilidad R m , se puede demostrar que la probabilidad de que sea correcto es R TMR = R v (3 R m 2 – 2 R m 3 ) . [6]
Los sistemas TMR deberían utilizar depuración de datos (reescribir flip-flops periódicamente) para evitar la acumulación de errores. [8]
La propia puerta de la mayoría podría fallar, pero se puede protegerse de ello aplicando una redundancia triple a los propios votantes. [9]
En algunos sistemas TMR, como la computadora digital del vehículo de lanzamiento Saturno y los sistemas de redundancia modular triple funcional (FTMR) , los votantes también se triplican. Se utilizan tres votantes, uno para cada copia de la siguiente etapa de la lógica TMR. En tales sistemas no hay un único punto de fallo . [10] [11]
Aunque el uso de un solo votante implica un único punto de fallo (un votante fallido provocará la caída de todo el sistema), la mayoría de los sistemas TMR no utilizan votantes triplicados. Esto se debe a que las puertas de mayoría son mucho menos complejas que los sistemas contra los que protegen, por lo que son mucho más fiables . [7] Al utilizar los cálculos de fiabilidad, es posible encontrar la fiabilidad mínima del votante para que el TMR sea una victoria. [6]
Para utilizar la triple redundancia modular, un barco debe tener al menos tres cronómetros ; dos cronómetros proporcionaban redundancia modular dual , permitiendo un respaldo si uno dejaba de funcionar, pero no permitiendo ninguna corrección de error si los dos mostraban una hora diferente, ya que en caso de contradicción entre los dos cronómetros, sería imposible saber cuál estaba equivocado (la detección de error obtenida sería la misma de tener solo un cronómetro y verificarlo periódicamente). Tres cronómetros proporcionaban triple redundancia modular, permitiendo la corrección de error si uno de los tres estaba equivocado, por lo que el piloto tomaría el promedio de los dos con lectura más cercana (votación por precisión promedio).
Hay un viejo adagio en este sentido que dice: “Nunca te hagas a la mar con dos cronómetros; lleva uno o tres”. [12]
Básicamente, esto significa que si dos cronómetros se contradicen, ¿cómo saber cuál es el correcto? En un tiempo, esta observación o regla era costosa, ya que el costo de tres cronómetros suficientemente precisos era mayor que el costo de muchos tipos de buques mercantes más pequeños. [13] Algunos buques llevaban más de tres cronómetros; por ejemplo, el HMS Beagle llevaba 22 cronómetros . [14] Sin embargo, una cantidad tan grande generalmente solo se llevaba en barcos que realizaban trabajos de investigación, como fue el caso del Beagle .
En la era moderna, los barcos en el mar utilizan receptores de navegación GNSS (con soporte GPS , GLONASS y WAAS , etc.), en su mayoría funcionando con soporte WAAS o EGNOS para proporcionar hora (y ubicación) precisas.
{{cite book}}
: Mantenimiento de CS1: falta la ubicación del editor ( enlace )