Master-checker или master/checker — это аппаратно поддерживаемая архитектура отказоустойчивости для многопроцессорных систем, в которой два процессора, называемые master и checker , вычисляют одни и те же функции параллельно, чтобы увеличить вероятность того, что результат будет точным. CPU checker синхронизирован на уровне тактовой частоты с master CPU и обрабатывает те же программы, что и master. Всякий раз, когда master CPU генерирует вывод, CPU checker сравнивает этот вывод со своим собственным вычислением и в случае различия выдает предупреждение. [1]
Система master-checker обычно дает более точные ответы, гарантируя, что ответ правильный, прежде чем передавать его приложению, запрашивающему завершение алгоритма. Она также позволяет обрабатывать ошибки, если результаты противоречивы. [1] Повторение расхождений между двумя процессорами может указывать на изъян в программном обеспечении, проблемы с оборудованием или проблемы синхронизации между часами, процессорами и/или системной памятью. Однако такая избыточная обработка тратит время и энергию. Если master-CPU верен в 95% или более случаев, мощность и время, используемые checker-CPU для проверки ответов, тратятся впустую. В зависимости от заслуг правильного ответа checker-CPU может быть оправдан или нет. Чтобы облегчить часть затрат в этих ситуациях, checker-CPU может использоваться для вычисления чего-то еще в том же алгоритме, увеличивая скорость и производительность обработки системы CPU. [ необходима цитата ]