首页> 中国专利> 容错计算机系统及其再同步方法和再同步程序

容错计算机系统及其再同步方法和再同步程序

摘要

一种锁步同步容错计算机系统,包括多个具有一处理器和一存储器的计算模块,其中每个计算模块在互相同步中执行同一指令串。在每个计算模块的各个处理器访问外部总线的状态下,当检测不一致时,如果在包括每个计算模块的系统中没有检测到故障时,将一中断通知所有的所述处理器。通过调整访问的响应时间来恢复在每个计算模块中的同步,每个处理器通过一中断来执行该访问。

著录项

  • 公开/公告号CN1495611A

    专利类型发明专利

  • 公开/公告日2004-05-12

    原文格式PDF

  • 申请/专利权人 日本电气株式会社;

    申请/专利号CN03147299.0

  • 发明设计人 山崎茂雄;爱野茂幸;

    申请日2003-07-14

  • 分类号G06F11/18;

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人朱进桂

  • 地址 日本东京都

  • 入库时间 2023-12-17 15:18:03

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-09-04

    未缴年费专利权终止 IPC(主分类):G06F11/18 授权公告日:20070711 终止日期:20120714 申请日:20030714

    专利权的终止

  • 2007-07-11

    授权

    授权

  • 2004-07-14

    实质审查的生效

    实质审查的生效

  • 2004-05-12

    公开

    公开

说明书

技术领域

本发明涉及一种锁步(lock-step)同步容错(fau1t-tolerant)计算机系统,该系统以总体相同的方式通过在互相时钟同步的多个计算模块处理同一指令串。更特别地,它涉及一种容错计算机系统和高速再同步控制方法,当在计算模块中出现同步错误时(不再锁步),该方法加速实现再同步处理。

2.背景技术

对于常规的锁步同步容错计算机系统,当在同时执行同一指令串的多个计算模块中,由于故障或其它外部或内部因素,检测出一计算模块具有与其它计算模块不同的输出时,采取如下的对策。在下文中,将检测出的没有与其它计算模块同步操作的计算模块称为失步(step-out)状态下的计算模块。

更特别地,采取这种措施,即一旦切断其锁步脱离工作状态的计算模块,以及根据引起失步的因素按照需要替代计算模块或当替代不必须时,根据需要实施再初始化处理或类似处理来使计算模块进入到工作状态中。

在常规的锁步同步容错计算机系统中,在重新恢复到工作状态时,因为不管在锁步状态的计算模块已经被替代与否,对于与继续又来实施同一处理的操作的其它计算模块同步的计算模块来说,由处于工作状态的计算模块支持的所有存储数据都被复制到一存储器中,该存储器由在其重新恢复的时间来重新恢复的计算模块支持。

在常规的锁步同步容错计算机系统中,在失步状态下执行替代计算模块,以及根据引起失步和类似故障的部分来执行再初始化处理过程之后,当所述的计算模块又恢复到工作状态时,在工作状态的计算模块被中断一较长时间段。

更特别地,常规锁步同步容错计算机系统具有一个问题是:当失步状态下的计算模块要再恢复处理时,整个容错计算机系统将中断一较长时间段的工作(通常为3-5秒或相当于若干分钟的时间)。

这是由于为了使失步状态下的计算模块恢复到工作状态,所有的存储器内容不断从继续工作的计算模块中复制到要恢复的计算模块中。

当正常的计算模块的工作在复制过程中继续时,正常的计算模块的存储内容在复制过程中也可能有变化,所以复制不能正确地执行。为了避免这种情况,将在工作状态的计算模块临时停下来以阻止它的存储内容的更新。

因为在计算模块中的存储容量一天可达到几个千兆字节,所以复制整个存储区域需要一段较长的时间。

在锁步同步容错计算机系统中,由于各种原因在计算模块中出现锁步状态。

第一种情况是出现在计算模块中的固定故障。在这种情况下,具有故障的计算模块应当被替代(replace)并且当要被替代的计算模块恢复到工作系统中时,需要复制在工作状态下的计算模块的存储器中的所有数据。在锁步同步容错计算机系统中,因为除了上述固定故障外,虽然其工作是正常的,或因为由α射线或类似物的作用引起存储器的自动校正中断故障,但是由于在计算模块中每个单元的制造过程不同,计算模块在不同的时间工作,可出现锁步状态。

