В вычислительной технике тройная модульная избыточность , иногда называемая тройным режимом избыточности , [1] ( TMR ) представляет собой отказоустойчивую форму N-модульной избыточности, при которой три системы выполняют процесс, а результат обрабатывается системой большинства голосов. для получения одного результата. Если какая-либо из трех систем выйдет из строя, две другие смогут исправить и замаскировать неисправность.
Концепция TMR может применяться ко многим формам избыточности , например, к избыточности программного обеспечения в форме программирования N-версий , и обычно встречается в отказоустойчивых компьютерных системах .
Космические спутниковые системы часто используют TMR, [2] [3] , хотя спутниковое RAM обычно использует коррекцию ошибок Хэмминга . [4]
В некоторой памяти ECC используется аппаратное обеспечение тройного модульного резервирования (а не более распространенный код Хэмминга ), поскольку аппаратное обеспечение тройного модульного резервирования работает быстрее, чем аппаратное обеспечение исправления ошибок Хэмминга. [5] Некоторые системы связи, называемые кодом повторения , используют N-модульную избыточность как простую форму прямого исправления ошибок . Например, 5-модульные системы связи с резервированием (такие как FlexRay ) используют большинство из 5 выборок — если любые 2 из 5 результатов ошибочны, остальные 3 результата могут исправить и замаскировать неисправность.
Модульное резервирование — это базовая концепция, зародившаяся в древности, а первым использованием TMR в компьютере стал чехословацкий компьютер SAPO в 1950-х годах.
Общий случай TMR называется N-модульной избыточностью , при которой используется любое положительное количество повторений одного и того же действия. Обычно это число должно быть не менее трех, чтобы можно было исправить ошибки большинством голосов; его также обычно считают нечетным, поэтому связей не может быть. [6]
В TMR три идентичные логические схемы (логические элементы) используются для вычисления одного и того же набора заданных логических функций. Если сбоев в цепи нет, выходы трех цепей идентичны. Но из-за сбоев в схеме выходные сигналы трех цепей могут быть разными.
Логический вентиль мажоритарного типа используется для определения того, какой из выходов схемы является правильным выходом. Выход мажоритарного вентиля равен 1, если два или более входов мажоритарного вентиля равны 1; выход равен 0, если два или более входов мажоритарного вентиля равны 0.
Логический элемент мажоритария представляет собой простую схему И-ИЛИ: если входы мажоритарного вентиля обозначены x, y и z, то выход мажоритарного вентиля равен
Таким образом, мажоритарный вентиль — это выход переноса полного сумматора , т. е. мажоритарный вентиль — это машина для голосования . [7]
Предполагая, что булева функция, вычисленная тремя идентичными логическими элементами, имеет значение 1, тогда: (a) если ни одна схема не вышла из строя, все три схемы выдают выходное значение 1, а выходной сигнал мажоритарного вентиля имеет значение 1. (b) если один Схема выходит из строя и выдает на выходе 0, в то время как две другие работают правильно и выдают на выходе 1, выходной сигнал мажоритарного вентиля равен 1, т. е. он по-прежнему имеет правильное значение. Аналогично и в случае, когда булева функция, вычисленная тремя идентичными схемами, имеет значение 0. Таким образом, выходной сигнал мажоритарного вентиля гарантированно будет правильным, пока не выйдет из строя не более чем одна из трех идентичных логических схем. [7]
Для системы TMR с одним избирателем надежности (вероятностью работы) R v и тремя компонентами надежности R m вероятность того, что она правильна, может быть показана как R TMR = R v (3 R m 2 – 2 R m 3 ) . [6]
Системы TMR должны использовать очистку данных – периодически перезаписывать триггеры – чтобы избежать накопления ошибок. [8]
Сами ворота большинства могут выйти из строя. От этого можно защититься, применяя тройное резервирование к самим избирателям. [9]
В некоторых системах TMR, таких как цифровой компьютер ракеты-носителя «Сатурн» и системы функционального тройного модульного резервирования (FTMR) , избиратели также удваиваются. Используются три избирателя – по одному на каждую копию следующего этапа логики TMR. В таких системах не существует единой точки отказа . [10] [11]
Несмотря на то, что использование только одного избирателя приводит к единственной точке отказа – неудавшийся избиратель приведет к сбою всей системы – большинство систем TMR не используют тройных избирателей. Это связано с тем, что ворота большинства гораздо менее сложны, чем системы, от которых они защищаются, поэтому они гораздо более надежны . [7] Используя расчеты надежности, можно найти минимальную надежность избирателя, при которой TMR будет победой. [6]
Чтобы использовать тройное модульное резервирование, на корабле должно быть как минимум три хронометра ; два хронометра обеспечивали двойное модульное резервирование , позволяя выполнять резервное копирование, если один из них перестанет работать, но не допуская исправления ошибок , если два хронометра отображают разное время, поскольку в случае противоречия между двумя хронометрами было бы невозможно узнать, какой из них был неправильно ( полученное обнаружение ошибок было бы таким же, как если бы у вас был только один хронометр и его периодическая проверка). Три хронометра обеспечивали тройную модульную избыточность, позволяя исправлять ошибки, если один из трех был неправильным, поэтому пилот принимал среднее значение из двух с более точным показанием (голосование за среднюю точность).
На этот счет существует старая поговорка: «Никогда не выходите в море с двумя хронометрами; возьмите один или три». [12]
Главным образом это означает, что если два хронометра противоречат друг другу, как узнать, какой из них правильный? Когда-то это наблюдение или правило было дорогостоящим, поскольку стоимость трех достаточно точных хронометров превышала стоимость многих типов небольших торговых судов. [13] Некоторые суда имели более трех хронометров – например, HMS Beagle имел 22 хронометра . [14] Однако такое большое количество обычно перевозилось только на судах, проводящих исследовательские работы, как в случае с « Биглем» .
В современную эпоху корабли в море используют навигационные приемники GNSS (с поддержкой GPS , ГЛОНАСС , WAAS и т. д.), в основном работающие с поддержкой WAAS или EGNOS , чтобы обеспечить точное время (и местоположение).
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка )