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

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

Info

Publication number
CN1326042C
CN1326042C CNB031472990A CN03147299A CN1326042C CN 1326042 C CN1326042 C CN 1326042C CN B031472990 A CNB031472990 A CN B031472990A CN 03147299 A CN03147299 A CN 03147299A CN 1326042 C CN1326042 C CN 1326042C
Authority
CN
China
Prior art keywords
computing module
fault
processor
visit
synchronous
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 - Fee Related
Application number
CNB031472990A
Other languages
English (en)
Other versions
CN1495611A (zh
Inventor
山崎茂雄
爱野茂幸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of CN1495611A publication Critical patent/CN1495611A/zh
Application granted granted Critical
Publication of CN1326042C publication Critical patent/CN1326042C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1687Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1683Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

容错计算机系统及其再同步方法和再同步程序
技术领域
本发明涉及一种锁步(lock-step)同步容错(fault-tolerant)计算机系统,该系统以总体相同的方式通过在互相时钟同步的多个计算模块处理同一指令串。更特别地,它涉及一种容错计算机系统和高速再同步控制方法,当在计算模块中出现同步错误时(不再锁步),该方法加速实现再同步处理。
2.背景技术
对于常规的锁步同步容错计算机系统,当在同时执行同一指令串的多个计算模块中,由于故障或其它外部或内部因素,检测出一计算模块具有与其它计算模块不同的输出时,采取如下的对策。在下文中,将检测出的没有与其它计算模块同步操作的计算模块称为失步(step-out)状态下的计算模块。
更特别地,采取这种措施,即一旦切断其锁步脱离工作状态的计算模块,以及根据引起失步的因素按照需要替代计算模块或当替代不必须时,根据需要实施再初始化处理或类似处理来使计算模块进入到工作状态中。
在常规的锁步同步容错计算机系统中,在重新恢复到工作状态时,因为不管在锁步状态的计算模块已经被替代与否,对于与继续又来实施同一处理的操作的其它计算模块同步的计算模块来说,由处于工作状态的计算模块支持的所有存储数据都被复制到一存储器中,该存储器由在其重新恢复的时间来重新恢复的计算模块支持。
在常规的锁步同步容错计算机系统中,在失步状态下执行替代计算模块,以及根据引起失步和类似故障的部分来执行再初始化处理过程之后,当所述的计算模块又恢复到工作状态时,在工作状态的计算模块被中断一较长时间段。
更特别地,常规锁步同步容错计算机系统具有一个问题是:当失步状态下的计算模块要再恢复处理时,整个容错计算机系统将中断一较长时间段的工作(通常为3-5秒或相当于若干分钟的时间)。
这是由于为了使失步状态下的计算模块恢复到工作状态,所有的存储器内容不断从继续工作的计算模块中复制到要恢复的计算模块中。
当正常的计算模块的工作在复制过程中继续时,正常的计算模块的存储内容在复制过程中也可能有变化,所以复制不能正确地执行。为了避免这种情况,将在工作状态的计算模块临时停下来以阻止它的存储内容的更新。
因为在计算模块中的存储容量一天可达到几个千兆字节,所以复制整个存储区域需要一段较长的时间。
在锁步同步容错计算机系统中,由于各种原因在计算模块中出现锁步状态。
第一种情况是出现在计算模块中的固定故障。在这种情况下,具有故障的计算模块应当被替代(replace)并且当要被替代的计算模块恢复到工作系统中时,需要复制在工作状态下的计算模块的存储器中的所有数据。在锁步同步容错计算机系统中,因为除了上述固定故障外,虽然其工作是正常的,或因为由α射线或类似物的作用引起存储器的自动校正中断故障,但是由于在计算模块中每个单元的制造过程不同,计算模块在不同的时间工作,可出现锁步状态。
在这些情况中,因为固定故障不是出现在计算模块本身中,模块基本上不需要替代,并通过将它的处理与其它工作中的计算模块的处理再同步以恢复上述计算模块,所以整个容错计算机系统能被恢复到正常的工作状态中。
发明内容
本发明的一个目的是提供一种容错计算机系统及其再同步方法和再同步程序,它们可以使得由除了固定故障之外的其它原因引起其锁步脱离的计算模块以比常规系统具有较高的速度再恢复到工作状态,由此由恢复处理引起的系统工作临时中断的时间可大大减少。
本发明的另一个目的是提供一种容错计算机系统,及其再同步方法和再同步程序,它们能通过减少上述再恢复处理的时间来实现系统利用率的提高。
根据本发明的第一方面提供一种锁步同步容错计算机系统,该系统包括多个具有一处理器和一存储器的计算模块,其中每个计算模块在相互同步中执行同一指令串,其中
当在每个计算模块中的各个处理器访问外部总线的状态下,检测不一致时,如果在包括每个计算模块的系统中没有检测到故障(fault)时,通过调整访问的响应时间来恢复在每个计算模块中的同步,其中该访问是每个处理器通过一中断来作为同步控制指令执行的。
在优选的结构中,容错计算机系统进一步包括一容错检测器,用于监控在整个系统中故障的存在/不存在;
一总线监控器,用于监控每个计算模块的处理器对外部总线的访问并且当在各个计算模块的输出中检测到不一致时,如果故障检测器没有检测出故障时,将一中断通知每个处理器,以及一同步控制器,通过调整来自由中断引起的每个处理器的访问响应时间来再同步每个计算模块。
在另一个优选的结构中,当在各个计算模块的输出中检测到不一致时,如果故障检测器没有检测出故障时,总线监控器用预定的任务来中断每个处理器以再同步计算模块,该任务是在同步控制器中对预定资源执行访问的任务,且当从所有的处理器中接收到对该资源的访问时,同步控制器将把一响应同时传送到所有的计算模块中。
在另一个优选的结构中,提供多对总线监控器,故障检测器和同步控制器。
在另一个优选的结构中,总线监控器,故障检测器和同步控制器都在外围设备控制单元中提供,该外围设备控制单元用于控制外围设备并通过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监控在包括各个计算模块的整个系统中的故障的存在/不存在。
连接到每个计算模块上的同步控制单元701调整来自每个计算模块的访问响应时间,以使每个计算模块恢复时钟同步操作。同步控制单元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中的步骤211),将该检测通过接口信号线710,711和712进行告知以对每个处理器产生中断。
所有的处理器101,102,201,202,301和302都处在相关的中断处理中,并且将同步控制任务排队到预备队列的顶层,作为最高优先级任务,该同步控制任务是在各个计算模块100,200和300中获得时钟同步操作的再同步(图2中的步骤212)。
同步控制任务具有一个功能,即执行一个指令来访问在同步控制单元701中具体指定的资源。其后,当上述同步控制任务通过一个OS转换为执行状态时,该任务执行指令来访问在同步控制单元701中指定的资源(图2中的步骤213)。
在这个时间点上,对来自失步状态下的计算模块的指定资源的访问和来自其它锁步状态下的计算模块的指定资源的访问自然地以一个时间延迟传送到同步控制单元701中。
一旦检测到计算模块100,200和300对具体指定的内部资源的访问,当访问开始时,同步控制单元701对相关的计算模块设法不返回一个响应并等待来自所有其它计算模块的访问的到来(图2中的步骤214)。当来自所有的计算模块100,200和300的访问都被传送时,返回同时访问所有计算模块100,200和300的一响应。
响应来自同步控制单元701的响应,在各个计算模块100,200和300中的所有处理器结束执行同步控制任务(图2中的步骤215)。其后,所有的处理器继续常规的程序操作(图2中的步骤216)。
前述的操作使计算模块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中的步骤213)按照下面的方式实现:执行将指令读取到外围设备控制单元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存储在磁盘中,半导体存储器或其它记录媒介中,并从该记录媒介中装载到计算机处理设备中以控制计算机处理设备的操作,由此实现上述的每个功能。
虽然本发明已经相对于上述优选的实施模式进行了描述,但是本发明不必限定到上述实施模式,而是在它的技术思想范围内以各种形式来实现。
虽然在上述的每个实施模式中示出的结构是每个计算模块具有两个处理器,但是也可以是以完全相同的方式具有一个或三个或多个处理器功能的结构。
此外,虽然在每个实施模式中示出的是各个处理器共享一个外部总线并连接在同一总线上的情况,但是例如,它即不是将多个处理器以星状图形的形式连接到存储控制单元上的结构,也不是将形成一个计算模块的处理器物理设置在多个影响本发明效果的板上的结构。
如上所述,本发明具有下面的效果。
第一个效果是当在容错计算机系统中的某个计算模块由于除固定故障之外的其它原因脱离锁步状态时,能在极短的时间内恢复锁步状态。
这个原因是在产生失步的初始阶段,当每个计算模块的存储器还没有互相不一致时,总线监控器对处理器产生一中断来优先执行用于控制再同步的指令串的任务,由此在没有复制存储的情况下恢复同步。
第二个效果是提高容错计算机系统的利用率。这个原因是当脱离锁步时通过大大地加速再恢复的时间来急剧减少整个系统的暂停时间段。
虽然本发明已经图解并相对于其示例性的实施例作了描述,但是对本领域技术人员来说应当理解的是在没有背离本发明的精神和范围的情况下,可做出上述和各种其它变化,对其进行省略或增加。因此,本发明不应当理解为限定到上述提出的具体的实施例,而是包括在相对于所附的权利要求提出的特征所包含的范围及其等同物内能实现的所有可能的实施例。