在这些情况中,因为固定故障不是出现在计算模块本身中,模块基本上不需要替代,并通过将它的处理与其它工作中的计算模块的处理再同步以恢复上述计算模块,所以整个容错计算机系统能被恢复到正常的工作状态中。

发明内容

本发明的一个目的是提供一种容错计算机系统及其再同步方法和再同步程序,它们可以使得由除了固定故障之外的其它原因引起其锁步脱离的计算模块以比常规系统具有较高的速度再恢复到工作状态,由此由恢复处理引起的系统工作临时中断的时间可大大减少。

本发明的另一个目的是提供一种容错计算机系统,及其再同步方法和再同步程序,它们能通过减少上述再恢复处理的时间来实现系统利用率的提高。

根据本发明的第一方面提供一种锁步同步容错计算机系统,该系统包括多个具有一处理器和一存储器的计算模块,其中每个计算模块在相互同步中执行同一指令串,其中

当在每个计算模块中的各个处理器访问外部总线的状态下,检测不一致时,如果在包括每个计算模块的系统中没有检测到故障(fau1t)时,通过调整访问的响应时间来恢复在每个计算模块中的同步,其中该访问是每个处理器通过一中断来作为同步控制指令执行的。

在优选的结构中,容错计算机系统进一步包括一容错检测器,用于监控在整个系统中故障的存在/不存在;

一总线监控器,用于监控每个计算模块的处理器对外部总线的访问并且当在各个计算模块的输出中检测到不一致时,如果故障检测器没有检测出故障时,将一中断通知每个处理器,以及一同步控制器,通过调整来自由中断引起的每个处理器的访问响应时间来再同步每个计算模块。

在另一个优选的结构中,当在各个计算模块的输出中检测到不一致时,如果故障检测器没有检测出故障时,总线监控器用预定的任务来中断每个处理器以再同步计算模块,该任务是在同步控制器中对预定资源执行访问的任务,且当从所有的处理器中接收到对该资源的访问时,同步控制器将把一响应同时传送到所有的计算模块中。

在另一个优选的结构中,提供多对总线监控器,故障检测器和同步控制器。

在另一个优选的结构中,总线监控器,故障检测器和同步控制器都在外围设备控制单元中提供,该外围设备控制单元用于控制外围设备并通过PCI桥连接到计算模块的外部总线上。

根据本发明的第二方面,一种在锁步同步容错计算机系统中的再同步方法,该系统包括多个具有一处理器和一存储器的计算模块,其中每个计算模块在相互同步中执行同一指令串,该方法包括步骤:

在每个计算模块的各个处理器访问外部总线的状态下,当检测不一致时,如果在包括每个计算模块的系统中没有检测到故障时,对所有的处理器产生一中断,并引起每个处理器来执行同步控制指令以调整来自每个处理器的访问响应时间,由此引起每个计算模块恢复同步操作。

在优选结构中,该再同步方法进一步包括步骤: 

在包括每个计算模块的整个系统中检测故障的存在/不存在,监控每个计算模块的处理器对外部总线的访问,

当在各个计算模块的输出中检测到不一致时,如果在系统中没有检测到故障时,将一中断通知每个处理器,并引起每个处理器来执行时钟同步控制指令,以调整来自每个处理器的访问响应时间,由此引起每个计算模块恢复同步操作。

在另一个优选结构中,再同步方法进一步包括步骤:

当在各个计算模块的输出中检测到不一致时,如果在系统中没有检测到故障时,,用预定任务中断每个处理器,用于再同步各个计算模块,该任务是对预定资源执行访问的任务;

排队来自每个处理器的对资源的访问,并当接收到来自处理器的所有访问时,响应同时来自所有计算模块的访问。

根据本发明的另一个方面,一种用于执行锁步同步容错计算机系统的再同步处理的再同步程序,其中该系统包括多个具有一处理器和一存储器的计算模块,其中每个计算模块在互相同步中执行同一指令串,该程序包括下列操作程序:

