计算机容错
计算机容错(计算机系统容错,容错性)
CFT(Computer Fault Tolerance) 也称为计算机系统容错,简称为容错性。(1)通常可以从计算机系统的可靠性、可用性、可测性等几个方面来衡量容错性。通用计算机系统的一个重要的指标就是系统的可用性。可用性是指在一年的时间中确保系统不失效的时间比率。可测性在容错系统的设计过程中也是一个非常重要的指标,只有对一个系统能进行测试,才能保证系统不出问题。故障的平均时间(MTBF)是指当系统正常运行后能坚持多长时间不失效,MTBF的大小反映了系统的可靠性。故障修理的平均时间是指系统要清除故障所需的时间,MTTR的大小直接影响着系统的可用性。(2)计算机系统容错涉及从芯片到系统的各个方面,因此,在构建一个容错系统时,也应当从芯片、软件和硬件三方面着手。在芯片一级需要很好的设计验证技术方法,可以通过边界扫描(BoundaryScan)的办法了解芯片的内部状态,提高芯片的可测性。冗余与重组的方法在芯片生产中也得到了广泛的应用。例如,在制造1MB的存储器时,所提供的存储空间绝不止1MB,这就为我们提供了选择的余地,如果有坏的存储空间则可以通过重组将好的替换上去。软件一级则需要研究软件测试方法,开发软件测试工具,提供对软件运行的监控。此外还可以采用恢复块(RecoveryBlock)的方法,即当系统运行到某一个地方时检测系统运行得是否正确,如果不正确,就返回到上一个运行正确的地方重新运行。也可以采用N版本编程技术,换另一个程序再运行一次等。(3)硬件容错发展很早,可以采用的方式也最多,如双机冷备份、热备份或三机表决等。双机备份系统由两台主机组成,当作业主机出现故障时备份主机可以取而代之,从而保证系统的正常运行。冷备份与热备份的区别在于备份机是否也同时运行业务,在双机热备份系统中备份主机接管故障作业主机所花费的时间要比双机冷备份的方式少得多。在三机表决系统中,三台主机同时运行,由表决器(Voter)根据三台机器的运行结果进行表决,有两个以上的机器运行结果相同,则认定该结果为正确。一般地说,三机系统的可靠性比双机系统要高,但三机系统也有其缺陷。首先,三机系统的成本高是显而易见的;其次,当一台机器出现故障后,表决器反复在剩下的两台机器中进行表决已经没有任何的意义,其可靠性甚至比不上一个双机系统。因此现在三机系统中则较多采用的是将双机备份和三机表决两者结合起来的方式,当三机中坏掉一台后就当作双机备份系统来用,不再进行表决了。硬件容错还有很多灵活的双机、三机的组合形式。利用冗余的机器来确保系统的容错性的方式通常被称为空间冗余。(4)还有利用时间的冗余和信息的冗余确保容错性的方式。例如,检查点(Check Point)就属于时间冗余的一种。将机器运行的某一时刻称作检查点,在此时检查系统运行的状态是否正确,不论正确与否,都将这一状态存储起来,一旦发现运行故障,就返回到最近一次正确的检查点重新运行。重要数据的异地备份则是信息冗余的典型例子。对于特别重要的数据备份在不同的地方甚至是不同的国家,都可以防止因自然灾害等不可估计的因素带来的损失。总的来说,提供容错的技术方法多种多样,如何选择应取决于应用系统的实际情况。