Claims (4)

1、一种锁步同步容错计算机系统,该系统包括多个具有一处理器和一存储器的计算模块,其中每个计算模块在互相同步中执行同一指令串,所述系统包括:
故障检测器,用于监控整个系统中故障的存在/不存在;
总线监控器,用于监控每个所述计算模块的处理器对外部总线的访问,并且当在各个计算模块的输出中检测到不一致时,如果所述的故障检测器没有检测出故障时,将一中断通知每个所述处理器,和
同步控制器,通过对所述中断引起的来自每个所述处理器的访问的响应时间进行调整来再同步每个计算模块;
其中当在各个计算模块的输出中检测到不一致时,如果通过所述故障检测器没有检测到故障时,所述总线监控器用预定的任务来中断每个所述处理器以再同步计算模块,该任务是对所述同步控制器中的预定资源执行访问的任务,且
当从所有的处理器中接收到对所述资源的访问时,所述同步控制器将一响应同时传送到所有的计算模块中。
2、如权利要求1所述的容错计算机系统,其特征在于提供多对所述总线监控器、所述故障检测器和所述同步控制器。
3、如权利要求1中的容错计算机系统,其特征在于
所述总线监控器、所述故障检测器和所述同步控制器都在外围设备控制单元中提供,该外围设备控制单元控制外围设备并通过PCI桥连接到所述计算模块的外部总线上。
4、一种在锁步同步容错计算机系统中的再同步方法,该系统包括多个具有一处理器和一存储器的计算模块,其中每个计算模块在彼此同步中执行同一指令串,该方法包括步骤:
在包括所述计算模块的整个系统中检测故障的存在/不存在;
监控每个所述计算模块的处理器对外部总线的访问;
当在各个计算模块的输出中检测到不一致时,如果在系统中没有检测到故障时,将一中断通知每个所述处理器;并
引起每个所述处理器来执行时钟同步控制指令以便对来自每个处理器的访问的响应时间进行调整,由此引起每个计算模块恢复同步操作;
当在各个计算模块的输出中检测到不一致时,如果在系统中没有检测到故障时,用预定任务中断每个所述处理器,以便再同步各个计算模块,其中该任务是对预定资源执行访问的任务;
排队来自每个处理器的对所述资源的访问,和
当接收到来自所述处理器的所有访问时,响应同时来自所有计算模块的所述访问。
CNB031472990A 2002-07-12 2003-07-14 容错计算机系统及其再同步方法和再同步程序 Expired - Fee Related CN1326042C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002204305 2002-07-12
JP2002204305A JP3982353B2 (ja) 2002-07-12 2002-07-12 フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム

Publications (2)

Publication Number Publication Date
CN1495611A CN1495611A (zh) 2004-05-12
CN1326042C true CN1326042C (zh) 2007-07-11

Family

ID=29728536

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031472990A Expired - Fee Related CN1326042C (zh) 2002-07-12 2003-07-14 容错计算机系统及其再同步方法和再同步程序

Country Status (10)

Country Link
US (1) US7225355B2 (zh)
EP (1) EP1380952B1 (zh)
JP (1) JP3982353B2 (zh)
KR (1) KR100566339B1 (zh)
CN (1) CN1326042C (zh)
AU (1) AU2003208108A1 (zh)
CA (1) CA2434494C (zh)
DE (1) DE60301702T2 (zh)
ES (1) ES2247459T3 (zh)
TW (1) TWI226983B (zh)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7949856B2 (en) * 2004-03-31 2011-05-24 Icera Inc. Method and apparatus for separate control processing and data path processing in a dual path processor with a shared load/store unit
US8484441B2 (en) 2004-03-31 2013-07-09 Icera Inc. Apparatus and method for separate asymmetric control processing and data path processing in a configurable dual path processor that supports instructions having different bit widths
US9047094B2 (en) 2004-03-31 2015-06-02 Icera Inc. Apparatus and method for separate asymmetric control processing and data path processing in a dual path processor
US7529807B1 (en) * 2004-05-05 2009-05-05 Sun Microsystems, Inc. Common storage in scalable computer systems
DE102004032405A1 (de) * 2004-07-03 2006-02-09 Diehl Bgt Defence Gmbh & Co. Kg Weltraum-taugliche Rechnerarchitektur
US7308605B2 (en) * 2004-07-20 2007-12-11 Hewlett-Packard Development Company, L.P. Latent error detection
US7487395B2 (en) * 2004-09-09 2009-02-03 Microsoft Corporation Method, system, and apparatus for creating an architectural model for generating robust and easy to manage data protection applications in a data protection system
US7624302B2 (en) * 2004-10-25 2009-11-24 Hewlett-Packard Development Company, L.P. System and method for switching the role of boot processor to a spare processor responsive to detection of loss of lockstep in a boot processor
US7627781B2 (en) 2004-10-25 2009-12-01 Hewlett-Packard Development Company, L.P. System and method for establishing a spare processor for recovering from loss of lockstep in a boot processor
US7516359B2 (en) * 2004-10-25 2009-04-07 Hewlett-Packard Development Company, L.P. System and method for using information relating to a detected loss of lockstep for determining a responsive action
US7502958B2 (en) * 2004-10-25 2009-03-10 Hewlett-Packard Development Company, L.P. System and method for providing firmware recoverable lockstep protection
US7818614B2 (en) * 2004-10-25 2010-10-19 Hewlett-Packard Development Company, L.P. System and method for reintroducing a processor module to an operating system after lockstep recovery
JP2006178616A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントシステム、これで用いる制御装置、動作方法、及び動作プログラム
JP2006178636A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントコンピュータ、およびその制御方法
US20060212677A1 (en) * 2005-03-15 2006-09-21 Intel Corporation Multicore processor having active and inactive execution cores
US7590885B2 (en) * 2005-04-26 2009-09-15 Hewlett-Packard Development Company, L.P. Method and system of copying memory from a source processor to a target processor by duplicating memory writes
US7496786B2 (en) * 2006-01-10 2009-02-24 Stratus Technologies Bermuda Ltd. Systems and methods for maintaining lock step operation
JP5220281B2 (ja) * 2006-03-31 2013-06-26 日本電気株式会社 情報処理システムのコアセル変更制御方式及びその制御プログラム
WO2007143278A2 (en) 2006-04-12 2007-12-13 Soft Machines, Inc. Apparatus and method for processing an instruction matrix specifying parallel and dependent operations
US8041985B2 (en) 2006-08-11 2011-10-18 Chicago Mercantile Exchange, Inc. Match server for a financial exchange having fault tolerant operation
US7434096B2 (en) * 2006-08-11 2008-10-07 Chicago Mercantile Exchange Match server for a financial exchange having fault tolerant operation
US7480827B2 (en) 2006-08-11 2009-01-20 Chicago Mercantile Exchange Fault tolerance and failover using active copy-cat
WO2008061154A2 (en) 2006-11-14 2008-05-22 Soft Machines, Inc. Apparatus and method for processing instructions in a multi-threaded architecture using context switching
US8756402B2 (en) * 2007-09-14 2014-06-17 Intel Mobile Communications GmbH Processing module, processor circuit, instruction set for processing data, and method for synchronizing the processing of codes
CN101383690B (zh) * 2008-10-27 2011-06-01 西安交通大学 一种基于socket的容错计算机系统的网络同步方法
GB2471138B (en) * 2009-06-19 2014-08-13 Advanced Risc Mach Ltd Handling integer and floating point registers during a context switch
CN101882098B (zh) * 2009-07-10 2012-07-11 威盛电子股份有限公司 微处理器集成电路以及相关除错方法
US8645286B2 (en) 2010-02-23 2014-02-04 Prior Knowledge, Inc. Configurable circuitry for solving stochastic problems
US8058916B2 (en) 2010-04-15 2011-11-15 Xilinx, Inc. Lockstep synchronization and maintenance
EP3156896B1 (en) 2010-09-17 2020-04-08 Soft Machines, Inc. Single cycle multi-branch prediction including shadow cache for early far branch prediction
TWI541721B (zh) 2010-10-12 2016-07-11 軟體機器公司 使用指令序列緩衝器來增強分支預測效能的方法、系統及微處理器
EP3306466B1 (en) 2010-10-12 2020-05-13 INTEL Corporation An instruction sequence buffer to store branches having reliably predictable instruction sequences
GB2489000B (en) 2011-03-14 2019-09-11 Advanced Risc Mach Ltd Diagnosing code using single step execution
EP2689326B1 (en) 2011-03-25 2022-11-16 Intel Corporation Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines
WO2012135031A2 (en) 2011-03-25 2012-10-04 Soft Machines, Inc. Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines
TWI518504B (zh) 2011-03-25 2016-01-21 軟體機器公司 使用可分割引擎實體化的虛擬核心以支援程式碼區塊執行的暫存器檔案節段
TWI548994B (zh) 2011-05-20 2016-09-11 軟體機器公司 以複數個引擎支援指令序列的執行之互連結構
KR101639853B1 (ko) 2011-05-20 2016-07-14 소프트 머신즈, 인크. 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 자원들 및 상호접속 구조들의 비집중 할당
JP5699057B2 (ja) * 2011-08-24 2015-04-08 株式会社日立製作所 プログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイス
US9811338B2 (en) * 2011-11-14 2017-11-07 Intel Corporation Flag non-modification extension for ISA instructions using prefixes
KR101832679B1 (ko) 2011-11-22 2018-02-26 소프트 머신즈, 인크. 마이크로프로세서 가속 코드 최적화기
KR101703401B1 (ko) 2011-11-22 2017-02-06 소프트 머신즈, 인크. 다중 엔진 마이크로프로세서용 가속 코드 최적화기
CN102521086B (zh) * 2011-12-08 2014-07-16 上海交通大学 基于锁步同步的双模冗余系统及其实现方法
US8832720B2 (en) * 2012-01-05 2014-09-09 Intel Corporation Multimedia driver architecture for reusability across operating systems and hardware platforms
US8930674B2 (en) 2012-03-07 2015-01-06 Soft Machines, Inc. Systems and methods for accessing a unified translation lookaside buffer
US10146545B2 (en) 2012-03-13 2018-12-04 Nvidia Corporation Translation address cache for a microprocessor
US9880846B2 (en) 2012-04-11 2018-01-30 Nvidia Corporation Improving hit rate of code translation redirection table with replacement strategy based on usage history table of evicted entries
US10241810B2 (en) 2012-05-18 2019-03-26 Nvidia Corporation Instruction-optimizing processor with branch-count table in hardware
US9740612B2 (en) 2012-07-30 2017-08-22 Intel Corporation Systems and methods for maintaining the coherency of a store coalescing cache and a load cache
US9916253B2 (en) 2012-07-30 2018-03-13 Intel Corporation Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput
US9229873B2 (en) 2012-07-30 2016-01-05 Soft Machines, Inc. Systems and methods for supporting a plurality of load and store accesses of a cache
US9710399B2 (en) 2012-07-30 2017-07-18 Intel Corporation Systems and methods for flushing a cache with modified data
US9678882B2 (en) 2012-10-11 2017-06-13 Intel Corporation Systems and methods for non-blocking implementation of cache flush instructions
DE102012219180A1 (de) * 2012-10-22 2014-05-08 Robert Bosch Gmbh Recheneinheit für ein Steuergerät und Betriebsverfahren hierfür
US20140189310A1 (en) 2012-12-27 2014-07-03 Nvidia Corporation Fault detection in instruction translations
US9563579B2 (en) 2013-02-28 2017-02-07 Intel Corporation Method, apparatus, system for representing, specifying and using deadlines
US10108424B2 (en) 2013-03-14 2018-10-23 Nvidia Corporation Profiling code portions to generate translations
CN105210040B (zh) 2013-03-15 2019-04-02 英特尔公司 用于执行分组成块的多线程指令的方法
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
WO2014150991A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a reduced size register view data structure in a microprocessor
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
KR20150130510A (ko) 2013-03-15 2015-11-23 소프트 머신즈, 인크. 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법
US9792121B2 (en) * 2013-05-21 2017-10-17 Via Technologies, Inc. Microprocessor that fuses if-then instructions
US9183155B2 (en) * 2013-09-26 2015-11-10 Andes Technology Corporation Microprocessor and method for using an instruction loop cache thereof
US9952620B2 (en) * 2014-04-10 2018-04-24 Intel Corporation Time-synchronizing a group of nodes
JP6360387B2 (ja) * 2014-08-19 2018-07-18 ルネサスエレクトロニクス株式会社 プロセッサシステム、エンジン制御システム及び制御方法
US9697094B2 (en) * 2015-02-06 2017-07-04 Intel Corporation Dynamically changing lockstep configuration
TWI514148B (zh) * 2015-03-16 2015-12-21 Univ Nat Sun Yat Sen 快取記憶體
JP6436031B2 (ja) * 2015-09-18 2018-12-12 信越半導体株式会社 単結晶引き上げ装置、及び単結晶引き上げ方法
JP6083480B1 (ja) * 2016-02-18 2017-02-22 日本電気株式会社 監視装置、フォールトトレラントシステムおよび方法
US10037173B2 (en) * 2016-08-12 2018-07-31 Google Llc Hybrid memory management
US10152427B2 (en) 2016-08-12 2018-12-11 Google Llc Hybrid memory management
JP6853162B2 (ja) * 2017-11-20 2021-03-31 ルネサスエレクトロニクス株式会社 半導体装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5020024A (en) * 1987-01-16 1991-05-28 Stratus Computer, Inc. Method and apparatus for detecting selected absence of digital logic synchronism
US5956474A (en) * 1993-12-01 1999-09-21 Marathon Technologies Corporation Fault resilient/fault tolerant computing
CN1259212A (zh) * 1997-04-02 2000-07-05 通用动力信息系统公司 容错计算机系统
US6141770A (en) * 1997-05-07 2000-10-31 General Dynamics Information Systems, Inc. Fault tolerant computer system
EP1029267B1 (en) * 1997-11-14 2002-03-27 Marathon Technologies Corporation Method for maintaining the synchronized execution in fault resilient/fault tolerant computer systems

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3864670A (en) * 1970-09-30 1975-02-04 Yokogawa Electric Works Ltd Dual computer system with signal exchange system
JPH0432955A (ja) 1990-05-23 1992-02-04 Oki Electric Ind Co Ltd プロセッサ障害検出装置
JPH05298134A (ja) 1991-12-16 1993-11-12 Internatl Business Mach Corp <Ibm> コンピュータシステムにおける処理誤りの処理機構及び方法
US5832253A (en) * 1993-12-06 1998-11-03 Cpu Technology, Inc. Multiprocessors system for selectively wire-oring a combination of signal lines and thereafter using one line to control the running or stalling of a selected processor
JPH08235015A (ja) 1995-02-27 1996-09-13 Mitsubishi Electric Corp プロセッサ装置並びにプロセッサ故障診断方法
JP3241997B2 (ja) 1996-06-28 2001-12-25 富士通株式会社 情報処理装置
US5805870A (en) * 1996-06-28 1998-09-08 International Business Machines Corporation System and method for correcting clock drift in multiprocessor systems
US5875320A (en) * 1997-03-24 1999-02-23 International Business Machines Corporation System and method for synchronizing plural processor clocks in a multiprocessor system
US6175930B1 (en) * 1998-02-17 2001-01-16 International Business Machines Corporation Demand based sync bus operation
GB2340627B (en) * 1998-08-13 2000-10-04 Plessey Telecomm Data processing system
US6757847B1 (en) * 1998-12-29 2004-06-29 International Business Machines Corporation Synchronization for system analysis
JP2000200255A (ja) 1999-01-07 2000-07-18 Hitachi Ltd プロセッサ間の同期化方法及び同期回路
US6643787B1 (en) * 1999-10-19 2003-11-04 Rambus Inc. Bus system optimization
US6980617B1 (en) * 2000-11-15 2005-12-27 Advantest Corporation Reception data synchronizing apparatus and method, and recording medium with recorded reception data synchronizing program
US6480966B1 (en) * 1999-12-07 2002-11-12 International Business Machines Corporation Performance monitor synchronization in a multiprocessor system
JP2002049501A (ja) 2000-08-04 2002-02-15 Nippon Telegr & Teleph Corp <Ntt> 耐故障性システム及びその故障切り分け方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5020024A (en) * 1987-01-16 1991-05-28 Stratus Computer, Inc. Method and apparatus for detecting selected absence of digital logic synchronism
US5956474A (en) * 1993-12-01 1999-09-21 Marathon Technologies Corporation Fault resilient/fault tolerant computing
CN1259212A (zh) * 1997-04-02 2000-07-05 通用动力信息系统公司 容错计算机系统
US6141770A (en) * 1997-05-07 2000-10-31 General Dynamics Information Systems, Inc. Fault tolerant computer system
EP1029267B1 (en) * 1997-11-14 2002-03-27 Marathon Technologies Corporation Method for maintaining the synchronized execution in fault resilient/fault tolerant computer systems