在每个计算模块的各个处理器访问外部总线的状态下,当检测不一致时,如果在包括每个计算模块的系统中没有检测到故障时,对所有的处理器产生一中断,并引起每个处理器来执行同步控制指令,以调整来自每个处理器的访问响应时间,由此引起每个计算模块恢复同步操作。

在优选结构中,再同步程序进一步包括下列操作程序:

在包括每个计算模块的整个系统中检测故障的存在/不存在,监控每个计算模块的处理器对外部总线的访问,

当在各个计算模块的输出中检测到不一致时,如果在系统中没有检测到故障时,将一中断通知每个处理器,并引起每个处理器来执行时钟同步控制指令,以调整来自每个处理器的访问响应时间,由此引起每个计算模块恢复同步操作。

在另一个优选结构中,再同步程序进一步包括下列操作程序:当在各个计算模块的输出中检测到不一致时,如果在系统中没有检测到故障时,用预定任务中断每个处理器,以便再同步各个计算模块,该任务是对预定资源执行访问的任务;

排队来自每个处理器的对资源的访问,并当接收到来自处理器的所有访问时,响应同时来自所有计算模块的访问。

附图说明

从下面给出的详细描述中,本发明的其它目的,特征和优点将变得更清晰。

从下面给出的详细描述并从本发明优选实施例的附图中,本发明将得到更完全地理解,然而,这些不能作为对本发明的限定,它们仅是用于解释性和理解性的。

在附图中:

附图1是一框图,示出了根据本发明第一实施模式的容错计算机系统的结构;

附图2是一图解,用于解释容错计算机系统的再同步处理的内容;

附图3是一框图,示出了根据本发明第二实施模式的容错计算机系统的结构;和

附图4是一框图,示出了根据本发明第三实施模式的容错计算机系统的结构。

具体实施方式

下面将参照附图对本发明的优选实施例进行论述。在下面的描述中,为了提供对本发明的完全理解,将说明多个具体的细节。然而,对那些本领域的普通技术人员来说明显的是,本发明在没有这些具体细节的情况下也能实施。另一方面,为了不必要的混淆本发明,没有详细示出公知的结构。

下面将参照附图对本发明的实施模式进行详细描述。附图1是一框图,示出了根据本发明第一实施模式的锁步同步容错计算机系统的结构。

参照图1,容错计算机系统包括多个计算模块100,200和300,计算模块100,200和300中的每个在互相的时钟同步中处理同一指令串。容错计算机系统比较每个计算模块的处理结果。即使当一个计算模块出现故障时,也能通过剩余的计算模块来继续处理过程。

每个计算模块100,200和300分别包括多个处理器101和102,201和202,301和302,处理器外部总线103,203和303,存储器104,204和304和存储器控制单元105,205和305。

此外,计算模块100,200和300都连接到外围设备控制单元400和500上,用于通过存储控制单元105,205和305和接口信号线600,601,602,610,611和612来控制外围设备。

上述容错计算机系统进一步包括一总线监控器700,一故障检测单元702和一同步控制单元701。

总线监控器700监控每个计算模块的处理器对外部总线的访问。总线监控器700通过接口信号线710,711和712连接到各个计算模块100,200和300的处理器外部总线103,203和303上。

故障检测单元702监控在包括各个计算模块的整个系统中的故障的存在/不存在。

连接到每个计算模块上的同步控制单元70 1调整来自每个计算模块的访问响应时间,以使每个计算模块恢复时钟同步操作。同步控制单元701通过接口信号线730,731和732连接到各个计算模块100,200和300的存储控制单元105,205和305上。

接下来,将根据本发明的实施模式对这种结构的容错计算机系统的操作进行描述。

故障检测单元702监控在包括各个计算模块100,200和300及其外围设备控制单元400和500在内的整个系统中的固定故障的存在/不存在。然后,故障检测单元702将监控结果通知总线监控器700。

通过接口信号线710,711和712连接到各个计算模块100,200和300的处理器外部总线103,203和303上的总线监控器700比较各个处理器101,102,201,202,301和302的外部访问控制信号以监控是否各个处理器101,102,201,20,301和302同时互相时钟同步地访问外部总线103,203和303。

