[其他]计算系统中用于故障恢复的方法和设备无效
申请号: | 86103695 | 申请日: | 1986-06-02 |
公开(公告)号: | CN86103695A | 公开(公告)日: | 1987-02-11 |
发明(设计)人: | 迈克尔·杰伊·弗里蒙特 | 申请(专利权)人: | 惠普公司 |
主分类号: | G06F11/26 | 分类号: | G06F11/26 |
代理公司: | 中国专利代理有限公司 | 代理人: | 匡少波,黄向阳 |
地址: | 美国加利福尼亚*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算 系统 用于 故障 恢复 方法 设备 | ||
本发明与容错计算系统有关,特别涉及到对一个计算系统中被检测的故障出现进行恢复。一个故障出现是指在机器指令执行过程中给出了无效数据或后继的机器指令的执行失效。期望的解决方法是以最少数量的破坏来恢复并继续执行机器指令,确保数据和后继机器指令执行的有效,而不是全部停止并重新引导此计算系统。
此计算系统是由称作系统状态的一组标志来描述的。系统状态包括:由进程控制块和进程存取的局部数据组成的进程数据,以及象数据库文件这类永久数据组成的文件数据。
预先恢复方案仅部分恢复故障出现。对文件数据的修改要在故障出现全部完成或完全未出现之前。预先恢复方案在各校验点周期地记录足够的数据用以完全恢复校验点系统状态,此状态是存在于校验点的系统状态。
当故障被检测出,通过前面已登记的描述文件修改的信息来回溯,取消先前对文件的修改。计算系统被复原到最近记录的一个校验点系统状态。此状态定义为最后校验点系统状态。
预先恢复方案通常没有把文件数据复原到恰好故障出现之前的相同状态。在故障出现前没有完成修改文件数据的进程被异常终止,而不是启动。故障恢复后达到的系统状态定义为最终系统状态,此状态通常不是故障前系统状态。故障前系统状态是故障刚出现之前的系统状态。最终系统状态通常只是最后校验点系统状态。
为了提供容错功能,预先恢复方案使用模块冗余技术。两个或多个处理机并行运行,执行相同的代码。并在周期校验点比较并行的结果。如果这些结果有差异,则用判优方案选择这并行的结果。模块冗余技术受到费用限制,因为重复的硬件是非常昂贵的。
这种先有技术中,有一种方案能使最终系统状态和故障前系统状态相同。在执行每一不可重复的输入输出操作前插入校验点,在每个校验点,用户必须插入能记录下足够的信息的代码,以便使系统复原到校验点系统状态。
此方案存在几个不利方面。此方案对用户是不透明的,然而又要求用户对确保故障恢复的正确性承担部分责任。此方案要求用户来选择每一校验点上必须记录下的信息。所以和透明的方案相比更易于发生人的差错。没有选择足够的信息将危害正确的恢复,而选择太多的信息将降低系统的性能。
另一个不利方面在于校验点的间隔,即两个连续的校验点的间隔是由程序决定而不是独立于程序的。在每一不可重复的输入输出操作之前,记录校验点信息会产生过多的开销,它严重降低了系统的性能。校验点间隔不能设置得比两个不可重复的输入输出操作的间隔长。开销不能覆盖较长的校验点间隔,这样可以改进系统性能。由于平均恢复时间与校验点间隔有关,所以,不能在系统性能和平均恢复时间之间采取折衷的选择。
按照本发明提出的最佳实施方案,给出了在一个计算系统内,当机器指令初始执行期间有故障产生时能够恢复的一种方法和设备。此计算系统被复原到最后校验点系统状态,并且启动机器指令再执行。本发明把计算系统恢复到与一个特定的故障前系统状态相同的最终系统状态。
当启动机器指令再执行时,此计算系统在相同的输入和相同的各指令点完成的操作和这些机器指令在初始执行期间完成的操作一样。指令点是指一条机器指令在执行或再执行后达到的那点状态,它是由被执行的一串机器指令来决定,而不是由时间的推移来决定。
本发明在机器指令串再执行时,重复此机器指令初始执行期间处理的每一确定事件。一个确定事件是异步中断,它的处理影响到最终系统状态的确定。例如,一个典型的确定事件可以是一个输入事件,一个信息接收,一次读实时时钟,一个过程的生成,或一个过程的交换。机器指令初始执行时,在某一指令点初始处理的确定事件,在此机器指令再执行而达到同一指令点时,就重复这一确定事件。一个确定事件的重复可以通过再处理此确定事件的再次出现,或通过模拟一个再次出现并处理此确定事件得到。
在机器指令再执行期间,本发明不需重复非确定事件。非确定事件是一个异步中断,对它的处理对最终系统状态的确定是透明的。例如,一个非确定事件可以是一个超高速缓存出错,或是一个页面出错。虽然非确定事件可以在机器指令再执行过程中再现,但是,为了把计算系统恢复到故障前系统状态,并不需要重复非确定事件。
为了在机器指令再执行过程中,达到和机器指令初始执行中处理一确定事件的相同指令点时,重复此确定事件,本发明对初次执行和再执行的机器指令计数。在处理和重复确定事件时执行的机器指令串和在处理非确定事件中执行的指令串,通常不被计数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于惠普公司,未经惠普公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/86103695/2.html,转载请声明来源钻瓜专利网。