一、SIFT技术
在软件程序控制流程中,特别是在SIFT(Software-Implemented Fault Tolerance)系统中使用三版本编程(Three-Version Programming, 3VP)意味着为同一个任务创建三个独立的软件版本。每个版本由不同的开发团队使用不同的方法和假设来编写,以尽量减少不同版本之间的共同错误模式。这三个版本的程序并行执行相同的计算,并将结果提交给一个投票器(voter),投票器根据多数原则决定最终输出。这种设计是为了提高系统的容错能力,即使其中一个或两个版本出现故障或产生错误的结果,只要有一个版本是正确的,系统仍然可以正常运行。
SIFT系统中的具体应用
-
冗余任务执行:在SIFT系统中,为了实现超高的可靠性,任务会在三个处理器上重复执行。这意味着同一任务会被分解成三个独立的实例,每个实例都由一个不同的软件版本来处理。
-
结果投票:每次迭代后,每个处理器都会生成自己的结果。这些结果随后被送到一个3路多数投票器