在通过上述监控操作的情况下,总线监控器700检测处理器101,102,201,202,301和302中与其它处理器的工作时间不同的任何一个处理器,当故障检测单元702检测到容错计算机系统中的任何地方都不存在固定故障时,总线监控器700检测出失步不是由于故障引起的。将这个结果通过接口信号线710,711和712通知所有的计算模块100,200和300,以便对每个处理器产生一中断。此外,总线监控器700同时转换到监控处理器的外部总线103,203和303的中断模式。

这里,总线监控器700监控对外部总线103,203和303的所有访问,这些访问包括来自处理器的存储访问,且当在计算模块中检测到操作没有同步时,立即中断所有的处理器101,102,201,202,301和302来中断处理,以便在中断产生时,在各个计算模块100,200和300中的存储器104,204和304的内容都彼此相符。

下面,将参照附图2根据本实施模式对容错计算机系统操作的具体内容进行描述。

当总线监控器700检测出计算模块中的操作没有同步时(图2中的步骤201),将该检测通过接口信号线710,711和712进行告知以对每个处理器产生中断。

所有的处理器101,102,201,202,301和302都处在相关的中断处理中,并且将同步控制任务排队到预备队列的顶层,作为最高优先级任务,该同步控制任务是在各个计算模块100,200和300中获得时钟同步操作的再同步(图2中的步骤202)。

同步控制任务具有一个功能,即执行一个指令来访问在同步控制单元701中具体指定的资源。其后,当上述同步控制任务通过一个OS转换为执行状态时,该任务执行指令来访问在同步控制单元701中指定的资源(图2中的步骤203)。

在这个时间点上,对来自失步状态下的计算模块的指定资源的访问和来自其它锁步状态下的计算模块的指定资源的访问自然地以一个时间延迟传送到同步控制单元701中。

一旦检测到计算模块100,200和300对具体指定的内部资源的访问,当访问开始时,同步控制单元701对相关的计算模块设法不返回一个响应并等待来自所有其它计算模块的访问的到来(图2中的步骤204)。当来自所有的计算模块100,200和300的访问都被传送时,返回同时访问所有计算模块100,200和300的一响应。

响应来自同步控制单元701的响应,在各个计算模块100,200和300中的所有处理器结束执行同步控制任务(图2中的步骤205)。其后,所有的处理器继续常规的程序操作(图2中的步骤206)。

前述的操作使计算模块100,200和300又继续互相以时钟同步进行工作。同时,如上所述,因为在计算模块100,200和300中的存储器104,204和304的内容不再一致之前,执行同步处理过程,在以时钟同步又开始工作之后,所有的计算模块100,200和300又可以同时执行同一指令串。这消除了对再同步复制存储的需要,而复制存储在常规的容错计算机系统中是需要的,由此使再同步处理过程可高速执行。

图3是一框图,示出了根据本发明第二实施模式的容错计算机系统的结构。参照图3,将根据本发明本实施模式的容错计算机系统构造为包括多个计算模块100和200,每个计算模块具有一处理器和一存储器及多个外围设备控制单元400和500,每个外围设备控制单元具有一个PCT桥703。每个计算模块100和200彼此以时钟同步处理同一指令串。容错计算机系统比较每个计算模块的处理结果。即使当一个计算模块具有故障时,也可通过剩余的计算模块来继续处理。此外,将每个外围设备控制单元400和500构造为通过软件控制的多路传送,从而实现即使当一个外围设备控制单元出现了故障,使用其它的外围设备控制单元仍可继续进行处理。

每个外围设备控制单元400包括PCI桥703,该桥通过一用于与外围设备建立连接的PCI连接到各个计算模块100和200的存储控制单元上,一总线监控器700,用于监控每个计算模块100和200中的每个处理器对外部总线的访问,一故障检测单元702,用于在包括计算模块100和200的整个容错计算机系统中监控故障的存在/不存在,和一同步控制单元701,通过PCI桥703连接到每个计算模块上用于调整响应来自每个计算模块的访问的时间,以便恢复每个计算模块的时钟同步。

