Аналогичная ситуация с компьютерами космического челнока. В этой ситуации они использовали 5 компьютеров, и если одна машина опаздывала или отличалась от других, за нее (по сути) проголосовали за остров.
В вашей ситуации, как вы определяете, какой контроллер вышел из строя? Рассматривается ли определяющая машина также для отказа в одной точке?
Какой уровень связи доступен между двумя контроллерами? Общая память, Ethernet или что-то еще медленнее?
Как быстро меняется информация о состоянии между ними?
Можно ли передавать одинаковую информацию обоим контроллерам и будут ли оба контроллера рассчитывать одинаковые переходы состояний?