CN1101573C - 计算机系统 - Google Patents
计算机系统 Download PDFInfo
- Publication number
- CN1101573C CN1101573C CN96113090A CN96113090A CN1101573C CN 1101573 C CN1101573 C CN 1101573C CN 96113090 A CN96113090 A CN 96113090A CN 96113090 A CN96113090 A CN 96113090A CN 1101573 C CN1101573 C CN 1101573C
- Authority
- CN
- China
- Prior art keywords
- checkpoint
- processor
- computer system
- processing
- check 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 - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Retry When Errors Occur (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提出一种具有抑制中断能力的计算机系统,免除了再启动时的闭锁运行尽序列从而大大降低制作成本。在具有抑制中断性能的、包括有检验点再启动功能的计算机系统中,每个包含在此计算机系统中的处理器各自设定有获取检验点的特殊进程(21)。在取一检验点时,此获取检验点的特殊进程(21)被唤醒部分(23)引导进就绪状态,在取得一检查点之后,此特殊进程又被重新引导进睡眠状态。
Description
技术领域:
本发明是关于具有检验点和再启动功能的计算机系统,更具体点说是关于一因为其中设置有处理检验点的特殊进程而无需在再启动时执行闭锁运行尽(Lock-run-out)序列、并因此其成本也会降低的计算机系统。
本发明还涉及这样一计算机系统,它由具有检验点和再启动功能的多处理器系统组成,其中即使该多处理器系统中所结合应用的某些处理器无法工作时其余的处理器亦能继续运行。
背景技术:
下面说明通常的计算机系统,这种系统在获取的检验点都处于正常状态时处理过程继续前进,而在发生故障时由故障前的最后一检查点重新启动,以此来消除故障。
在这种计算机系统中,在系统正常运行期间,在执行进程的同时取检验点。而如果发生了故障等,系统就从最后一个取得的检验点返回。
这些检验点是按下述情况获取的:
(1)程序代码中明确指定读取一检验点;
(2)在获取最后一检验点之后经过了一预定的时间周期;
(3)发生了某一事件(中断)要求取检验点。
上述这些情况在执行一程序时,在任一时刻均会发生。一般,在这些情况中任一个发生的时刻,亦即在执行一程序期间任意时刻,都可能获取检验点。
图1表示在处理器执行正常处理过程中进行检验点处理的状态。在时间t1,伴随发生一要求在程序期间读取一检验点的事件的中断处理(图1中的(1))中,进行检验点处理(图1中的(2))。
在时间t2,在取得最后一检验点之后过去一预定时间开始的定时中断过程(即图1中的(3))期间进行检验点处理(即图1中的(4))。这就是说,检验点是在一随意的进程中读取的。
图2表示在进程前进中发生故障时取检验点的状态,此进程由最后一检验点开始重新执行。如果故障发生在已于时间t1和时间t2取得检验点之后(图2中的(1)),进程即由最后取的检验点(t2)开始重新执行(图2中的(2))。
但在通常情况下,考虑到发生故障时的返回,进程正常要包括“要作为一定的单元组来对待的处理部分”。这样的处理部分之一被叫做一“闭锁运行尽区域”("Lock-run-out region")。
此闭锁运行尽区域是指一程序块,如果系统由该区域期间所取的检验点重新起动,则在进程恢复正常情况前的故障恢复处理中必须“运行尽”该程序块,即使其中能设置检验点。这就是其中采取自旋闭锁(spin-Lock)的程序块。
要获取自旋闭锁的进程是不能被优先占有的。在取此自旋闭锁时必须注意到不致发生死锁。正常情况,为了方便,系统是这样设计的,即对每个自旋闭锁都加上分级别的闭锁等级,而在已经采取有一自旋闭锁的情况下取另一自旋闭锁时,仅那些闭锁等级远低于当前取的自旋闭锁的最低级别的自旋闭锁才被采取。依靠对这种形式的自旋闭锁搜索的控制,来保证各处理器中取闭锁的顺序。
例如,在将闭锁等级的级别设置为图3中所示那样,其中伴随有闭锁操作的“进程A”和“进程B”是同时执行的并且二者的闭锁必须同时重叠地获得,各处理器就必须按照这一次序即首先取得“进程D”的闭锁(水平L5),然后取“取进程A”的闭锁。
现在参照图4和5解释为什么需要使用闭锁运行尽的理由:
图4表明一因为未执行闭锁运行尽而发生死锁的示例。
这里假定,在进程T0和进程T1分别在处理器(0)和(1)中执行的情况下取一检验点,且进程T0取自旋闭锁L5和L3而进程T1取自旋闭锁L4。
另外,将考虑一种此后在一处理器(0)中发生一持久的故障的情况,在这一情况中,处理器(1)是正常运行的唯一的一个处理器,并因此进程T0和T1必须均由处理器(1)执行。当前由进程T0和T1获得的自旋闭锁可被加以识别。但是不能预测进程T0和T1此后如何运作,亦即这些进程以后将如何取得自旋闭锁。
而后认为进行恢复,且当前得到一低水平的自旋闭锁L3的进程T0锁分配到处理器(1)。并认为这一进程T0释放已得到的自旋闭锁L3,然后准备重新接收自旋闭锁L4。但由于此自旋闭锁L4已被在发生故障前执行的进程T1所获取,进程T0总不会得到这一自旋闭锁。结果就发生死锁。这种问题是由于各处理器所恒守的获取自旋闭锁的顺序被打破而引起的,因为虽然获取自旋闭锁的顺序已为各处理器所保证,但由于一处理器出现故障这种次序也就被打乱了。
闭锁的运行尽功能被认为是解决这一问题的一种方法。这一功能的运行使得在获取一检验点由此检查点恢复之前释放所有被获取的自旋闭锁,并使所有过程都不依赖任一特定的处理器。这一功能按下列过程运行:
(1)在获取一检验点时,选择具有所有已被获取的那些自旋锁定中级别最低的自旋闭锁的进程;
(2)将一处理器作为正在运行被选择进程的处理器,此过程被执行直至该进程的自旋闭锁被释放为止;
(3)在释放此自旋闭锁的处理中,测试获取此自旋闭锁的进程是否仍然存在;
(4)如果存在,即由(1)方面开始重复此处理过程;如果不存在,此闭锁运行尽处理即终止。
具体说,如果如图5A中所示获得自旋闭锁,首先选择进程T0(因为级别L3最低),执行此进程T0直到自旋闭锁L3被释放。
接着,选择获取级别最低的L4的进程T1(如图5B中所示),并且进而在进程T1释放后选择获取L5的进程T0(如图5C中所示),由此完成闭锁运行尽操作。在闭锁运行尽完成之后,系统进行再启动。
为了实现在上述这一进程中执行的闭锁运行尽处理,必须将释放自旋闭锁的处理安排得能在此闭锁运行尽处理期间调用一特殊的分配机制。
这样,在一普通的取检验点的方法中,在一软件(OS,操作系统)中提取诸如闭锁运行尽区域的处理部分,而且必须设置上述特殊的分配机制以便来保护以上说过的“一组单元”。
因此,如果不可避免地要增加计算机系统的成本的话,就会限制软件的安装。
发明内容:
本发明的一个目的是提供一种计算机系统,无需为取得其中设置的检验点而由特殊进程在再启动时执行闭锁运行尽序列,因此能以低成本组成系统。
本发明的另一目的是提供一计算机系统,它由具有检验点和再启动功能的多处理器系统组成,而在其中即使结合应用的多处理器系统中某些处理器无法工作,其余的处理器亦能继续运行。
按照本发明的第一个方面,所提出的计算机系统包括有:至少一处理器;至少一个各自对应于该至少一个处理器的检验点处理装置,用于获取为再启动因故障而中断的进程中所用的检验点;中断装置,用于在进程执行中进行中断和使该检验点处理装置由睡眠状态转到就绪状态;调度装置,对被该中断装置带入就绪状态的检验点处理装置进行调度;和睡眠状态转移装置,用于在经调度装置调度的检验点处理装置取检验点之后,将该检验点处理装置再次导入睡眠状态。
因此,按照本发明,在执行进程当中由中断装置进行中断,由此使获取检验点的特殊进程由睡眠状态进入就绪状态。调度装置对被中断装置引入就绪状态的获取检验点的特殊进程进行调度,由此来获取检验点。这样,在获取检验点时其他任何进程均不处于运行状态,从而就不存在发生死锁的可能性。
在由调度装置进行调度的检验点处理装置中取检查点之后,睡眠状态转移装置将此获取检验点的特殊进程重新设置成睡眠状态。
按照本发明的第二个方面,所提出的一计算机系统包括:至少一处理器;一检验点获取指令装置,用于指示取一检验点以再启动因故障被中断的进程,此时满足一检验点获取条件;设置在操作系统的调度程序中的检验点获取装置,用于取得对应于至少一个处理器的至少一个检验点;执行准备装置,使检验点获取装置由睡眠状态成为可执行状态,此时由检验点获取指令装置指示取检验点;调度装置,对由执行准备装置所促成能执行的检验点获取装置进行调度;和睡眠状态转移装置,在经调度装置调度的检验点获取装置取得检验点之后使其再次进入睡眠状态。
因而,根据本发明,在当检验点获取指令装置指示取得检验点时,执行准备装置使检验点获取装置进入就绪状态。调度装置对由执行准备装置带入就绪状态的检验点获取装置进行调度。这样,在取检验点时,任何其他进程均不处于运行状态中,因而不可能发生死锁。
在经调度装置调度的检验点获取装置中取得检验点之后,睡眠状态转移装置重新将检验点获取进程设置成睡眠状态。
按照本发明,仅有检验点获取进程处于取检验点的运行状态中。任何其他进程均不依赖此处理器。因此,即使此多处理器系统的一个或多个处理器偶然发生故障,除非正在执行为处理器取检验点的特殊进程,否则可以很容易地实现对系统的重新配置(处理器的修正(脱机))。
本发明的其他目的和优点由下面的说明将会了解,部分在说明中是显而易见的,或者通过实施本发明来获悉。借助所附权利要求中特别指出的和系统将能实现和达到本发明的目的和优点。
附图说明:
结合附图对本发明优选实施例的描述将用于解释本发明的基本原理,这些附图是:
图1为一示意图,表示常规的计算机系统执行正常处理时途中执行检验点处理的状态;
图2为一示意图,表示常规的计算机系统在取检验点的同时进行处理,而在发生故障后,由最后一检验点开始进行再启动的状态;
图3为一示意图,表示设定通常的闭锁等级的级别的方法;
图4为说明发生死锁的图形;
图5A为说明闭锁运行尽序列的图形;
图5B为说明闭锁运行尽序列的图形;
图5C为说明闭锁运行尽序列的图形;
图6为按照本发明第一实施例的计算机系统的硬件结构的示意图;
图7为说明按照本发明第一实施例的存储在计算机系统的存储器中的软件功能的功能方块图;
图8是获取检验点的特殊进程的处理流程的流程图;
图9为表示唤醒获取检验点的特殊进程的处理流程的流程图;
图10为表示由获取检验点的特殊进程所获取的一最后检验点开始执行再启动时的处理流程的流程图;
图11为说明按照本实施例的计算机系统的操作的示意图;
图12为一说明在睡眠状态中的获取检验点的特殊进程被引导入就绪状态的情况的示意图;
图13A为一表示多处理器系统的图形;
图13B为一说明发生持久性故障时多处理器系统的操作的图形;
图14为一示意性地表示按照本发明第二实施例的计算机系统的结构的图形;
图15为表示包括一检验点处理部分的调度程序的流程图;
图16为表示指示调度程序执行一检验点处理部分的处理流程的流程图;
图17为表示由被检验点处理部分所取的一最后检验点开始执行再启动的处理流程的流程图;
图18为一说明按照此实施例的计算机系统的操作的图形;和
图19为一说明计算机系统的检验点/重新运行功能的图形。
具体实施方式:
下面参照附图说明本发明的实施例。
图6为示意性表示按照本发明第一实施例的计算机系统的结构的图形。
标号10所指为一连接到内部总线11的处理器。另外,此内部总线11还连接有一存储器12和一用于存放更新存储器12前的数据的BIB(Before Image Buffer,前映象缓存器)。
存储器12存放包括一操作系统(OS)在内的欲由处理器执行的软件。
图19为说明计算机系统的检验点/重新运行功能的图形。如图19中所示,存储器的地址0、1、2和3的内容在时刻t0分别为a、b、c和d。BIB中未存放有数据。这种状态被作为“CKP”。
此后,在时间t1,处理器发出命令在存储器的地址1存放X。从而地址1的内容变成X。这时,BIB存放存储器被更新前所存放的数据。这一数据表明地址1的内容为b。
然后在时间t2,处理器发出命令在存储器的地址2中存放Y。BIB存放的数据表示,在地址2的内容被改写成Y之前,地点1的内容为b。
假定此后在时间t3发生了故障。在这种情况下,存储器可重新回到更新前的存储器状态,即在时间t0所假定的存储器状态CKP,这仅仅只要依靠将当前存放在BIB中的更新数据以与将此更新数据存进BIB时的顺序相反的次序存进该存储器。
假定在时间t3未发生故障。在这一情况下在适当时刻清除BIB中存放的数据,而这时存储器所呈现状态被作为“CKP”。这样CKP即前进到下一阶段。
图7为说明存储在存储器12中的软件的功能的功能方框图。
标号21所指为一获取检验点的特殊进程,正常情况下由标号为22的睡眠部分维持在一闲置状态。
在满足了检验点获取条件时,闲置状态中的此处理检验点的特殊进程21,经利用一标号23所指明的唤醒部分而成为可执行的。
在预定数量的数据被存进BIB 13中时即满足了此检验点获取条件。
应指出,此检验点获取条件在下列情况下可被满足:
(1)在一预定数量的数据被存放进用于存储更新存储器12后的映象数据的AIB(After Image Buffer,后映象缓存器)中时;
(2)在程序码中明确指示取检验点时;和
(3)在取最后一检验点后已过去一预定时间后。
使成为可执行的处理检验点的特殊进程21由调度程序24进行选择。其结果就使处理检验点的特殊进程成为可执行的,并取检验点。
在检验点获取条件被满足时,获取检验点的特殊进程21的优先级(即执行优先级)即被提高以便尽可能快地获取检验点,而使得除象故障通报等的特殊中断外的其他中断均可不予接收。
下面将参照图8~10来说明操作。
图8为表示获取检验点的特殊进程21的处理流程的流程图。
获取检验点的特殊进程21在正常情况下维持闲置状态(步骤A1)。但一旦检验点获取条件满足,此进程21即被唤醒部分23所唤醒,使得成为可执行的。
然后,由调度程序24对此获取检验点的特殊进程加以调度,由此一检验点即被此获取检验点的特殊进程取得(步骤A2)。此后,此进程又被导回到闲置状态。
图9为表示通报检验点获取条件满足,和唤醒保持在闲置状态中的获取检验点的特殊进程的处理流程的流程图。
由图9可看到,如果检验点获取条件被满足,即由中断处理或子程序调用执行通报检验点条件满足的处理。
在获取检验点的特殊进程21转变为闲置状态中,以及在转变为可执行状态中,仅执行被指定的进程。例如,在UNIX的情况下,仅有一被指定的等待通道(在此情形下为S)被用于专门作进程的唤醒。
图10为表示由获取检验点的特殊进程所取的检验点开始执行再启动的处理流程的流程图。
在这种情况下,由获取检验点的特殊进程21所取的最后检验点的状态被恢复(步骤C1),而随后将此获取检验点的特殊进程21当作为当前进程,由这一获取检验点的特殊进程21的顶端开始进行处理(步骤C2)。换言之,此获取检验点的特殊进程的内容(它被存放在此检验点中)可加以恢复。
下面将参照图6~12说明按照此实施例的计算机系统的操作。
图11为说明按照这一实施例的计算机系统的操作的图形。
当在存储器12更新前存储在BIB 13中的数据的数据量达到一预定的数据量而同时处理器在执行任一进程X时,BIB 13对处理器10提供一检验点采集请求中断。
这里,BIB 13对处理器(1)提出一中断。如果处理器(1)被BIB 13提供有一中断的话,处理器(1)即暂时停止正执行中的进程X的处理,并进行中断处理(图1中的(1))。
在此中断处理中,所有被维持在闲置(睡眠)状态的获取检验点的特殊进程均被引导进可执行状态(或就绪状态)(图11中的(2))。
图12为说明将保持在睡眠状态中的获取检验点的特殊进程引导进就绪状态的情况的图形。
在这种情况下,获取检验点的特殊进程的优先级(执行优先级)被提高,并被安排得除故障通报等外其他的中断均不接收。
在完成中断处理后,处理器(1)重新执行被暂时挂起的进程X,随后,在完成进程X一单元的执行时调用调度程序(图11中的(3))。调度程序的调用由分时处理控制之类进行。
调度程序检测一高优先级的进程,并将此进程引导到运行状态,使得此进程由处理器执行。这里,由于获取检验点的特殊进程被唤醒,调度程序进行获取检验点的特殊进程21的选择并使处理器执行这一进程,由此取一检验点(图11中的(4))。
由于取检验点是在一通常的计算机系统内在任一进程的中断处理中进行的,有可能此进程包含一自旋闭锁,或者此进程要访问一取决于处理器的资源。因此存在有发生死锁的可能性。
与通常的计算机系统相反,检验点是由一被调度程序调度的获取检验点的特殊进程取得的,而任何其他进程均不处于运行状态。因此与通常的计算机系统不同,在进行再启动时不会发生死锁。
而且在完成取检验点操作时,获取检验点的特殊进程21被再次引导进闲置(或睡眠)状态(图11中的(5)),并且调用调度程序。再次选择一任意的正常进程(图11中的(6))。
这样,在采用此获取检验点的特殊进程21的情况下,取得检验点总是在此获取检验点的特殊进程中进行的。
因此,不再需要再启动时的闭锁运行尽,而可能大大地简化包含检验点获取功能的操作系统。其结果就是大大地降低制作成本。
此外,由于以这种方式安排结构,还可得到以下的效果。
图13A为表示一多处理器系统的图形。这一示例是基于一具有四个处理器(0)至(3)的多处理器系统,在取一检验点时各处理器10调度并执行对应于该处理器的获取检验点的特殊进程21。
较具体说,在多处理器系统中以下述二方法之一来取得检验点:
(1)在它们所处理的数据方面相互依从的处理器同步地协同操作来取得检验点;
(2)系统中所设置的全部处理器同步操作以取得检验点。
总的说,第二种方法被应用在大部分情况中,即就是,所有处理器同步,因为很难控制处理器之间的数据关系,并且开销很大。
因此,在本发明的第一实施例中也是所有处理器同步操作来取得一检验点。
这就意味着,获得一检验点时执行的进程只有获取检验点的特殊进程21,而任何其他进程均不在执行。
例如这里假定在一特定处理器10中发生了间断的故障。在这一情况下,在故障恢复处理中系统的状态重新回到最后取得的检验点,然后在取得该检验点时各处理器所执行的该获取检验点的特殊进程21重新开始执行。
下面对照图13B来考虑一特定处理器10中发生持久的故障时的情况。在这种情况下,故障处理中如果系统状态重新回到最后取得的检验点,而后在取得该检验点时各处理器执行的获取检验点的特殊进程21重新开始执行。
但是,引起此持久故障的处理器10(即图13B中的处理器(1))不能执行此进程。结果获取检验点的特殊进程21不能由任一处理器执行,并且任何其他正常的进程均不能由故障处理器调度。因此能容易地实现对造成持久故障的处理器的消除(修改(脱机),重新配置)。
图14为原理性表示按照本发明第二实施例的计算机系统的图形。
标号10所指为一处理器,执行包含由标号20指明的操作系统的软件。
标号24指明一调度程序,包含一由标号25指明的检验点处理部分。
此调度程序24并不总是调用检验点处理部分25,而是仅在检验点处理执行指令部分指示执行检验点处理时才调用这一部分。此外在满足检验点取得条件时,即由检验点处理执行指令部分26指示执行检验点处理。
当检验点处理执行指令部分26指示执行检验点处理时,调度程序24调用检验点处理部分25。
在执行检验点处理的指令中,例如采用软件中的一参数作为一标记,当被指示执行检验点处理时此标记即被设定置(1)。因此,调度程序24只有在此标记被置(1)时才调用检验点处理部分25。
下面参照附图15~17说明按照本发明的这一实施例的操作进程。
图15为表示包括检验点处理部分25的调度程序24的处理流程的流程图。
包括有检验点处理部分25的调度程序24监视是否由检验点处理执行指令部分26发出有指令通知(步骤D1)。如果指示执行检验点处理部分25,调度程序24清除检验点处理部分25的执行指令(步骤D2),然后采集检验点(步骤D3)。
而在当此采集操作完成时,执行正常的调度程序的处理(步骤D4)。具体说,选择高优先级的进程和使得处理器执行此进程。
图16为通报检验点取得条件满足和向调度程序24指示执行检验点处理部分25的流程图。
在当如图16中所示满足获取检验点的条件时,由中断处理或子程序调用来执行通报此检验点取得条件满足的处理(步骤E1)。这里指示执行检验点处理部分25。
在检验点处理部分25的执行指令中,例如如上述采用软件中的参数作为一标记,而在指示执行此检验点处理部分25时将此标记置(1)。因而,仅在此标记被置(1)时调度程序24才调用检验点处理部分25。
图17为表示由被检验点处理部分25所取的检验点进行返回操作时的处理流程的流程图。
在这一情况下,首先恢复最后所取的检验点处的状态(步骤F1),接着由顶部调用调度程序24(步骤F2)。
这里参照图18来说明按照本实施例的计算机系统的操作。
如果在处理器执行任一进程时发生了通报检验点取得条件被满足的情况的中断时(图18中的(1)),就通过检验点处理执行指令部分26指示执行检验点处理部分25(图18中的(2))。
此后控制回到最初的进程,完成一处理单元。接着调用调度程序,但由于已指示执行检验点处理部分25,调度程序24即进行获取一检验点(图18中的(3))。
在完成了取得这一检验点时,调度程序24即回到正常的处理,亦即,分配程序选择高优先级的进程,并促使处理器10执行此进程。
这样,在采用包括有检验点处理部分25的调度程序24时,仅在此调度程序中执行获取检验点的操作,因而无需在进行再启动时作闭锁运行尽处理。从而能大大简化包含检验点取得功能的操作系统。并极大地降低制作费用。
因此,按照本发明的计算机系统,仅在检验点处理装置或在调度程序中取检验点。结果,在取检验点时任何其他进程均不能执行,而不必再考虑在普通的取得检验点的方法中必须考虑的“单元组”的问题。这样就可大大简化操作系统。结果可在很大程度上降低制作成本或完善成本。
在此多处理器系统中,即使此多处理器系统的一个或多个处理器偶然发生故障,也能容易地实现系统的重新配置(修改(脱机),或隔离具有故障的处理器),仅仅只要抑制任何发生问题的处理器的检验点处理。
对于本技术领域的熟悉人员能容易地实现附加的优点和修改。因此本发明在其所概括的方面将不局限于这里所表示和说明的具体细节、代表性的装置和所述的例子。相应地,在不违背所附权利要求和它们的共同体所定义的总的发明概念的精神实质和范畴内,可以作出各种不同的变型。
Claims (21)
1.一计算机系统,其特征是包括:
至少一处理器(10);
至少一检验点处理装置—获取检验点的特殊进程(21),各自对应于所述至少一处理器,用于取得为再启动一因故障中断的进程所用的检验点;
中断装置(13、10、23),用于在执行进程中进行中断,和用于将所述检验点处理装置—获取检验点的特殊进程由睡眠状态引导到就绪状态;
调度装置(124),用于调度被所述中断装置引导进就绪状态的所述检验点处理装置—获取检验点的特殊进程;和
睡眠状态转移装置(122),用于在被所述调度装置调度的所述检验点处理装置—获取检验点的特殊进程取得检验点后再将所述检验点处理装置—获取检验点的特殊进程重新引导进睡眠状态。
2.按照权利要求1的计算机系统,其特征是,所述中断装置(13、10、23)的中断处理是在满足一检验点获取条件之后进行的。
3.按照权利要求2的计算机系统,其特征是,在所述处理器的程序码中指示获取一检验点时即满足此检验点获取条件。
4.按照权利要求2的计算机系统,其特征是,当所述检验点处理装置(13、10、23)取得检验点后经过了预定的时间即满足此检验点获取条件。
5.按照权利要求2的计算机系统,其特征是,此检验点获取条件由在更新一存储器前收集映象数据的BIB-前映象缓存器中所存放数据的数据量所决定。
6.按照权利要求2的计算机系统,其特征是,此检验点获取条件由在更新一存储器后收集映象数据AIB-后映象缓存器中所存放数据的数据量所决定。
7.按照权利要求1的计算机系统,其特征是,所述调度装置对所述检验点处理装置(21)的调度按分时处理进行。
8.按照权利要求1的计算机系统,其特征是,还包括恢复装置(10),用于在当所述至少一处理器的任一个中发生间断故障时,恢复所述处理器在由检验点处理装置最后所取的检验点处的状态。
9.按照权利要求8的计算机系统,其特征是,还包括处理装置(10),用在处理器的状态被所述恢复装置恢复后将所述检验点处理装置(21)作为一当前进程的加以处理。
10.按照权利要求1的计算机系统,其特征是,还包括恢复装置(10),用于这样来进行恢复处理,即当所述至少一处理器的任一个中发生持久故障时,除所述含有该持久性故障的处理器外的另一处理器恢复处理器在被所述检验点处理装置最后所取的检验点处的状态。
11.按照权利要求10的计算机系统,其特征是,还包括处理装置(10),用于在处理器的状态被所述恢复装置恢复后,处理被除含有持久故障的处理器外的其他处理器作为当前进程的所述检验点处理装置。
12.一计算机系统,其特征是包括:
至少一处理器(10);
检验点取得指令装置(26),用于指示获取再启动因故障中断的进程的检验点,在当一检验点取得条件被满足时;
检验点获取装置(25),被设置在一操作系统的调度程序内,用于获取对应于所述至少一处理器的至少一检验点;
执行准备装置(25),用于使所述检验点获取装置由睡眠状态成为可执行的,在当所述检验点取得指令装置指示获取一检验点时;
调度装置(24),用于调度经所述执行准备装置促使成为可执行的所述检验点获取装置;和
睡眠状态转移装置(25),用于在经所述调度装置调度的所述检验点获取装置获取检验点后将所述检验点获取装置重新引导进睡眠状态。
13.按照权利要求12的计算机系统,其特征是,在所述处理器的程序码中指示取得一检验点时满足此检验点取得条件。
14.按照权利要求12的计算机系统,其特征是,在当检验点获取装置获取一检验点后经过了一预定时间时即满足此检验点取得条件。
15.按照权利要求12的计算机系统,其特征是,此检验点取得条件由为在更新一存储器前收集数据的一BIB中所存放的数据量决定。
16.按照权利要求12的计算机系统,其特征是,此检验点取得条件由为在更新一存储器后收集数据的一AIB中所存放的数据量决定。
17.按照权利要求12的计算机系统,其特征是,所述调度装置(24)对所述检验点获取装置(25)的调度按分时处理进行。
18.按照权利要求12的计算机系统,其特征是,还包括恢复装置(10),用于在当所述至少一处理器的任一个中发生间隙性故障时恢复所述至少一处理器在所述检验点获取装置(25)最后所取的检验点处的状态。
19.按照权利要求18的计算机系统,其特征是,还包括处理装置(10),用于在处理器的状态被所述恢复装置恢复后将所述检验点获取装置作为一当前进程加以处理。
20.按照权利要求12的计算机系统,其特征是,还包括恢复装置(10),用于这样来进行恢复处理,即在当所述至少一处理器的任一个中发生持久性故障时,另一不是含有此持久故障的处理器的处理器恢复此处理器在由检验点获取装置最后所取的检验点处的状态。
21.按照权利要求20的计算机系统,其特征是,还包括处理装置(10),用于在处理器的状态被所述恢复装置恢复后处理被另一非包含持久性故障的处理器作为当前进程的所述检验点获取装置。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP015660/96 | 1996-01-31 | ||
| JP1566096 | 1996-01-31 | ||
| JP015660/1996 | 1996-01-31 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1156860A CN1156860A (zh) | 1997-08-13 |
| CN1101573C true CN1101573C (zh) | 2003-02-12 |
Family
ID=11894904
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN96113090A Expired - Lifetime CN1101573C (zh) | 1996-01-31 | 1996-09-27 | 计算机系统 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5884021A (zh) |
| EP (1) | EP0788050B1 (zh) |
| KR (1) | KR100246120B1 (zh) |
| CN (1) | CN1101573C (zh) |
| DE (1) | DE69625323T2 (zh) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3648892B2 (ja) * | 1996-12-16 | 2005-05-18 | 富士通株式会社 | 計算機システム |
| US7200623B2 (en) * | 1998-11-24 | 2007-04-03 | Oracle International Corp. | Methods to perform disk writes in a distributed shared disk system needing consistency across failures |
| US6401216B1 (en) | 1998-10-29 | 2002-06-04 | International Business Machines Corporation | System of 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 |
| US6338147B1 (en) * | 1998-10-29 | 2002-01-08 | International Business Machines Corporation | Program products for performing checkpoint/restart of a parallel program |
| US6594779B1 (en) * | 1999-03-30 | 2003-07-15 | International Business Machines Corporation | Method, system and program products for managing the checkpointing/restarting of resources of a computing environment |
| US6658594B1 (en) * | 2000-07-13 | 2003-12-02 | International Business Machines Corporation | Attention mechanism for immediately displaying/logging system checkpoints |
| US6802024B2 (en) * | 2001-12-13 | 2004-10-05 | Intel Corporation | Deterministic preemption points in operating system execution |
| CN1967489A (zh) * | 2005-11-14 | 2007-05-23 | 鸿富锦精密工业(深圳)有限公司 | 防止计算机当机的系统及方法 |
| CN101271413B (zh) * | 2007-03-21 | 2011-12-14 | 鸿富锦精密工业(深圳)有限公司 | 计算机运行状态侦测及处理方法和系统 |
| US8527650B2 (en) * | 2007-05-21 | 2013-09-03 | International Business Machines Corporation | Creating a checkpoint for modules on a communications stream |
| US7950019B2 (en) * | 2007-05-21 | 2011-05-24 | International Business Machines Corporation | Method and apparatus for checkpoint and restarting a stream in a software partition |
| US7792983B2 (en) * | 2007-07-31 | 2010-09-07 | International Business Machines Corporation | Method and apparatus for checkpoint and restart of pseudo terminals |
| GB202202815D0 (en) * | 2022-03-01 | 2022-04-13 | Graphcore Ltd | Reset of a multi-node syste |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4852092A (en) * | 1986-08-18 | 1989-07-25 | Nec Corporation | Error recovery system of a multiprocessor system for recovering an error in a processor by making the processor into a checking condition after completion of microprogram restart from a checkpoint |
| US5301309A (en) * | 1989-04-28 | 1994-04-05 | Kabushiki Kaisha Toshiba | Distributed processing system with checkpoint restart facilities wherein checkpoint data is updated only if all processors were able to collect new checkpoint data |
| US5333314A (en) * | 1987-04-20 | 1994-07-26 | Hitachi, Ltd. | Distributed data base system of composite subsystem type, and method of fault recovery for the system |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0228559A1 (de) * | 1985-12-17 | 1987-07-15 | BBC Brown Boveri AG | Fehlertolerante Mehrrechneranordnung |
| US5146569A (en) * | 1986-10-24 | 1992-09-08 | Hitachi, Ltd. | System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension |
-
1996
- 1996-09-17 US US08/710,403 patent/US5884021A/en not_active Expired - Lifetime
- 1996-09-18 DE DE69625323T patent/DE69625323T2/de not_active Expired - Fee Related
- 1996-09-18 EP EP96114979A patent/EP0788050B1/en not_active Expired - Lifetime
- 1996-09-27 CN CN96113090A patent/CN1101573C/zh not_active Expired - Lifetime
- 1996-09-30 KR KR1019960043164A patent/KR100246120B1/ko not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4852092A (en) * | 1986-08-18 | 1989-07-25 | Nec Corporation | Error recovery system of a multiprocessor system for recovering an error in a processor by making the processor into a checking condition after completion of microprogram restart from a checkpoint |
| US5333314A (en) * | 1987-04-20 | 1994-07-26 | Hitachi, Ltd. | Distributed data base system of composite subsystem type, and method of fault recovery for the system |
| US5301309A (en) * | 1989-04-28 | 1994-04-05 | Kabushiki Kaisha Toshiba | Distributed processing system with checkpoint restart facilities wherein checkpoint data is updated only if all processors were able to collect new checkpoint data |
Also Published As
| Publication number | Publication date |
|---|---|
| KR970059931A (ko) | 1997-08-12 |
| DE69625323D1 (de) | 2003-01-23 |
| KR100246120B1 (ko) | 2000-03-15 |
| DE69625323T2 (de) | 2003-10-16 |
| EP0788050B1 (en) | 2002-12-11 |
| US5884021A (en) | 1999-03-16 |
| EP0788050A1 (en) | 1997-08-06 |
| CN1156860A (zh) | 1997-08-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1101573C (zh) | 计算机系统 | |
| CN1251074C (zh) | 计算机的重启动方法 | |
| CN1270239C (zh) | 处理系统或计算机系统的任务控制方法 | |
| CN1147788C (zh) | 双重化计算机系统 | |
| CN1098490C (zh) | 具有检查点恢复功能的i/o控制设备 | |
| CN101689127B (zh) | 虚拟计算机控制装置、虚拟计算机控制方法及虚拟计算机控制程序 | |
| CN1521625A (zh) | 容错计算机系统,其再同步方法,及其再同步程序 | |
| CN1615472A (zh) | 在多处理环境中执行进程 | |
| CN1589431A (zh) | 基于pmi和smi的调度执行框架中用于并发处理程序执行的方法和系统 | |
| CN101031877A (zh) | 线程活锁单元 | |
| CN101236515B (zh) | 多核系统单核异常的恢复方法 | |
| CN1791862A (zh) | 操作系统 | |
| CN88100705A (zh) | 多重处理的方法和设备 | |
| CN1495611A (zh) | 容错计算机系统及其再同步方法和再同步程序 | |
| CN1696903A (zh) | 确定用户程序是否作出了系统级调用的方法和系统 | |
| CN1340171A (zh) | 中断管理装置和中断管理方法 | |
| CN1637712A (zh) | 中断控制装置及控制方法 | |
| CN1916858A (zh) | 多核系统中的监控方法、监控装置以及多核系统 | |
| US20160041883A1 (en) | Computer system | |
| CN1584847A (zh) | 在交流电源不存在时的操作状态保存 | |
| CN1172986A (zh) | 实时控制系统 | |
| CN101030152A (zh) | 基于伪同步方式的操作控制方法及装置 | |
| CN1737764A (zh) | 支持osek标准的嵌入式实时操作系统的任务调度方法 | |
| CN111708613B (zh) | 一种修复vm虚拟机开机失败卡任务的方法及系统 | |
| CN111782297B (zh) | 基于Android虚拟机快速提升应用启动性能的方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C06 | Publication | ||
| PB01 | Publication | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| CX01 | Expiry of patent term |
Granted publication date: 20030212 |
|
| EXPY | Termination of patent right or utility model |