虽然未在附图中示出,外围设备控制单元500也具有上述类似于外围设备控制单元400的各个部件。

根据本实施模式的锁步同步容错计算机系统通常监控每个计算模块100和200的时钟同步工作并通过使用外围设备控制单元400来控制外围设备。当在外围设备控制单元400中出现故障时,通过将该使用转换到外围设备控制单元500中来执行同一处理过程。

在本实施模式中,执行访问附图2中示出的同步控制单元701中的访问指定资源的指令(附图2中的步骤203)按照下面的方式实现:执行将指令读取到外围设备控制单元400的同步控制单元701中,将该读取的指令通过PCI总线800和801和PCI桥703传送到同步控制单元701中,以及其响应通过同一路线传送到每个计算模块100和200中。

在本实施模式中的再同步处理的内容与在附图2中示出的内容是相同的。

此外,虽然在本实施模式中示出的是一个具有两个计算模块的实施例,但是也可是如在附图1中示出的第一实施模式中的具有三个计算模块的结构或具有四个或更多个模块功能的结构。

附图4是一框图,示出了根据本发明第三实施模式的容错计算机系统的结构。

本实施模式中所示的结构是将总线监控器700通过PCI桥703连接到计算模块100和200上。

在本实施模式中,通过一信号(PCI总线协议)执行对各个处理器的外部总线103和203的监控,该信号通过各个计算模块100和200的存储控制单元105和205,PCI总线800和801以及PCI桥传送到总线监控器700中。此外,从总线检测器700到每个计算模块的中断的传送通过与上述路线相反的路线来传送。

在本实施模式中的再同步处理的内容与附图2所示的内容是相同的。

虽然在第二和第三实施模式中,各个计算模块和总线监控器及类似装置都使用PCI连接,但是在这些部件之间的连接可使用其它诸如PCI-X的标准接口或通用的非标准专有接口来建立,这对本发明的效果没有影响。

在本发明的容错计算机系统中,用于执行再同步处理的每个单元的功能不仅可通过硬件来实现,也可通过装载再同步处理程序1000来实现,该程序执行在计算机处理设备的存储器中的上述每个单元的功能,以便控制计算机处理设备。再同步处理程序1000存储在磁盘中,半导体存储器或其它记录媒介中,并从该记录媒介中装载到计算机处理设备中以控制计算机处理设备的操作,由此实现上述的每个功能。

虽然本发明已经相对于上述优选的实施模式进行了描述,但是本发明不必限定到上述实施模式,而是在它的技术思想范围内以各种形式来实现。

虽然在上述的每个实施模式中示出的结构是每个计算模块具有两个处理器,但是也可以是以完全相同的方式具有一个或三个或多个处理器功能的结构。

此外,虽然在每个实施模式中示出的是各个处理器共享一个外部总线并连接在同一总线上的情况,但是例如,它即不是将多个处理器以星状图形的形式连接到存储控制单元上的结构,也不是将形成一个计算模块的处理器物理设置在多个影响本发明效果的板上的结构。

如上所述,本发明具有下面的效果。

第一个效果是当在容错计算机系统中的某个计算模块由于除固定故障之外的其它原因脱离锁步状态时,能在极短的时间内恢复锁步状态。

这个原因是在产生失步的初始阶段,当每个计算模块的存储器还没有互相不一致时,总线监控器对处理器产生一中断来优先执行用于控制再同步的指令串的任务,由此在没有复制存储的情况下恢复同步。

第二个效果是提高容错计算机系统的利用率。这个原因是当脱离锁步时通过大大地加速再恢复的时间来急剧减少整个系统的暂停时间段。

虽然本发明已经图解并相对于其示例性的实施例作了描述,但是对本领域技术人员来说应当理解的是在没有背离本发明的精神和范围的情况下,可做出上述和各种其它变化,对其进行省略或增加。因此,本发明不应当理解为限定到上述提出的具体的实施例,而是包括在相对于所附的权利要求提出的特征所包含的范围及其等同物内能实现的所有可能的

实施例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号