Also Published As

Publication number Publication date
JP2004046611A (ja) 2004-02-12
US20040010789A1 (en) 2004-01-15
ES2247459T3 (es) 2006-03-01
US7225355B2 (en) 2007-05-29
CA2434494C (en) 2008-11-25
DE60301702D1 (de) 2005-11-03
EP1380952B1 (en) 2005-09-28
DE60301702T2 (de) 2006-07-06
EP1380952A1 (en) 2004-01-14
CN1495611A (zh) 2004-05-12
CA2434494A1 (en) 2004-01-12
KR20040007322A (ko) 2004-01-24
KR100566339B1 (ko) 2006-03-31
TW200401187A (en) 2004-01-16
AU2003208108A1 (en) 2004-01-29
TWI226983B (en) 2005-01-21
JP3982353B2 (ja) 2007-09-26

Similar Documents

Publication Publication Date Title
CN1326042C (zh) 容错计算机系统及其再同步方法和再同步程序
US7500139B2 (en) Securing time for identifying cause of asynchronism in fault-tolerant computer
EP1380953B1 (en) Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof
US7493517B2 (en) Fault tolerant computer system and a synchronization method for the same
JPH0773059A (ja) フォールトトレラント型コンピュータシステム
JP2006178616A (ja) フォールトトレラントシステム、これで用いる制御装置、動作方法、及び動作プログラム
JP4182948B2 (ja) フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法
JP4560074B2 (ja) 仮想計算機システム及び同システムにおける仮想計算機復元方法
JP2004046455A (ja) 情報処理装置
JP2001175545A (ja) サーバシステムおよび障害診断方法ならびに記録媒体
JPWO2004040451A1 (ja) システムコントローラ、コントロールシステムおよびシステムコントロール方法
JP2732668B2 (ja) 二重化制御装置
JP3903688B2 (ja) バンク切替システム
JP3438986B2 (ja) 多重化コンピュータシステムおよび障害回復方法
JPH05216855A (ja) マルチcpu制御方式
JPH07200334A (ja) 二重化同期運転方式
JPH0126096B2 (zh)
JP2815730B2 (ja) アダプタ及びコンピュータシステム
JPH11259439A (ja) ファイル排他制御処理装置及びその障害情報収集システム
JPS6143739B2 (zh)
JPH04211841A (ja) 二重化処理装置
JPH0415858A (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
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070711

Termination date: 20120714