CN1008778B - 计算系统中用于故障恢复的方法和设备 - Google Patents
计算系统中用于故障恢复的方法和设备Info
- Publication number
- CN1008778B CN1008778B CN86103695A CN86103695A CN1008778B CN 1008778 B CN1008778 B CN 1008778B CN 86103695 A CN86103695 A CN 86103695A CN 86103695 A CN86103695 A CN 86103695A CN 1008778 B CN1008778 B CN 1008778B
- Authority
- CN
- China
- Prior art keywords
- carrying
- event
- instruction
- sequence
- instruction point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/1407—Checkpointing the instruction stream
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Retry When Errors Occur (AREA)
- Debugging And Monitoring (AREA)
Abstract
在计算系统内恢复初始执行机器指令时故障的方法和设备。此计算系统被复原到预先记录的系统状态并启动机器指令再次执行。为了在再执行机器指令的过程中,当达到初始执行该指令而处理重复事件的同一点时能重复异步事件,要对初始执行和再执行的机器指令计数,在机器指令的再执行过程中,此计算系统完成机器指令初始执行时,在相同的点有相同输入的操作。因此,该计算系统所恢复的最终状态和故障出现前的特定系统状态相同。
Description
本发明与容错计算系统有关,特别涉及到对一个计算系统中被检测的故障出现进行恢复。一个故障出现是指在机器指令执行过程中给出了无效数据或后继的机器指令的执行失效。期望的解决方法是以最少数量的破坏来恢复并继续执行机器指令,确保数据和后继机器指令执行的有效,而不是全部停止并重新引导此计算系统。
此计算系统是由称作系统状态的一组标志来描述的。系统状态包括:由进程控制块和进程存取的局部数据组成的进程数据,以及象数据库文件这类永久数据组成的文件数据。
已有的恢复方案仅部分恢复故障出现。对文件数据的修改要在故障出现全部完成或完全未出现之前。已有的恢复方案在各校验点周期地记录足够的数据用以完全恢复校验点系统状态,此状态是存在于校验点的系统状态。
当故障被检测出,通过前面已登记的描述文件修改的信息来回溯,取消先前对文件的修改。计算系统被复原到最近记录的一个校验点系统状态。此状态定义为最后校验点系统状态。
已有的恢复方案通常没有把文件数据复原到恰好故障出现之前的相同状态。在故障出现前没有完成修改文件数据的进程被异常终止,而不是启动。故障恢复后达到的系统状态定义为最终系统状态,此状态通常不是故障前系统状态。故障前系统状态是故障刚出现之前的系统状态。最终系统状态通常只是最后校验点系统状态。
为了提供容错功能,已有的恢复方案使用模块冗余技术。两个或多
个处理机并行运行,执行相同的代码。并在周期校验点比较并行的结果。如果这些结果有差异,则用判优方案选择这并行的结果。模块冗余技术受到费用限制,因为重复的硬件是非常昂贵的。
在已有技术中,有一种方案能使最终系统状态和故障前系统状态相同。在欲执行不可重复的输入/输出操作的每一点前插入校验点,在每个校验点,用户必须插入能记录下足够的信息的代码,以便使系统复原到校验点系统状态。
此方案存在几个不利方面。此方案对用户是不透明的,然而又要求用户对确保故障恢复的正确性承担部分责任。此方案要求用户来选择每一校验点上必须记录下的信息。所以和透明的方案相比更易于发生人的差错。没有选择足够的信息将危害正确的恢复,而选择太多的信息将降低系统的性能。
另一个不利方面在于校验点的间隔,即两个连续的校验点的间隔是由程序决定而不是独立于程序的。在每一不可重复的输入输出操作之前,记录校验点信息会产生过多的开销,它严重降低了系统的性能。校验点间隔不能设置得比两个不可重复的输入输出操作的间隔长。开销不能覆盖较长的校验点间隔,这样可以改进系统性能。由于平均恢复时间与校验点间隔有关,所以,不能在系统性能和平均恢复时间之间采取折衷的选择。
按照本发明提出的最佳实施方案,给出了在一个计算系统内,当机器指令初始执行期间有故障产生时能够恢复的一种方法和设备。此计算系统被复原到最后校验点系统状态,并且启动机器指令再执行。本发明把计算系统恢复到与一个特定的故障前系统状态相同的最终系统状态。
当启动机器指令再执行时,此计算系统在相同的输入和相同的各指令点完成的操作和这些机器指令在初始执行期间完成的操作一样。指令点是指一条机器指令在执行或再执行后达到的那点状态,它是由被执行的一串机器指令来决定,而不是由时间的推移来决定。
本发明在机器指令串再执行时,重复此机器指令初始执行期间处理的每一确定事件。一个确定事件是异步中断,它的处理影响到最终系统状态的确定。例如,一个典型的确定事件可以是一个输入事件,一个信息接收,一次读实时时钟,一个过程的生成,或一个过程的交换。机器指令初始执行时,在某一指令点初始处理的确定事件,在此机器指令再执行而达到同一指令点时,就重复这一确定事件。一个确定事件的重复可以通过再处理此确定事件的再次出现,或通过模拟一个再次出现并处理此确定事件得到。
在机器指令再执行期间,本发明不需重复非确定事件。非确定事件是一个异步中断,对它的处理对最终系统状态的确定是透明的。例如,一个非确定事件可以是一个超高速缓存出错,或是一个页面出错。虽然非确定事件可以在机器指令再执行过程中再现,但是,为了把计算系统恢复到故障前系统状态,并不需要重复非确定事件。
为了在机器指令再执行过程中,达到和机器指令初始执行中处理一确定事件的相同指令点时,重复此确定事件,本发明对初次执行和再执行的机器指令计数。在处理和重复确定事件时执行的机器指令串和在处理非确定事件中执行的指令串,通常不被计数。
本发明比仅靠跟踪一个确定事件再现的时间来试图进行故障恢复的计算系统优越。机器指令串初始执行时的时间开销,和同样的指令串再执行时的时间开销相比,可以或多或少些。例如,对于执行时间
依赖于磁盘上磁头初始位置的输入输出操作,它的再执行就会导致不同的存取时间。
如果一个计算系统仅跟踪一个确定事件再现的时间,那么,在机器指令再执行期间,当达到一确定事件被初始处理的相同指令点时,此确定事件可能并不重复。机器指令串再执行所达到的一个最终系统状态将和此指令串初始执行时达到的故障前系统状态不同。本发明确保可达到故障前系统状态。在机器指令再执行时,当达到的指令点和机器指令初始执行中初始处理这确定事件所在的指令点相同时,总是重复此确定事件。
本发明允许校验点的间隔与用户的应用程序相独立。校验点间隔是可编程的,从而可在系统性能和平均恢复时间之间进行折衷。本发明对用户的应用是透明的,从而减少了难以预料的程序员错误的危险。
本发明不依靠立即故障检测。只要故障在需要人来干涉的付作用扩展之前被检测出来,仍能实现故障恢复。由于立即检测故障的硬件可由硬件和快速检测故障的软件来代替,故需要较少的硬件。
图1表示恢复计数器装置及计算系统内部连接的方框图。
图2是对异步事件进行分类的定义性的分层结构的方框图。
图3描述了机器指令的典型的执行序列,及相应的机器指令再执行序列。
图4为流程图,说明在机器指令执行期间所采取的步骤,其目的是由于出现故障而准备对系统进行恢复。
图5为流程图,说明在故障检测出之后为完成故障恢复而采取的步骤。
图6说明典型的机器指令执行序列和再执行序列。
最佳实施方案用一个恢复计数器对初次执行及随后再次执行的机器指令进行计数。图1表示恢复计数器100,它是一个控制寄存器。计算系统101包含有进程控制块103和局部数据105,以及磁盘109上的文件数据107。存储在恢复计数器100中的恢复计数器值102随着处理机104每执行一条机器指令而减少1。处理机状态字108中有一允许/禁止位106,它用来允许和禁止恢复计数器100进行计数。通过总线110对恢复计数器100进行读出和写入。
当恢复计数器值102倒计数降为零时,其高位112产生陷阱,陷阱是一种内部中断,它把程序控制权转给陷阱处理程序114,这是处理陷阱的软件。事件处理程序122和事件记录程序123属于软件。校验点系统状态记录程序126,故障修复程序124,校验点系统状态复位程序118和事件模拟程序120也同属于软件。信息可以写到磁盘116中。
图2表示对异步事件分类的定义性的分层结构。异步事件200被定义作确定事件202或非确定事件204。正如前面讨论的那样,确定事件是一种异步中断,对它进行处理影响到系统最终状态的确定,非确定事件也是一种异步中断,对它进行的处理是透明的,不影响系统最终状态的确定。
确定事件202被定义作再现事件206或非再现事件208。再现事件是一种确定事件,作为机器指令再执行的结果而再现。比如,由于读盘而引起的输入事件,在机器指令初次执行期间内出现,作为机器指令再执行的结果,它又再现。非再现事件也是一种确定事件,作为机器指令再执行的结果,不再出现。比如,由于人工键盘输入而
引起的输入事件,在机器指令初次执行期间内出现,而作为机器指令再执行的结果,不再出现。
在机器指令的再执行中,再现事件206划分为早期再现事件210和晚期再现事件212。机器指令再执行中的早期再现事件在指令点IP′之前的指令点再现,其中IP′和指令点IP是相同的,在机器指令执行中,早期再现事件在IP点被初次处理。机器指令再执行中的晚期再现事件在指令点IP′或IP′之后再现,其中IP′和指令点IP相同,在机器指令执行中,晚期再现事件在IP点被初次处理。
图3描述的最佳实施方案可对故障出现的指令点定位。其中描述了典型的执行序列300和典型的再执行序列302执行中的一组机器指令。执行序列是一组按故障发生前的顺序执行的机器指令。再执行序列是一组在故障检测之后按一种特定的执行顺序来执行的机器指令。再执行序列包括与初次执行的机器指令本质上相同的那些执行过的机器指令。机器指令再执行的顺序与机器指令初次执行的特定顺序相同。
指令点304为校验点。在指令点304有校验点系统状态305。由运行校验点系统状态记录程序126而执行机器指令组306。校验点系统状态记录程序126在磁盘116上记录足够的信息,能把计算系统101完全恢复到校验点系统状态305。在执行机器指令组306之后,计算系统保持为校验点系统状态305。
执行序列300包括机器指令组308,309,310,311,312和313;先前执行过的机器指令组308,309,310,311,312和313在再执行序列302中被再次执行。
为处理出现在指令点320处的再现事件318,执行机器指令组314,315和316。运行事件处理程序122,则执行机器指令组314和316,运行事件记录程序123,则执行机器指令组315。运行事件记录程序123的目的是记录确定事件信息。确定事件信息是把一个确定事件的发生与另一个确定事件的发生区别开所必须的信息。确定事件信息包括从上一个校验点开始执行过的机器指令的计数,其中不包括为处理非确定事件所执行的机器指令。
执行机器指令组323,以处理出现在指令点328处的非确定事件326。运行事件处理程序122,则执行机器指令组323。
执行机器指令组330,331,332和333,以处理出现在指令点336处的非再现事件334。运行事件处理程序122,则执行机器指令组330和333,运行事件记录程序123,则执行机器指令组331和332。执行机器指令组331,以记录确定事件信息,执行机器指令组332,以记录非再现输入。非再现输入是接收部分非再现事件处理的输入。
执行机器指令组338,339和340,以处理出现在指令点344处的再现事件342。运行事件处理程序122,则执行机器指令组338和340,运行事件记录程序123,则执行机器指令组339。运行事件记录程序123,以记录确定事件信息。
在指令点346处有故障前系统状态345。故障出现347处在指令点346。故障检测处在指令点348。在指令点346和348之间执行机器指令组350。故障出现347使得机器指令组350的执行无效。
在故障检测349之后,计算系统101在概念上进入到恢复方
式,由运行故障修复程序124来执行机器指令组352。机器指令组352的执行是要防止与故障347相同或类似的危急故障出现。比如,若故障出现347不是短暂地,而是由于物理存储器部分失效引起的,那么虚拟存储器管理的控制数据就应该更新,以反映出计算系统101新的物理配置。
故障修复程序124也采取某些步骤来保证在再执行序列302期间,某些输出不需要重复。比如,故障修复程序124暂时禁止某些输出口,如打印机和终端输出口。故障修复程序124采取一些步骤保证再执行序列302不受计算系统101的新的物理配置的影响。比如,通向一个设备的新的较长的物理通路导致产生一条到该设备的较长的软件通路,要求在每次访问该设备时执行两条附加的机器指令。故障修复程序124可使用以前记录的数据来确定在执行序列300期间内,该设备是否被访问过,以及何时被访问过。故障修复程序124可以修改执行过的机器指令以前记录的计数,以反映出两条附加的机器指令,每次访问该设备时,在再执行序列302中将要求执行这两条机器指令。
如果故障修复程序124不能修复计算系统101内的损坏部分,故障修复程序124就要求人来干予。即使人的干予要计算系统101停止下来,也已经有足够的信息记录在磁盘116中,以便损坏部分一经修复就能进行完整的故障恢复。如果计算系统101不能修复,已有足够的信息记录在磁盘116上,使得能在一台并行计算系统上进行完整的故障恢复。
运行校验点系统状态复位程序118,则执行机器指令组354。在执行序列300期间,对文件数据如此进行修改,使得对文件数据
所做的任何改变以后都可以撒销。使用以前保留的记录,将文件数据107、进程控制块103和局部数据105复位,校验点系统状态复位程序118把计算系统101恢复到校验点系统状态305。
在指令点357处由高位112产生陷阱356。再执行序列302内的指令点357与执行序列300内的指令点320相同。在指令点357处应再次处理再现事件318。再现事件318是一种晚期再现事件,在指令点360之前不会再现。处理机104等待再现事件318。运行陷阱处理程序114,则执行指令组358,它完成初步陷阱处理。处理机104在空闲周期上循环,执行机器指令组359,等待再现事件318的再现。
当再现事件318在指令点360处再现时,机器指令组363和364被执行,以便再次处理再现事件318。运行事件处理程序122,则执行机器指令组363,运行陷阱处理程序114,则执行机器指令组364。
在再执行序列302中,对非确定事件326不产生陷阱,非确定事件326也不在再执行序列302中再现。
在指令点367处由高位112产生陷阱366。再执行序列302内的指令点367与执行序列300内的指令点336相同。非再现事件334不因为再执行序列302内的机器指令的再执行而再现。非再现事件334被模拟。执行机器指令组368,369和370,以模拟非再现事件334。运行陷阱处理程序114,则执行机器指令组368和370,运行事件模拟程序120,则执行机器指令组369。事件模拟程序120用以前记录的非再现输入来模拟非再现事件334的再现和处理。
再执行序列302内的指令点373与执行序列300内的指令点344相同。再现事件342应在指令点373处被再处理。再现事件342是一种早期再现事件;再现事件342在指令点373之前到的指令点372处再现。再现事件342再现时执行机器指令组371,374和379。运行事件处理程序122,则执行机器指令组371和379,运行事件处理程序123,则执行机器指令组374。事件处理程序122不在指令点372处立即对再现事件342进行再处理;事件处理程序122调用事件记录程序123,对再现事件342的再现进行记录并辨别,而在到达指令点373之前,再现事件342不进行再处理。如果再现事件342在指令点372处要求立即引起注意,那么事件处理程序122在指令点372处理再现事件342。在到达指令点373之前,不“报告”什么;从用户程序的观点看,在指令点373之前没有对再现事件342进行再处理。
在到达指令点373之前,再次执行机器指令组312。在指令点373由高位112产生陷阱375。再现事件342在指令点373处开始被再处理。执行机器指令组376,377和378,则对再现事件342进行再处理。运行陷阱处理程序114,则执行机器指令组376和378,运行事件处理程序122,则执行机器指令组377。
在指令点380处由高位112产生陷阱382。指令点380与指令点346相同;故障出现347位于指令点346处。运行陷阱处理程序114,则执行机器指令组383。陷阱处理程序114将恢复计数器的值102复位为指令点346处的值。陷阱处理程序
114使计算系统101退出恢复方式。
在指令点384处到达系统最终状态,它与故障前的系统状态345相同。在指令点384之后机器指令组386将正常连续执行。
图4说明最佳实施方案在对故障出现进行恢复的准备中所执行的步骤。为完整地恢复校验点系统状态所要求的足够数据周期地记录在磁盘116上,这由在步骤400中运行校验点系统状态记录程序126来完成。恢复计数器值102在步骤402中通过总线110被复位为特定的初始值。在步骤404中,处理机104执行一条机器指令,当每执行一条机器指令时恢复计数器值102减少1。
如果在步骤406中检测到故障出现,则在步骤408中进行故障恢复。故障恢复在下面讨论,在图5中有更详细说明。返回到步骤404,继续执行机器指令。
如果在步骤410中未出现异步事件,则进行步骤436。如果在步骤436中查明到达校验点,则处理机104返回到步骤400;为完整地恢复校验点系统状态所要求的足够数据被记录在磁盘116中。如果在步骤436中查明没有到达校验点,处理机104返回到步骤404。执行另一条机器指令,恢复计数器值102减少1。
如果在步骤410中出现异步事件,则恢复计数器100被暂时禁止。在步骤412中,恢复计数器100的禁止是在硬件中允许/禁止位106复位来自动完成的。
如果在步骤414中查明出现确定事件,则在步骤418中通过总线110将恢复计数器值102读出并记录。在步骤420中运行事件处理程序122,以处理该确定事件。在步骤422中运行事件记录程序123,把确定事件的信息记录在磁盘116中。
如果在步骤424中查明出现了再现事件,则在步骤430中由允许/禁止位106将恢复计数器100置为再允许。在步骤430中,恢复计数器100置为再允许是在硬件中自动完成的,当执行从中断指令的返回时,返回指令将允许/禁止位106置位,即自动完成将恢复计数器100置为再允许。在步骤436中检查是否到达校验点。
如果在步骤426中查明出现了非再现事件,则在步骤428中,将非再现事件处理期间内接收的非再现输入记录在磁盘116中。恢复计数器100在步骤430中由允许/禁止位106置为再允许。在步骤436中检查是否到达校验点。
如果在步骤414中查明出现非确定事件,则在步骤434中运行事件处理程序122,处理非确定事件。恢复计数器100在步骤430中由允许/禁止位106置为再允许。在步骤436中检查是否到达校验点。
在一种供选择的最佳实施方案中,当出现异步事件时,恢复计数器100在恢复计数器值102及辨别该异步事件所要求的足够信息被记录后,置为再允许。置为再允许的恢复计数器100,在完全处理此异步事件之前,允许第二个具有高优先级的异步事件中断对第一个具有低优先级的异步事件的处理。
图5描述了检测到故障时,计算系统101所采取的恢复步骤。在步骤500中进入恢复方式。在步骤501中通过允许/禁止位106将恢复计数器暂时置为禁止。在步骤502中运行故障修复程序124,进行故障修复。故障检测时的恢复计数器值102,在步骤503中通过总线110读出并记录。在步骤504中,运行校验
点系统状态复位程序118,它使用以前记录在磁盘116上的事件记录,以此将文件数据107复位。在步骤506中,运行校验点系统状态复位程序118,通过将进程控制块103和局部数据105复位,使计算系统101恢复到上一次校验点系统状态。
在步骤508中,通过总线110将恢复计数器值102复位。恢复计数器值102被复位到为了到达一指令点所必须执行的机器指令的计数,该指令点与一特定的确定事件或故障出现时所在的指令点相同。机器指令计数称作倒计数;倒计数数根据以前记录的恢复计数值来确定。
在步骤509中,恢复计数器100通过允许/禁止位106被置为再允许。在步骤510中,处理机104再执行一条机器指令,而恢复计数器值102随着每条机器指令再执行减少1。被再执行的机器指令与原先执行过的机器指令相同。在步骤510中,在陷阱或异步事件出现之前,一些机器指令被再执行着。
如果在步骤512中出现陷阱或异步事件,则恢复计数器100在步骤514中通过允许/禁止位106被暂时置为禁止。在步骤516中检查恢复计数器值102。如果恢复计数器值102不是倒数计数至零,则是出现异步事件。如果恢复计数器值102倒数计数至零,则是高位112产生陷阱。
如果在步骤518中查明出现早期再现事件,则在步骤520中运行事件记录程序123,记录早期再现事件的再现。事件记录程序123能辨别早期再现事件,以免早期再现事件与另外一个再现事件顺序颠倒地再现。事件处理程序122不立即处理早期再现事件;早期再现事件在后面的536步骤中处理。返回到步骤509;恢复计
数器100被置为再允许。
如果在步骤518中查明出现非确定事件,则在步骤526中运行事件处理程序122,处理这个非确定事件。在步骤509中,恢复计数器100被置为再允许。
如果在步骤528中查明到达非再现事件的指令点,则陷阱处理程序114在步骤530中调用事件模拟程序120,模拟非再现事件。如果在非再现事件的初次处理期间内接收到非再现输入,则事件模拟程序120使用此非再现输入。在步骤508中,恢复计数器值102被复位为下一个倒计数值。
如果在步骤534中查明到达早期再现事件指令点,则陷阱处理程序114在步骤536中调用事件处理程序122,对早期再现事件进行再处理。在步骤508中恢复计数器值102被复位为下一个倒计数值。
如果在步骤538中查明到达晚期再现事件指令点,则陷阱处理程序114在步骤540中等待晚期再现事件的再现。陷阱处理程序114在步骤542中调用事件处理程序112,对晚期再现事件进行再处理。在步骤508中恢复计数器值102被复位为下一个倒计数值。
如果陷阱已产生,但还没有到达非再现事件,早期再现事件,或晚期再现事件的指令点,则为到达出现故障的指令点。在步骤544中,恢复计数器值102通过总线110被复位为上次记录的故障出现时的值。在步骤545中,通过允许/禁止位106将恢复计数器100置为再允许。在步骤546中退出恢复方式。
在一种可供选择的优选实施方案中,如果故障检测及时,则出现
故障的准确指令点不需要由计算系统101来识别。图6说明典型的执行序列602和典型的再执行序列604,606和608中执行的一系列机器指令。
在执行序列602中,校验点系统状态610存在于指令点612处。故障出现614在指令点616处。处理机104在指令点620处启动读盘请求618。和读盘请求618同时出现的标志被设置,以记录读盘请求618。再现事件622是响应读盘请求618的输入事件,它发生在指令点624处。再现事件626发生在指令点628处。故障检测630出现在指令点632处。从计算系统101的角度看,故障出现614不能精确定位,而只能确定发生在指令点612和632之间的某处。
再执行序列604是一个典型的例子,说明若故障出现614没有传播且没有引起启动读盘请求618将会出现什么情况。读盘请求618及标志设置都发生于指令点636处。再执行序列604中的指令点636与执行序列602中的指令点620相同。再现事件622早于指令点638再现。在指令点644处发生陷阱640之前,不再涉及对再现事件622的处理。再执行序列604中的指令点644与执行序列602中的指令点624相同。再现事件626早于指令点646再现。在指令点650处发生陷阱648之前,不再涉及对再现事件626的处理。再执行序列604中的指令点650与执行序列602中的指令点628相同。再现事件626被再处理之后,以前记录的确定事件信息不再保留,所以将继续正常执行。
再执行序列605是一个典型的例子,说明若故障出现614传
播且使读盘请求618被错误地启动将会出现什么情况。在再执行序列606期间内,故障出现614不会重复。这使得读盘请求618不出现和不设置标志。陷阱640发生在指令点644处。以前记录的确定事件信息表明,再现事件622将在指令点644处被再处理。因为未设置表示读盘的标志,因而可以确定在执行序列602中错误地发生过再现事件622。可以确定,再执行过程经过了这样一个指令点,它与执行序列602中初次发生故障所在的指令点相同。以前记录的再现事件622和626的信息被舍弃,并继续正常执行。
再执行序列608是另一个例子,说明若故障614传播并使读盘请求618被错误地启动会出现什么情况。在再执行序列608期间内,故障出现614不会重复。这使读盘请求不出现和不设置标志。读盘请求656在指令点658被启动。与读盘请求656同时出现的标志被设置,以记录读盘请求656。读盘请求656使再现事件660出现在指令点662处。当事件处理程序123不能将再现事件660和以前记录的再现事件622和626的信息相匹配,可以确定,再执行过程经过了这样一个指令点,它与执行序列602中初次发生故障所在的指令点相同。以前记录的再现事件622和626的信息被舍弃,并继续正常执行。
在故障检测630之前,故障出现614可能已经传播出一个影响非常严重,使计算系统101不能处理的错误。如果以前记录的信息表明传播了这样的错误,则处理机104停止执行,请求人工干予。
Claims (24)
1、一种为对从计算系统内检测出的故障准备并进行恢复的方法,该方法的特征是包括以下步骤:
在记录下最后校验点系统状态之后,对所执行的机器指令计数;
记录处理确定事件所需要的确定事件信息;
把计算系统的系统状态恢复到以前记录下的最后校验点系统状态;
在再执行序列中,将执行序列中初次执行过的机器指令进行再执行,其中再执行序列与执行序列本质上类似;以及
使执行序列中按一种顺序进行初次处理的确定事件,在再执行序列中按同样的顺序重复处理。
2、根据权利要求1中的方法,其特征在于还包括步骤:
对非再现输入进行记录。
3、根据权利要求2中的方法,其特征在于其中确定事件信息包括被标识的指令点到确定事件出现之间所执行的机器指令数的计数。
4、根据权利要求3中的方法,其特征在于其中使第一校验点和第二校验点之间的间隔成为可编程的,使之能在计算系统性能和完成故障恢复所需要的平均时间之间进行折衷。
5、根据权利要求1中的方法,其特征在于其中通过对再现事件进行再处理和对非再现事件进行模拟,使确定事件重复处理。
6、根据权利要求5中的方法,其特征在于其中机器指令再执行的顺序与初次执行时的顺序相同。
7、根据权利要求6中的方法,其特征在于它还包括步骤:
使记录校验点系统状态之后和故障出现之前所处理过的每一确定事件重复。
8、根据权利要求7中的方法,其特征在于它还包括步骤:
使每个确定事件在再执行序列的一个指令点上重复,该指令点与每个确定事件在执行序列中初次被处理所在的指令点相同。
9、根据权利要求8中的方法,其特征在于,其中使每个确定事件在再执行序列的一个指令点上重复,该指令点与每个确定事件在执行序列中初次被处理所在的指令点相同,完成这一步骤的方法是对再执行的机器指令进行计数并使用以前记录下的机器指令的计数。
10、根据权利要求9中的方法,其特征在于它还包括步骤:
如果到达与故障出现所在的指令点相同的指令点,则放弃再执行序列。
11、根据权利要求10中的方法,其特征在于它还包括步骤:
如果到达与故障被检测出的指令点相同的指令点,则放弃再执行序列。
12、根据权利要求11中的方法,其特征在于它还包括步骤:
如果到达的指令点,在该处确定事件信息表明确定事件应重复但在再执行序列中没有启动这样的确定事件,则放弃再执行序列。
13、根据权利要求12中的方法,其特征在于它还包括步骤:
如果到达的指令点,在该处确定事件已启动并应被处理,但在执行序列中未记录相应的确定事件信息,则放弃再执行序列。
14、根据权利要求9中的方法,其特征在于其中使每个确定事件在再执行序列的一个指令点上重复,该指令点与每个确定事件在执行序列中初次被处理所在的指令点相同,完成这一步骤的方法是辨别出而不是立即处理早期再现事件的早期再现。
15、根据权利要求9中的方法,其特征在于其中使每个确定事件在再执行序列的一个指令点上重复,该指令点与每个确定事件在执行序列中初次被处理所在的指令点相同,完成这一步骤的方法是等待晚期再现事件的再现。
16、根据权利要求9中的方法,其特征在于其中使每个确定事件在再执行序列的一个指令点上重复,该指令点与每个确定事件在执行序列中初次被处理所在的指令点相同,完成这一步骤的方法是使用以前记录下的非再现输入,模拟非再现事件,对该非再现事件的初次处理就包含输入这一非再现输入。
17、根据权利要求9中的方法,其特征在于其中使每个确定事件在再执行序列的一个指令点上重复,该指令点与每个确定事件在执行序列中初次被处理所在的指令点相同,完成这一步骤的方法是在再执行序列的每一指令点上生成一个陷阱,此指令点与执行序列中每一确定事件被初次处理所在的指令点相同。
18、根据权利要求9中的方法,其特征在于它还包括步骤:
给出非确定事件的再执行支路。
19、根据权利要求18中的方法,其特征在于其中完成使非确定事件的再执行进入支路这一步骤的方法是,对非确定事件初次出现所执行的部分机器指令不进行计数。
20、在计算系统内,用于从故障状态下进行恢复的设备,其特征在于该设备包括:
对所执行的机器指令进行计数的计数装置;
读出所计数值的读出装置;以及
记录确定事件信息的记录装置。
21、根据权利要求20中的设备,其特征在于它还包括:
处理出现的确定事件和重新处理再现的确定事件的处理装置;
进行模拟使非再现事件再现的模拟装置;
记录把计算系统恢复到校验点系统状态所需要的信息的记录装置;以及把计算系统恢复到以前记录下来的校验点系统状态的恢复装置。
22、根据权利要求21中的设备,其特征在于它还包括:
当计数装置已将第一个机器指令数进行计数时,生成陷阱的陷阱生成装置;以及
当计数装置已将第一个机器指令数进行计数时,处理已生成的陷阱的陷阱处理装置。
23、根据权利要求22中的设备,其特征在于它还包括:
启动计数装置的启动装置,
禁止计数装置的禁止装置。
24、根据权利要求23中的设备,其特征在于它还包括:
把一个新值写入计数装置的写入装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/766,212 US4703481A (en) | 1985-08-16 | 1985-08-16 | Method and apparatus for fault recovery within a computing system |
US766,212 | 1996-12-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN86103695A CN86103695A (zh) | 1987-02-11 |
CN1008778B true CN1008778B (zh) | 1990-07-11 |
Family
ID=25075737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN86103695A Expired CN1008778B (zh) | 1985-08-16 | 1986-06-02 | 计算系统中用于故障恢复的方法和设备 |
Country Status (8)
Country | Link |
---|---|
US (1) | US4703481A (zh) |
EP (1) | EP0212791B1 (zh) |
JP (1) | JPH0738161B2 (zh) |
KR (1) | KR920001997B1 (zh) |
CN (1) | CN1008778B (zh) |
AU (1) | AU591134B2 (zh) |
CA (1) | CA1260148A (zh) |
DE (1) | DE3669599D1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100383748C (zh) * | 2003-03-12 | 2008-04-23 | 英特尔公司 | 对在os运行时期间发生的系统错误的基于策略的响应 |
CN104134430B (zh) * | 2014-07-04 | 2016-08-17 | 京东方科技集团股份有限公司 | 一种移位寄存器、栅极驱动电路及显示装置 |
Families Citing this family (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4814971A (en) * | 1985-09-11 | 1989-03-21 | Texas Instruments Incorporated | Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state |
US4868744A (en) * | 1986-03-03 | 1989-09-19 | International Business Machines Corporation | Method for restarting a long-running, fault-tolerant operation in a transaction-oriented data base system without burdening the system log |
JPS6375963A (ja) * | 1986-09-19 | 1988-04-06 | Hitachi Ltd | システム回復方式 |
SE454920B (sv) * | 1986-10-03 | 1988-06-06 | Ellemtel Utvecklings Ab | Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instruktionssekvenser medelst separatminnen |
US5065311A (en) * | 1987-04-20 | 1991-11-12 | Hitachi, Ltd. | Distributed data base system of composite subsystem type, and method fault recovery for the system |
JP2550063B2 (ja) * | 1987-04-24 | 1996-10-30 | 株式会社日立製作所 | 分散処理システムのシミユレ−シヨン方式 |
US5043866A (en) * | 1988-04-08 | 1991-08-27 | International Business Machines Corporation | Soft checkpointing system using log sequence numbers derived from stored data pages and log records for database recovery |
JPH0752399B2 (ja) * | 1988-06-30 | 1995-06-05 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | 記憶システム |
US4924466A (en) * | 1988-06-30 | 1990-05-08 | International Business Machines Corp. | Direct hardware error identification method and apparatus for error recovery in pipelined processing areas of a computer system |
US5119483A (en) * | 1988-07-20 | 1992-06-02 | Digital Equipment Corporation | Application of state silos for recovery from memory management exceptions |
US4912707A (en) * | 1988-08-23 | 1990-03-27 | International Business Machines Corporation | Checkpoint retry mechanism |
US5253360A (en) * | 1988-12-16 | 1993-10-12 | Kabushiki Kaisha Toshiba | Facsimile device having continuous operating capabilities immediately after recovery from trouble and related method |
EP0374419A3 (en) * | 1988-12-21 | 1991-04-10 | International Business Machines Corporation | Method and apparatus for efficient loop constructs in hardware and microcode |
US5832202A (en) * | 1988-12-28 | 1998-11-03 | U.S. Philips Corporation | Exception recovery in a data processing system |
US5089958A (en) * | 1989-01-23 | 1992-02-18 | Vortex Systems, Inc. | Fault tolerant computer backup system |
US5204936A (en) * | 1989-03-14 | 1993-04-20 | Canon Kabushiki Kaisha | Process status supervisory system |
US5261085A (en) * | 1989-06-23 | 1993-11-09 | Digital Equipment Corporation | Fault-tolerant system and method for implementing a distributed state machine |
CA2025197C (en) * | 1989-10-19 | 1998-04-21 | Michael H. Kelley | Method and system for dynamically controlling the operation of a program |
US5276876A (en) * | 1990-05-16 | 1994-01-04 | International Business Machines Corporation | Registration of resources for commit procedures |
JP2691081B2 (ja) * | 1990-05-16 | 1997-12-17 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータ・ネットワーク |
US5165031A (en) * | 1990-05-16 | 1992-11-17 | International Business Machines Corporation | Coordinated handling of error codes and information describing errors in a commit procedure |
US5327532A (en) * | 1990-05-16 | 1994-07-05 | International Business Machines Corporation | Coordinated sync point management of protected resources |
JP3293839B2 (ja) * | 1990-05-16 | 2002-06-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 作業ユニットに合わせてコミット範囲を調整するコンピュータ・システム |
US5319774A (en) * | 1990-05-16 | 1994-06-07 | International Business Machines Corporation | Recovery facility for incomplete sync points for distributed application |
US5261089A (en) * | 1990-05-16 | 1993-11-09 | International Business Machines Corporation | Optimization of commit procedures by utilizing a two-phase commit procedure only when necessary |
US5319773A (en) * | 1990-05-16 | 1994-06-07 | International Business Machines Corporation | Asynchronous resynchronization of a commit procedure |
US5276862A (en) * | 1991-04-09 | 1994-01-04 | Bull Hn Information Systems Inc. | Safestore frame implementation in a central processor |
US5269017A (en) * | 1991-08-29 | 1993-12-07 | International Business Machines Corporation | Type 1, 2 and 3 retry and checkpointing |
US5293613A (en) * | 1991-08-29 | 1994-03-08 | International Business Machines Corporation | Recovery control register |
JPH0812616B2 (ja) * | 1991-09-11 | 1996-02-07 | インターナショナル・ビジネス・マシーンズ・コーポレイション | オペレーティングシステムカーネル用受動回復方法およびシステム |
GB9121540D0 (en) * | 1991-10-10 | 1991-11-27 | Smiths Industries Plc | Computing systems and methods |
GB2263988B (en) * | 1992-02-04 | 1996-05-22 | Digital Equipment Corp | Work flow management system and method |
GB9214198D0 (en) * | 1992-07-03 | 1992-08-12 | Texas Instruments Ltd | Method of resetting coupled modules and a system using the method |
US5421003A (en) * | 1992-09-17 | 1995-05-30 | International Business Machines Corporation | Disk storage system with fault tolerant media maintenance |
JPH0827733B2 (ja) * | 1993-07-06 | 1996-03-21 | 日本電気株式会社 | 障害処理システム |
US5809525A (en) * | 1993-09-17 | 1998-09-15 | International Business Machines Corporation | Multi-level computer cache system providing plural cache controllers associated with memory address ranges and having cache directories |
US5539895A (en) * | 1994-05-12 | 1996-07-23 | International Business Machines Corporation | Hierarchical computer cache system |
EP0764302B1 (en) * | 1994-06-10 | 1998-12-02 | Texas Micro Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system |
US5682471A (en) * | 1994-10-06 | 1997-10-28 | Billings; Thomas Neal | System for transparently storing inputs to non-volatile storage and automatically re-entering them to reconstruct work if volatile memory is lost |
US5835953A (en) | 1994-10-13 | 1998-11-10 | Vinca Corporation | Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating |
US5649152A (en) | 1994-10-13 | 1997-07-15 | Vinca Corporation | Method and system for providing a static snapshot of data stored on a mass storage system |
US5649136A (en) * | 1995-02-14 | 1997-07-15 | Hal Computer Systems, Inc. | Processor structure and method for maintaining and restoring precise state at any instruction boundary |
US5864657A (en) * | 1995-11-29 | 1999-01-26 | Texas Micro, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system |
US5712971A (en) * | 1995-12-11 | 1998-01-27 | Ab Initio Software Corporation | Methods and systems for reconstructing the state of a computation |
US5898815A (en) * | 1996-02-13 | 1999-04-27 | National Semiconductor Corporation | I/O bus interface recovery counter dependent upon minimum bus clocks to prevent overrun and ratio of execution core clock frequency to system bus clock frequency |
KR100499818B1 (ko) * | 1997-01-06 | 2005-11-22 | 가부시끼가이샤 히다치 세이사꾸쇼 | 반도체집적회로검사점의해석방법,해석장치 |
US5978912A (en) * | 1997-03-20 | 1999-11-02 | Phoenix Technologies Limited | Network enhanced BIOS enabling remote management of a computer without a functioning operating system |
JPH11134235A (ja) * | 1997-10-31 | 1999-05-21 | Hitachi Ltd | 外部記憶装置故障時の回復支援方法 |
US6148338A (en) * | 1998-04-03 | 2000-11-14 | Hewlett-Packard Company | System for logging and enabling ordered retrieval of management events |
US6247118B1 (en) | 1998-06-05 | 2001-06-12 | Mcdonnell Douglas Corporation | Systems and methods for transient error recovery in reduced instruction set computer processors via instruction retry |
US6141773A (en) * | 1998-06-30 | 2000-10-31 | Emc Corporation | Method and apparatus for undoing changes to computer memory |
US6366986B1 (en) | 1998-06-30 | 2002-04-02 | Emc Corporation | Method and apparatus for differential backup in a computer storage system |
US6269381B1 (en) | 1998-06-30 | 2001-07-31 | Emc Corporation | Method and apparatus for backing up data before updating the data and for restoring from the backups |
US8631066B2 (en) | 1998-09-10 | 2014-01-14 | Vmware, Inc. | Mechanism for providing virtual machines for use by multiple users |
US7516453B1 (en) * | 1998-10-26 | 2009-04-07 | Vmware, Inc. | Binary translator with precise exception synchronization mechanism |
US6332200B1 (en) | 1998-10-29 | 2001-12-18 | International Business Machines Corporation | Capturing and identifying a complete and consistent set of checkpoint files |
US6256751B1 (en) | 1998-10-29 | 2001-07-03 | International Business Machines Corporation | Restoring checkpointed processes without restoring attributes of external data referenced by the processes |
US6401216B1 (en) | 1998-10-29 | 2002-06-04 | International Business Machines Corporation | System of performing checkpoint/restart of a parallel program |
US6338147B1 (en) | 1998-10-29 | 2002-01-08 | International Business Machines Corporation | Program products for performing checkpoint/restart of a parallel program |
US6393583B1 (en) | 1998-10-29 | 2002-05-21 | International Business Machines Corporation | Method of performing checkpoint/restart of a parallel program |
US6332199B1 (en) | 1998-10-29 | 2001-12-18 | International Business Machines Corporation | Restoring checkpointed processes including adjusting environment variables of the processes |
US6453430B1 (en) * | 1999-05-06 | 2002-09-17 | Cisco Technology, Inc. | Apparatus and methods for controlling restart conditions of a faulted process |
GB2372673B (en) * | 2001-02-27 | 2003-05-28 | 3Com Corp | Apparatus and method for processing data relating to events on a network |
US6883113B2 (en) * | 2002-04-18 | 2005-04-19 | Bae Systems Information And Electronic Systems Integration, Inc. | System and method for temporally isolating environmentally sensitive integrated circuit faults |
US6962206B2 (en) * | 2003-05-15 | 2005-11-08 | Weatherford/Lamb, Inc. | Packer with metal sealing element |
US7409587B2 (en) | 2004-08-24 | 2008-08-05 | Symantec Operating Corporation | Recovering from storage transaction failures using checkpoints |
US7904428B2 (en) | 2003-09-23 | 2011-03-08 | Symantec Corporation | Methods and apparatus for recording write requests directed to a data store |
US7631120B2 (en) | 2004-08-24 | 2009-12-08 | Symantec Operating Corporation | Methods and apparatus for optimally selecting a storage buffer for the storage of data |
US7287133B2 (en) | 2004-08-24 | 2007-10-23 | Symantec Operating Corporation | Systems and methods for providing a modification history for a location within a data store |
US7577806B2 (en) | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Systems and methods for time dependent data storage and recovery |
US7730222B2 (en) | 2004-08-24 | 2010-06-01 | Symantec Operating System | Processing storage-related I/O requests using binary tree data structures |
US7725760B2 (en) | 2003-09-23 | 2010-05-25 | Symantec Operating Corporation | Data storage system |
US7827362B2 (en) | 2004-08-24 | 2010-11-02 | Symantec Corporation | Systems, apparatus, and methods for processing I/O requests |
US7239581B2 (en) | 2004-08-24 | 2007-07-03 | Symantec Operating Corporation | Systems and methods for synchronizing the internal clocks of a plurality of processor modules |
US7577807B2 (en) | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Methods and devices for restoring a portion of a data store |
US7296008B2 (en) | 2004-08-24 | 2007-11-13 | Symantec Operating Corporation | Generation and use of a time map for accessing a prior image of a storage device |
US7991748B2 (en) | 2003-09-23 | 2011-08-02 | Symantec Corporation | Virtual data store creation and use |
US7650606B2 (en) * | 2004-01-30 | 2010-01-19 | International Business Machines Corporation | System recovery |
US7366801B2 (en) * | 2004-01-30 | 2008-04-29 | International Business Machines Corporation | Method for buffering work requests |
US8140348B2 (en) * | 2004-01-30 | 2012-03-20 | International Business Machines Corporation | Method, system, and program for facilitating flow control |
US7774647B2 (en) * | 2005-01-28 | 2010-08-10 | International Business Machines Corporation | Method for counting instructions for logging and replay of a deterministic sequence of events |
EP1952236B1 (en) | 2005-10-14 | 2017-06-14 | Symantec Operating Corporation | Technique for timeline compression in a data store |
US7721139B2 (en) * | 2007-03-27 | 2010-05-18 | International Business Machines Corporation | Method, apparatus, and computer program product for managing data in a browser-based application |
EP2150889A1 (en) * | 2007-04-10 | 2010-02-10 | Cambridge Consultants Limited | Data processing apparatus |
WO2010004240A1 (en) * | 2008-07-10 | 2010-01-14 | Cambridge Consultants Limited | Data processing apparatus, for example using modes |
US20100153776A1 (en) * | 2008-12-12 | 2010-06-17 | Sun Microsystems, Inc. | Using safepoints to provide precise exception semantics for a virtual machine |
JP2015081695A (ja) * | 2013-10-21 | 2015-04-27 | 三菱日立パワーシステムズ株式会社 | 炭素含有燃料熱交換器の監視・運転方法 |
CN110928714A (zh) * | 2018-09-19 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 一种服务异常处理方法、装置和计算设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3564502A (en) * | 1968-01-15 | 1971-02-16 | Ibm | Channel position signaling method and means |
US3564506A (en) * | 1968-01-17 | 1971-02-16 | Ibm | Instruction retry byte counter |
US3736566A (en) * | 1971-08-18 | 1973-05-29 | Ibm | Central processing unit with hardware controlled checkpoint and retry facilities |
IT1014277B (it) * | 1974-06-03 | 1977-04-20 | Cselt Centro Studi Lab Telecom | Sistema di controllo di elaboratori di processo operanti in parallelo |
US4130240A (en) * | 1977-08-31 | 1978-12-19 | International Business Machines Corporation | Dynamic error location |
JPS58201152A (ja) * | 1982-05-19 | 1983-11-22 | Hitachi Ltd | 情報自動収得方式 |
US4493035A (en) * | 1982-12-07 | 1985-01-08 | Motorola, Inc. | Data processor version validation |
US4524415A (en) * | 1982-12-07 | 1985-06-18 | Motorola, Inc. | Virtual machine data processor |
-
1985
- 1985-08-16 US US06/766,212 patent/US4703481A/en not_active Expired - Lifetime
-
1986
- 1986-06-02 CN CN86103695A patent/CN1008778B/zh not_active Expired
- 1986-06-12 DE DE8686304506T patent/DE3669599D1/de not_active Expired - Lifetime
- 1986-06-12 EP EP86304506A patent/EP0212791B1/en not_active Expired - Lifetime
- 1986-06-24 AU AU59173/86A patent/AU591134B2/en not_active Expired
- 1986-06-27 KR KR1019860005170A patent/KR920001997B1/ko not_active IP Right Cessation
- 1986-08-08 CA CA000515561A patent/CA1260148A/en not_active Expired
- 1986-08-14 JP JP61191159A patent/JPH0738161B2/ja not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100383748C (zh) * | 2003-03-12 | 2008-04-23 | 英特尔公司 | 对在os运行时期间发生的系统错误的基于策略的响应 |
CN104134430B (zh) * | 2014-07-04 | 2016-08-17 | 京东方科技集团股份有限公司 | 一种移位寄存器、栅极驱动电路及显示装置 |
Also Published As
Publication number | Publication date |
---|---|
DE3669599D1 (de) | 1990-04-19 |
AU5917386A (en) | 1987-02-19 |
EP0212791B1 (en) | 1990-03-14 |
CN86103695A (zh) | 1987-02-11 |
CA1260148A (en) | 1989-09-26 |
KR870002504A (ko) | 1987-03-31 |
JPH0738161B2 (ja) | 1995-04-26 |
KR920001997B1 (ko) | 1992-03-09 |
EP0212791A1 (en) | 1987-03-04 |
US4703481A (en) | 1987-10-27 |
AU591134B2 (en) | 1989-11-30 |
JPS6240547A (ja) | 1987-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1008778B (zh) | 计算系统中用于故障恢复的方法和设备 | |
CN107357666B (zh) | 一种基于硬件保护的多核并行系统处理方法 | |
EP4220410A1 (en) | Program tracing for time travel debugging and analysis | |
US7752494B2 (en) | Method and system of aligning execution point of duplicate copies of a user program by exchanging information about instructions executed | |
US10169108B2 (en) | Speculative execution management in a coherent accelerator architecture | |
US5845064A (en) | Method for testing and verification of a CPU using a reference model | |
CN1252594C (zh) | 使能跟踪重复指令的方法和系统 | |
US8332590B1 (en) | Multi-stage command processing pipeline and method for shared cache access | |
US20060168434A1 (en) | Method and system of aligning execution point of duplicate copies of a user program by copying memory stores | |
KR101862094B1 (ko) | 트랜잭션 메모리 프로그램을 위한 소프트웨어 재생기 | |
EP2151760B1 (en) | Method and apparatus for detecting a data access violation | |
EP3933639B1 (en) | Transaction processing method, apparatus, and electronic device for blockchain | |
CN115328796A (zh) | 一种用于arm架构的软件漏洞辅助定位方法和系统 | |
JPH0810437B2 (ja) | 仮想計算機システムのゲスト実行制御方式 | |
CN113612661A (zh) | 检验程序稳定性的方法、装置、计算设备及存储介质 | |
JPS58182775A (ja) | 磁気デイスク装置の自己診断方式 | |
US8352714B2 (en) | Executing watchpoint instruction in pipeline stages with temporary registers for storing intermediate values and halting processing before updating permanent registers | |
JPS6255173B2 (zh) | ||
Wu et al. | An Empirical Study on Environmental Factors for Reproducing Concurrent Software Failures | |
CN110018928B (zh) | 基于固件的系统备份和还原方法 | |
JPS60142747A (ja) | 命令再実行制御方式 | |
Doudalis et al. | HARE: Hardware assisted reverse execution | |
CN1288562C (zh) | 检测软盘驱动器盘片更换的方法 | |
CN115904784A (zh) | 一种嵌入式芯片中断异常处理验证方法及模拟器 | |
JPS59139462A (ja) | エラ−検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C13 | Decision | ||
GR02 | Examined patent application | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CX01 | Expiry of patent term |