CN1755660A - 冗余处理器中的诊断存储器转储方法 - Google Patents

冗余处理器中的诊断存储器转储方法 Download PDF

Info

Publication number
CN1755660A
CN1755660A CN 200510107155 CN200510107155A CN1755660A CN 1755660 A CN1755660 A CN 1755660A CN 200510107155 CN200510107155 CN 200510107155 CN 200510107155 A CN200510107155 A CN 200510107155A CN 1755660 A CN1755660 A CN 1755660A
Authority
CN
China
Prior art keywords
processor
processor elements
logic
data
lamellar body
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.)
Granted
Application number
CN 200510107155
Other languages
English (en)
Other versions
CN1755660B (zh
Inventor
W·F·布鲁克尔特
J·S·克莱卡
J·R·斯穆伦
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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
Priority claimed from US10/953,242 external-priority patent/US20050240806A1/en
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN1755660A publication Critical patent/CN1755660A/zh
Application granted granted Critical
Publication of CN1755660B publication Critical patent/CN1755660B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

多个冗余的松散耦合处理器元件(102)可作为一个逻辑处理器(1006)来操作。一个逻辑检测所述逻辑处理器(1006)的暂停条件,并且响应于所述暂停条件,重新集成并开始在数目小于总数的处理器元件(102)中操作,使得一个处理器元件不工作。所述逻辑还把数据从不工作的处理器元件缓冲到重新加载的工作的处理器元件(102)中,并将所缓冲的数据写入到存储器以供分析。

Description

冗余处理器中的诊断存储器转储方法
技术领域
本发明涉及一种计算设备和接口,更具体而言涉及到多个冗余的处理器。
背景技术
系统可用性、可伸缩性和数据完整性都是企业体系的基本特性。在运用诸如证券业务管理、信贷和提款卡系统、电话网等等之类的应用的企业系统的金融、通信及其它领域中强制要求具有不间断(nonstop)性能能力。高度可靠的系统往往是在具有高金融成本或高人员成本的应用中、在大规模伸缩的环境中和在不能容忍储运损耗和数据损坏的情况下实现的。
在连续可用的系统中,用户希望并期望端对端的应用可用性,这是一种在可允许的响应时间内实现期望的操作的能力。期望一种可伸缩系统能够实现近100%的线性可伸缩性,使得按当将第n个处理器添加到集群中时所完成的有用功的量实质上与当添加第二个、第三个或额外的处理器时所实现的递增的工作量相同的方式,能够从几个处理器扩大至成千个处理器。
高度可用和可靠的系统的一个方面就是分析故障事件的能力,能对这类故障条件进行处理和可能的预防。在计算系统中诊断系统疑难的有用工具是存储器转储,即在故障期间由操作系统产生的输出文件,供在确定故障原因时使用。
令人遗憾的是,诊断信息的捕获、处理和存储均可能会影响到系统的性能和可用性。对于高级的、复杂的或大型的系统来说,诊断信息的捕获和处理能够持续许多分钟或者可能是许多小时,由此而损害了系统可用性。
各种技术被使用来减少写入调试信息过程中所花费的时间,而如果发生致命错误,则会限制存储崩溃转储文件的存储空间。例如,可以减少所存储的调试信息以便仅仅覆盖操作系统或内核级存储器,这使得能够进行几乎所有的内核级系统错误的分析。令人遗憾的是,内核级系统转储保持足够大以致损害了可用性。可以获得小得多得多的存储器转储以仅仅覆盖最小量的基础级调试信息,典型来讲也仅足以识别一个问题。
发明内容
依照计算系统的一个实施例,多个冗余的、松散耦合处理器元件可作为一个逻辑处理器来操作。一个逻辑检测该逻辑处理器的暂停(halt)条件,并响应于该暂停条件,重新集成(reintegrate)数目小于总数的处理器元件并开始它们的操作,使得至少一个处理器元件保持不工作。所述逻辑还把数据从不工作的处理器元件缓冲到已重新加载的工作的处理器元件中,并且将缓冲的数据写入到存储器中以供分析。
附图说明
通过参考下列说明书和附图能够对与结构和操作方法有关的本发明的实施例获得最好的理解,其中:
图1是描绘计算系统的一个实施例的示意性框图,所述计算系统包括被排列并作为一个逻辑处理器操作的多个冗余的、松散耦合处理器元件;
图2是举例说明用于执行非对称存储器转储操作的操作序列的一个实施例的流程图;
图3是示出用于执行诊断存储器转储操作的方法的可选实施例的流程图;
图4A、4B和4C是分别示出计算机系统的实施例的示意性框图;
图5是描绘另一个同步单元的实施例的示意性框图;
图6是示出以双元组方式操作的三个处理器片体(slice)的功能性视图的示意性框图,其中一个处理器片体被省略掉运行操作系统;
图7是举例说明用于执行诊断存储器转储的技术的一个实施例的块时序图;
图8是举例说明处理器节点中的处理器复合体的一个实施例的示意性框图;
图9是示出包含三个处理器片体的处理器复合体的一个实施例的示意性框图;和
图10A和10B是描绘处理器复合体和逻辑处理器的实施例的示意性框图。
具体实施方式
可以使用各种技术来捕获计算系统的存储器转储。在一个示例中,由多个冗余处理器组成的计算系统能够通过让(例如正在运行支持诸如可通过加利福尼亚州的Palo Alto的Hewlett Packard公司获得NonStop KernelTM之类的多冗余处理器的操作系统的)中央处理单元拷贝当前不执行的中央处理单元的存储器来捕获存储器转储。在特定的示例中,非正在执行的处理器或″停机(down)″处理器能够运行暂停状态服务(Halted State Service HSS)操作系统。正在执行的处理器将存储器转储数据从非正在执行的处理器拷回至正在执行的处理器的存储器中,并且随后将该数据写入到诸如磁盘文件之类的存储器装置中。
在特定的示例中,能够使用预先快速存储器转储(pre-Fast-Memory-Dump预先FMD)技术,在其中正在运行的处理器从停机处理器存储器中拷贝原始数据并且在正运行的处理器中压缩所述原始数据。在可选的后置FMD方法中,原始数据是例如在HSS下的停机处理器中加以压缩的,并且所压缩的数据是经由诸如ServerNetTM之类的网络通信移动到正在运行的处理器的,所述正在运行的处理器将所述压缩数据写入到诸如存储器转储盘之类的存储器中。另一种可选的快速存储器转储改进方案涉及只将一部分存储器(压缩数据或未压缩数据)从停机处理器拷贝到正在运行的处理器,然后将操作环境重新加载到所述一部分存储器以便开始执行,然后在将存储器返回给运行系统的重新加载的结束之后拷贝其余的存储器。
所描述的转储技术在重新加载处理器之前例如先通过将存储器拷贝到系统交换文件或特定转储文件中来使用存储内容的捕获。可以通过下列操作来减少拷贝时间:例如通过拷贝一部分存储器并仅仅重新加载到那个已被拷贝的部分中,接着在重新加载处理器之后再拷贝其余数据,在拷贝结束之后将存储器返回至通常的使用状态。所述方法减少了时间花费,且因此减少了捕获和存储存储器转储数据的系统停机时间,但是却显著地影响了处理器的性能,因为只有存储器的一个子集可用于通常的操作。在可以开始通常操作之前,该技术还涉及到显著的时延。
在说明性的示例性实施例中,逻辑处理器可以包含运行相同逻辑指令流的两三个处理器元件。二元模块冗余(dual-modular redundantDMR)逻辑处理器和/或三元模块冗余(tri-modular redundant TMR)逻辑处理器能够捕获并保存逻辑处理器的存储器转储,且能够并发地在该样本逻辑处理器上运行操作系统。在计算系统暂停条件之后开始的完全并行技术中,重新加载数目小于总数的处理器元件并使之工作,并且使得至少一个处理器元件保持在不运行或″停机″条件下,不集成到所述逻辑处理器中。例如,利用不同的数据交换直接存储器访问(Direct Memory Access DMA)转送,来从停机处理器元件中拷贝存储器转储数据。
参照图1,一个示意性框图描绘了计算系统100的实施例,所述计算系统包括被排列并作为一个逻辑处理器操作的多个冗余的、松散耦合处理器元件102。一个例如在处理器元件102中可执行的逻辑,检测所述逻辑处理器的暂停条件,并且响应于该暂停条件,重新加载数目小于总数的处理器元件并开始它们的操作,使得至少一个处理器元件保持不工作。所述逻辑还把数据从不工作的处理器元件缓冲到已重新加载的工作的处理器元件中,并且将所缓冲的数据写入到存储器中以供分析。
所述松散耦合处理器102形成多个逻辑处理器的组合系统,其中所述单独的处理器102确保计算的数据完整性。所述说明性的计算系统100作为能够连接于网络104的节点来进行工作。一个适宜的网络104的示例是二元结构的Hewlett Packard ServerNet clusterTM。典型地,针对故障隔离、轻微故障域和大规模并行结构来配置计算系统100。所述计算系统100是即使在处理器故障条件下也能维护非单个硬件故障点的三元组服务器。所述说明性的配置具有三个实例:连接于四个逻辑同步单元108的处理器片体106A、106B、106C。示出了所述逻辑同步单元108连接于两个网络结构104。
逻辑处理器中的单独逻辑计算是在三个物理处理器中分三次独立地执行的。计算结果的单独拷贝最终产生用于输入/输出或进程间通信的输出消息,其被转发给逻辑同步单元108并相互检查一致性。如果输出消息的三个拷贝中的任何一个不同于其它两个的话,则所计算的不同拷贝就″在未来计算的表决中败选″,并且继续对逻辑处理器的剩余实例进行计算。因此,即使在一个处理器故障之后,也没有单个故障点继续进一步的计算。在合宜的时间,错误的处理元件能够被联机更换,与其余的处理元件重新集成在一起,将计算系统100恢复成完全三元组的计算。
在说明性的配置中,分别将单独的处理器片体106A、106B、106C中的每一个与存储器110A、110B、110C和重新集成元件112A、112B、112C相关联。典型地,所述数据可以被缓冲或临时存储在与正运行的处理器片体相关联的存储器中。单独的处理器片体106A、106B、106C还包括一个例如能在处理器元件102上执行的程序或其它形式的控制逻辑这样的逻辑,该逻辑在所述数据被缓冲之后重新加载不工作的处理器元件或片体并将其重新集成为逻辑处理器。
人们希望一种非对称的数据转储以实现深入分析故障条件的原因。如果在不损害性能和可用性的情况下来做出采集,则最有可能收集到诊断信息。
所述计算系统100能够依据逻辑处理器暂停条件来激活诊断存储器转储信息的捕获。诊断存储器转储收集逻辑重新加载逻辑处理器,但是在该重新加载中不包括所有处理器片体106A、106B、106C。在一些实施方式中和在一些情况中,任意地选择被选定省略掉重新加载的那个处理器片体。在其它的实施方式或情况中,可以根据特定的标准来选择那个省略的处理器片体,所述特定标准比如是测量的单独片体性能、特定处理器片体的能力和/或功能方面的变化,等等。那个省略掉重新加载的处理器片体被维护在停止条件下,在该条件下,网络通信业务不允许进入到被停止的处理器元件102中,也不允许其作为输出的。
不论处理器元件是因何原因而被暂停的,所述元件都可以保持停止,并且在重新集成所述元件之前可以先转储所述相关联的存储器。
参照图2,一个流程图举例说明了用于执行非对称存储器转储操作200的操作序列的实施例。依据逻辑处理器的暂停条件202,响应逻辑或程序在数目不到总数的处理器片体中重新加载操作系统204。在特定的示例中,一个处理器片体被省略掉重新加载,而在其它两个处理器片体中重新加载操作系统。执行一种用于重新加载数目小于总数的处理器片体的技术的方式是:通过发出一个命令以使逻辑处理器处于″准备好重新加载″状态,该状态表明要省略掉重新加载哪个处理器片体和/或处理器元件。被省略的处理器片体或处理器元件在表决中败选,并且重新加载三元模块冗余(TMR)逻辑处理器中其余的两个处理器元件或二元模块冗余(DMR)逻辑处理器中的剩余的单处理器元件。选择那个被省略的处理器的标准可以是任意的,或是以各种条件和环境为基础的。
在部分重新加载结束之后,自动地启动(步骤206)并行接收转储(parallel receive dump PRD)程序。PRD程序的一条独立指令流典型地在所有重新加载的处理器片体中执行,不过其它实现方式也可以从位于可选位置的逻辑执行。
所述并行接收转储(PRD)程序创建(步骤208)转储文件并分配(步骤210)缓冲器(典型地,是与处理器片体相关联的存储器)。典型地,将处理器元件的所有体系结构状态保存在存储器中,使得信息的独立收集是多余的。
并行接收转储(PRD)程序在与执行PRD程序的特定处理器片体相关联的存储器的物理分区上打开(步骤212)一个存储窗口。并行接收转储(PRD)程序在整个所述分区上移动(214)该窗口。在说明性的实施例中,逻辑处理器的所有处理器元件总体上都具有完全相同的分区,使得该窗口也描述那个被省略的处理器元件的分区。
并行接收转储(PRD)程序执行一个相异数据直接存储器访问(direct memory access DMA)216操作,该操作经由DMA将数据从一个处理器片体传送到另一个处理器片体。一个具体的实施例能够使用源存储器地址的高阶地址位来标识那个特定省略的处理器片体和/或处理器元件。例如,使用ServerNetTM就可得到四个存储器视图,包括作为整体的逻辑处理器、处理器片体A、处理器片体B和处理器片体C。直接存储器访问装置从那个省略的处理器片体中读取数据,并且将该数据拷贝到例如运行NonStop KernelTM的两个正执行的处理器片体的存储器当中的缓冲器中。
在DMA操作的特定实施方式中,源物理地址高阶位标明一个省略掉重新加载的特定处理器片体。用于DMA操作的目标缓冲器位于与运行操作系统的所重新加载的处理器片体相关联的存储器当中,而不是位于与那个停止的处理器片体相关联的存储器当中。
执行非对称存储器转储操作200的计算系统还可以包括:按照故障或服务条件重新启动和重新同步化多个处理器元件的重新集成逻辑。一个重新集成过程可在至少其中一个操作的处理器元件上执行,并且延迟不工作的处理器元件的重新集成直到完成转储处理为止。
当用于将存储器转储转送到正执行的处理器片体中的缓冲器中的输入/输出操作结束时,并行接收转储程序将所述数据压缩(步骤218)成压缩转储格式,并且将压缩数据写入(步骤220)到存储装置(例如外部盘存储器上的转储文件)中。压缩的转储数据的转送类似于预先快速存储器转储(预先FMD)技术接收转储操作的转储操作。
当并行接收转储程序已经完成拷贝、压缩并且已经将转储数据写入到存储器中时,所述并行接收转储程序将窗口对物理存储器关闭(步骤222),关闭(步骤224)存储文件,并且启动(226)转储的处理器片体的重新集成。
那个省略的处理器片体被重新集成228,然后转储操作结束。
参照图3,一个流程图示出了用于执行诊断存储器转储操作300的方法的可选实施例。当处理器暂停时,可以取用处理器存储器内容的诊断转储以确定暂停条件的原因。包含多个冗余的松散耦合处理器元件的处理器被称作逻辑处理器。当逻辑处理器暂停时,可以采取诊断转储,而不延迟逻辑处理器的重新加载(-返回至服务-),例如通过重新加载多个松散同步化处理器元件中所有的处理器元件,除了一个处理器元件以外,使得这一个处理器不改变或″停机″,直到重新加载所述逻辑处理器为止。
由于暂停条件的原因,而调用诊断存储器转储操作(步骤300)。所述条件使得其中一个逻辑处理器暂停,而其它逻辑处理器继续运行并且不需要重新加载。将数据从那个暂停的逻辑处理器转储到正运行的逻辑处理器之一上,并且将转储数据写入诸如磁盘之类的存储器。接着重新加载那个暂停的处理器。仅仅暂停一个逻辑处理器并且仅仅发生一次重新加载。在逻辑处理器的重新加载中,在该逻辑处理器中产生操作系统的新副本。为了重新集成处理器元件,将一个处理器合归回到正运行的逻辑处理器中。
所述诊断存储器转储方法300能够在可执行逻辑中实现,所述可执行逻辑诸如执行于处理器元件中或者在其它的控制元件中的计算机程序或其它操作码。所述操作起始于多个冗余处理器元件中的至少一个处理器元件的暂停条件的检测(步骤302)。在特定的示例中,一个系统可以实现指向各种故障和工作条件的链表的指针,该指针使得执行对于特定条件从服务逻辑开始。各种条件都可以唤起产生诊断存储器转储的响应。称为″停机处理器元件″的一个处理器元件被维护在存在于所述暂停条件下的状态(步骤304),并且重新加载(步骤306)其它处理器元件并使之能够开始执行,例如重新启动诸如HewlettPackard的NonStop KernelTM之类的操作系统。用于启动对暂停条件的响应的一种技术是发出一条命令,以使逻辑处理器置于″准备好重新加载″的状态中,在所述状态下该命令指定要省略掉重新加载的处理器元件。所述命令使得那个被省略的处理器元件″在表决中败选″,并且重新加载剩余的处理器元件以供执行。
将维护在暂停条件下的停机处理器的状态拷贝(步骤308)到存储器中,而已重新加载的其它处理器继续执行。例如,一旦重新加载了除停机处理器元件以外的那些处理器元件结束,所述已重新加载的处理器元件能够自动地启动一个创建转储文件的并行接收转储程序,在与已重新加载的处理器的相关联的存储器中分配缓冲器以供在临时存储存储器转储数据的过程中使用,并且在存储缓冲器中保存所有处理器元件的体系结构状态。在一些实施例中,能够启动一个特定的直接存储器访问(DMA)操作,该操作将所述停机处理器元件的存储器拷贝到正运行的处理器元件中的缓冲器当中。所述相异数据直接存储器访问(DMA)操作运用自我引导的写入,借此让一个指定的源存储器地址标识那一个维护在暂停条件下的处理器元件。
当结束相异DMA操作的输入/输出操作时,所述并行接收转储程序将数据压缩成转储格式,将压缩后的存储器转储写入(步骤312)到存储装置中,并且关闭存储窗口。相异数据DMA操作能用来将存储器转储从缓冲器写入(312)到存储装置(例如外部磁盘存储装置)以供后续的分析。
在将数据转储从停机处理器拷贝到正执行的处理器(步骤308)并且所述数据转储可能与存储器转储并发地被从停机处理器转送到存储器(比如转储文件和/或临时的缓冲器)中之后,将所述停机处理器元件重新集成(步骤310)到逻辑处理器中。
所举例说明的技术使逻辑处理器能遵循暂停条件立即重新使用,这消除或避免了将诊断转储存储器拷贝到磁盘中所涉及到的延迟。所举例说明的技术还能够作为高度可用的系统来运行,这消除或避免了从收集诊断信息的服务中删除逻辑处理器,所述诊断信息的收集可能会消耗量相当大的时间。通常,数据到磁盘的转送可能会消耗几分钟,这在高度可用的系统中是量相当于大的时间。所举例说明的技术有效地将等待时间减少到零。
参照图4A、41B和4C,这些示意性框图分别示出了一个实施例或计算机系统400,例如来自加州Palo Alto的惠普公司的容错NonStopTM体系结构计算机系统,还示出了单独的处理器片体402的两个视图。所举例说明的处理器片体402是具有专用存储器和时钟振荡器的N向计算机。所述处理器片体402具有多微处理器404、存储器控制器/IO接口408和存储子系统406。所述处理器片体402还包含重新集成逻辑410和表决逻辑的接口。
如果发生暂停条件,则逻辑处理器就暂停。所述计算机系统400是由多个逻辑处理器组成的完整结构。已暂停的逻辑处理器使正常的操作系统(例如NonStop Kernel系统)下的运行停止,并且进入一个仅仅允许被简化功能的状态。在一个示例中,暂停条件令系统在暂停状态服务(HSS)下运行。诸如在控制逻辑中操作的软件或固件之类的故障监控逻辑检测暂停条件,并且从处理器片体402中选出一个省略掉重新加载的处理器片体。在各种实施方式中,可以任意地或根据功能或操作特性来选择所省略的处理器,所述操作特性比如是与不同的处理器片体402相关联的操作性能考虑因素。所述控制逻辑将操作系统重新加载到未选定作为省略的处理器片体的存储器中,使得这些处理器片体返回到执行。所省略的处理器片体保持无效或″停机″状态,继续在暂停状态服务(HSS)下进行操作。
那些已重新加载的处理器片体请求从所省略的处理器存储器中捕获存储器转储,而所省略的处理器片体在功能上保持与正操作的处理器片体相隔离。那些已重新加载的处理器开始一个拷贝过程,该拷贝过程例如在那些已重新加载的处理器上执行,并将存储器转储数据从所省略的处理器存储到与正操作的处理器片体402相关联的存储器406中。所述诊断转储数据经由通过逻辑同步单元414的路径从所省略的处理器片体传递到已重新加载且正操作的处理器片体。所述逻辑同步单元414是一个输入/输出接口和同步单元,它可操作来从所省略的处理器片体中提取存储器转储数据,该所省略的处理器片体包含数据的副本和与该数据相关联的控制描述符的副本。所述重新集成逻辑410通常操作在处理器片体故障的条件下,以便例如通过将一个处理器片体的存储器写操作复制到处理器片体的冗余组合的其它处理器片体的存储器中,来将故障片体重新集成到冗余的片体组中,。
在特定的示例中,在一个或多个已重新加载的和正在运行的处理器片体中执行的软件执行非对称输入/输出操作,这些操作将存储器转储数据从所省略的处理器片体拷贝到正在操作的和已重新加载的处理器片体的两个当中的存储缓冲器中。因此,两个已重新加载的处理器片体402在返回到三元组操作之前临时在双元组模式下操作,同时获取和存储诊断转储信息。
在特定的实施例中,所述微处理器404可以是共享分区存储器系统的标准Intel Itanium处理器系列的多处理器。每个微处理器都可以每小片具有一个或多个核心。具有N向对称多处理器(symmetrical multi-processor SMP)的处理器片体402支持N个逻辑处理器。每个逻辑处理器都具有单独的系统映像并且不与任何其它处理器共享存储器。
重新集成逻辑410能够将存储器写操作复制到本地存储器中,并经过重新集成链路412向另一个片体发送这些操作。所述重新集成逻辑410可配置用于从重新集成链路412接收存储器写操作。所述重新集成逻辑410可以在I/O桥/存储器控制器408与例如双列直插式存储器模块(Dual In-line memory Module DIMM)这样的存储器406之间进行接口连接。作为选择,可以把重新集成逻辑410集成到I/O桥/存储器控制器408中。使用重新集成逻辑410来通过使存储器状态与其它处理器片体协调一致,使一个新的处理器片体402联机。
在举例说明的示例中,所述计算机系统400使用称为片体402的松散锁步的多处理器框,每一个片体都是具有微处理器404、高速缓存、存储器406和到输入/输出线的接口408的全功能计算机。为数据完整性而比较来自多处理器片体402的所有输出路径。通过继续操作来透明地处理一个片体402中的故障,而其它片体402继续进行操作。所述计算机系统400以″松散锁步″方式来执行,在所述方式下冗余的微处理器404运行相同的指令流并且间歇地、不是逐周期地而更确切地讲是在处理器片体402执行输出操作时比较结果。松散锁步操作防止微处理器404中的错误恢复例程和次要的非决定性条件导致锁步比较错误。
参照图5,一个示意性框图描绘了包含逻辑网关514的同步单元500的实施例,所述逻辑网关防止了相异操作传播到输入/输出流。所述同步单元500能够通过串行输入输出总线而连接于一个、两个或三个处理器片体504。所述同步单元500对输入/输出事务执行事务级别检查,并且将数据转发到宿主方的输入输出装置522,例如主机总线适配器或存储阵列网络(storage array network SAN)控制器。同步化引擎520使多个处理器片体504能同步化并交换诸如中断数据之类的异步数据,并且还可以控制在片体之间专用数据和相异数据的交换。
逻辑网关514具有两个独立的表决子单元,一个用于表决编程的输入/输出(programmed input/output P10)读和写事务516,而第二个用于表决直接存储器访问(DMA)读出取响应518。所述直接存储器访问(DMA)读出响应子单元518验证输入/输出控制器启动的DMA操作或来自存储器的响应,并且利用执行表决写操作的处理器来对所读出的数据执行检查。由输入/输出控制器522发启DMA写入业务,并将其复制到所有参与的处理器片体504。由输入/输出控制器522发启DMA读取业务。将DMA读请求复制到所有参与的片体504。
参照图6,一个示意性框图举例说明了三个处理器片体600A、600B和600C的功能性视图。逻辑网关支持单个片体源的读取事务,在其中仅仅从处理器中转送一个处理器片体的读出响应,以实现对存储器转储操作的执行。例如,单个片体源的读取能用来在路径608中将数据从所省略的处理器片体存储器610转送到正执行的处理器片体中的存储器612和614。
参照图7,一个块时序图举例说明了用于执行诊断存储器转储700的技术的实施例。所述计算系统以三元组模式702来运行,在该模式下三个单独的处理器片体冗余地执行公共指令流。暂停条件704终止处理器片体的执行和所有片体到暂停状态服务(HSS)中的进入。选择一个处理器片体以省略掉以双元组方式运行处理器片体,并且重新加载(步骤706)未选作要省略的两个处理器片体。在重新加载之后,这两个处理器片体以双元组方式运行操作系统(步骤708)。在重新加载结束并且处理器片体以双元组方式运行之后,一个拷贝过程例如在逻辑同步单元中开始(步骤710),所述逻辑同步单元运作为一条路径,用于在接收自正运行的处理器片体的控制信息的管理下把数据从所省略的处理器片体存储器拷贝到正运行的处理器片体的其中之一或两者中的缓冲存储器。可以通过扫描所省略的处理器片体存储器的整个存储器分区来拷贝数据。当诊断的转储数据拷贝结束(步骤712)时,就开始两个正运行的处理器片体与所省略的处理器片体之间的重新集成(步骤714),当完成集成之时,就实现了三个处理器片体的三元组模式操作(步骤716)。
参照图8,一个示意性框图举例说明了处理器节点800中的处理器复合体802的实施例。计算机系统在多个逻辑处理器上运行单个应用,每一个逻辑处理器都由不同处理器板上的不同微处理器来执行相同的指令流。单独的处理器复合体802实现了多个逻辑处理器。举例说明的处理器节点800具有三个处理器复合体802,其中每一个都具有四个逻辑处理器,从而整个节点800具有十二个逻辑处理器。在示例性的实施方式中,处理器间通信和处理器到IO的通信可以使用冗余系统区域网(system area network SAN)804。处理器复合体802中的单独的逻辑处理器具有到SAN 804的接口806。逻辑处理器使用SAN 804,用于处理器间的通信和与共享的输入/输出(I/O)适配器808之间的连接。
参照图9,一个示意性框图举例说明了包含三个处理器片体以及N个表决块908和系统区域网络(SAN)接口910的处理器复合体900的实施例,所述三个处理器片体为片体A 902、片体B 904和片体C 906。表决块N的数量是处理器复合体900中所支持的逻辑处理器的数量。处理器片体902、904、906举例说明是多处理器计算机,其包含高速缓存、存储系统、时钟振荡器等等。每个微处理器都能够运行来自不同逻辑处理器的不同指令流。所述N表决块908和N个SAN 910相互成对,并且都包含在N个相应的逻辑同步单元(logical synchronization unitLSU)912内。举例说明的处理器复合体900的每个逻辑处理器都具有一到两个逻辑同步化块912,所述逻辑同步化块具有相关联的表决块单元908和SAN接口910。
在操作期间,通常将处理器片体A 902、B 904和C 906配置成以松散锁步方式执行的多个三元模块逻辑处理器,其带有在将数据写入系统区域网络914中之前由表决单元908所比较的I/O输出。
术语处理器复合体900只是描述性术语,而未必限定包含在单个外壳内的系统。处理器复合体总体上并不是单个现场可替换单元。在典型的最低配置结构中,一个现场可替换单元可以包含LSU和一个片体。
表决单元908是从未经检查的域的逻辑同步化块912跨越到自我检查域的操作和数据的逻辑网关。由表决单元908按照接收的次序来对寻址自我检查的域的DMA读出数据和PIO读和写请求进行检查。不允许这些操作互相传递,并且在允许下一个开始之前结束。此外,还按接收到的次序检查DMA读出响应数据,然后将其转发到系统区域网络接口910,例如外设部件互连扩展(peripheral component interconnectextended PCI-X)接口。并行地处理PIO请求和DMA读出响应,而在这两个流之间对于次序不作强制要求也不做检查。
与图9结合地参照图4,处理器复合体包含重新集成链路412,用于将存储器内容从运行的一个或者多个片体拷贝到不工作的或新添加的片体上。在通过重置片体并返回到利用其它正运行的片体进行操作来为恢复提供服务的条件下,在出现一些错误操作或补救操作之后使用重新集成。在各种实施例中,重新集成链路412可以在处理器片体内的单个处理器元件、多处理器元件或所有处理器元件的存储器上进行拷贝。
参照图10A,一个示意性框图描绘了处理器复合体1000的实施例。在这里把处理器元件1002定义为执行运行在单个处理器片体1004上的单独指令流的硬件。可以把举例说明的处理器复合体1000视作为一个矩阵,具有表示三个处理器片体1004的三列A、B和C,以及表示N个逻辑处理器的N行。在该示意图中,注释PEA3是指作为片体A中的第三微处理器的处理器元件。所述处理器元件1002是在一个处理器片体1004上的一个逻辑处理器,例如一个正在执行一条指令流的逻辑处理器。
例如,如果处理器片体1004中使用的微处理器具有多个核心,那么微处理器小片具有多处理器核心,每一个都运行独立的指令流。术语处理器元件是指单个核心。
参照图10B,一个示意性框图举例说明了描绘逻辑处理器1006的处理器复合体1000的实施例。在处理器片体1004(例如N向SMP处理器片体)内,使每条指令流关联于不同的逻辑处理器1006。每个逻辑处理器1006都能够执行操作系统(例如来自加州Palo Alto的惠普公司的NonStop Kernel(NSK)TM操作系统)的处理器专用拷贝。在处理器片体1004内是N个逻辑处理器1006,这N个逻辑处理器相互既不共享专用存储器又不共享外围存储器,而相反都用完了相同的物理上共享的存储器。除分割处理器片体存储器的少量初始化代码之外,每个逻辑处理器与来自相同存储器的不同区域中的其它逻辑处理器相独立地运行。
所述逻辑处理器1006是由一个或多个处理器元件1002形成的,例如在举例说明的实施例中是三个,这取决于可用的处理器片体1004的数量。单元组逻辑处理器每个逻辑处理器仅仅具有一个处理器元件(processor element PE)。二元模块冗余(DMP)逻辑处理器每一个逻辑处理器具有两个处理器元件(PE)。三元模块冗余(TMR)逻辑处理器具有三个。逻辑处理器1006中的每个处理器元件1002都以松散锁步操作的方式运行相同的指令流,并且在数据输入/输出(I/O)操作期间比较来自多个处理器元件的输出数据。
再次与图9、10A和10B结合地参照图5,逻辑同步单元(LSU)500在到系统区域网络914的容错接口中充当逻辑处理器1006的一部分,并且执行逻辑处理器1006的处理器元件1002的表决和同步化。在举例说明的实施方式中,每个逻辑同步单元500仅仅被单个逻辑处理器1006控制和使用。
在举例说明的实施例中,一个或两个逻辑同步单元500与一个、两个或三个处理器元件1002相组合,以在逻辑处理器1006中创建变化的容错度。作为选择,一个系统可以被配置成:每个逻辑处理器1006具有第二个逻辑同步单元500。
所述逻辑同步单元500可以使用完全自我检查逻辑。所述逻辑同步单元500驻留在复制的处理器片体902、904、906和系统区域网络914之间,并且在一些实施方式中,可以不必比较数据以例如为处理器片体保持数据完整性。因此,可以在逻辑同步单元500中使用适当的冗余技术以确保数据完整性和故障隔离。
表决逻辑908将处理器片体902、904、906连接于SAN接口910,并为逻辑处理器提供同步化功能。更具体而言,表决逻辑908将来自编程的输入/输出(P10)读和写的数据与来自于每个处理器元件的逻辑同步单元912中的寄存器进行比较。所述比较称为表决,并且确保只把正确的命令发送给逻辑同步单元逻辑。表决逻辑908也从处理器片体存储器中读取出站数据,并在将该数据发送到系统区域网络(SAN)之前比较结果,以确保出站SAN业务只包含计算的数据或由逻辑处理器中的所有处理器元件通过表决而协商一致的数据。表决逻辑908还将从系统区域网络和逻辑同步单元912中的寄存器中读取的程序控制输入/输出(P10)数据复制并发布到每个处理器元件。表决逻辑908还将来自系统区域网络的入站数据复制并发布到每个处理器元件。表决逻辑908能够提供日期时间支持,以使处理器片体能同时读取相同的日期时间值。所述表决逻辑908支持聚集操作,以便所有处理器片体都能够周期性地检查相互的同步性,并令一个或多个处理器元件等待达到同步。所述表决逻辑908还支持非对称数据交换缓冲和片体间的中断能力。
如图5中的逻辑网关514所示的表决逻辑,包含接口逻辑(例如编程的输入/输出(PIO)516和直接存储器访问(DMA)读取接口518)和状态逻辑。状态逻辑指定非对称状态或者对称状态。非对称状态对于一个处理器元件504而言是特定的。对称状态对整个逻辑处理器是公共的。处理器元件特定的逻辑和数据的示例是聚集寄存器和如同步化引擎520所示的逻辑、相异的数据交换缓冲器、以及片体间中断。对非对称逻辑的并行读和写操作是来自于单个处理器元件504的。不表决或比较对异步寄存器的处理器元件启动的读和写操作。仅仅将数据送回请求所述操作的特定处理器元件。
逻辑网关514近乎同时地将数据转发到处理器元件存储器506。然而,处理器元件504不以恰如其分的锁步方式执行,以便使得数据可以相对于特定处理器元件504的程序执行或迟或早到达存储器506。由于直到接收到达通知以后才允许SAN程序设计模型访问入站缓冲器,因而处理器元件之间不会产生数据分歧。
系统区域网络(SAN)接口522通常用于所有输入/输出、存储器和处理器间通信。所述SAN接口522通过逻辑网关514与三个处理器片体相通信。系统区域网络(SAN)业务传递到逻辑处理器而不是单独的处理器元件并从其传递过来。所述逻辑网关514将来自系统区域网络的数据复制到参与逻辑处理器的所有处理器元件504的存储器中。所述逻辑网关514还执行表决操作,在将来自片体的数据传递到SAN接口之前比较该数据。
在举例说明的配置结构中,每个逻辑处理器都具有专用的SAN接口。为了避免可能会影响多个逻辑处理器的故障或出错,可以实施冗余的执行路径以避免单个故障使多个逻辑处理器失效。
所述系统根据能实现高可用性的松散锁步容错模型来执行。所述系统能通过松耦合的集群软件来容忍硬件和许多软件故障,所述集群软件能够将工作负载从失效处理器转移到集群中的其它处理器上。所述模型容许只影响单个处理器的单个硬件故障以及软件故障。所述模型采用处理器自检并在将有故障数据写入持久性存储器或传播到其它处理器中之前立即停止。
在多片体系统上的故障或服务操作之后,重新集成一个或者多个新的处理器,包括重新启动并重新与现有运行着的处理器同步化。利用现有的一个或者多个处理器来恢复处理器存储器状态并返回到松散锁步操作的步骤称为重新集成。不同于逻辑处理器故障,多个冗余的硬件故障以及后续的替换或重新启动的硬件的重新集成对于应用软件而言是检测不出来的。重新集成是将附加的处理器片体并入正在工作的逻辑处理器中的一个或多个冗余片体中的应用透明的动作。
在重新集成动作中,将正在运行的片体的所有存储器和处理器状态拷贝到第二个片体,并且这两个片体都继续工作。因为重新集成要求对正运行的处理器(例如继续执行应用程序的重新集成源)产生最小的持续时间、性能和可用性的影响,所以使基本的解决方法变复杂。
在一些实施例中,使用称为重新集成链路的专用硬件来将存储器状态从重新集成源拷贝到目标中。由于重新集成源上的处理器继续执行应用代码并更新存储器,因此重新集成链路允许通常操作以修改存储器,并且仍使修改反映到重新集成目标存储器。
可以实现重新集成链路硬件以便在一个或多个逻辑处理器组中发生重新集成。例如,一种实施方式能够重新集成一个完整的片体,即使只有一个逻辑处理器的其中一个处理器元件被重新启动也是如此。只影响单个逻辑处理器的重新集成方案减少或最小化一个系统在能力小于完全能力时所消耗的时间量。
由诸如处理器片体替换、为系统管理设施接收命令和/或由逻辑处理器中的其它处理器元件检测出的输入/输出表决错误或其它错误的发生之类的条件来触发重新集成。对于处理器片体替换而言,由当前正在运行的逻辑处理器来重新集成每个新的处理器元件。对于检测出的错误而言,剩余的正在执行的处理器元件能够重置有故障的处理器元件并且进行重新集成。对于瞬时错误而言,可以使处理器元件恢复到完全功能状态。
能够重新集成新处理器元件的逻辑处理器判断是否开始重新集成过程。对于整个片体的重新集成而言,控制驻留在处理器复合体中。在上述两种情况下,重新集成控制次于系统级功能。如果重新集成失败,则逻辑处理器只须记录下该错误并且继续尝试重新集成过程。所述逻辑处理器可以减少重新集成的频率,但是继续尝试直到成功为止。
再次参照图4A、4B和4C,重新集成控制是由位于处理器404和存储器406之间的重新集成逻辑410来执行的。重新集成链路412连接多处理器片体402并且能够反映从一个片体到相邻的邻近片体的存储器写。在举例说明的实施例中,重新集成逻辑410可以是双倍数据速率同步动态随机存取存储器(DRAM)接口。所述重新集成逻辑410执行多种功能。
在通常操作期间,重新集成逻辑410透明地在微处理器404和本地存储器406之间传递存储操作。重新集成链路412使用通常局限于清除潜在的故障。
在重新集成操作期间,源处理器片体上的重新集成逻辑410复制所有主存储器写操作,将这两种操作都发送到本地存储器406并且跨越重新集成链路412。在目标处理器片体上,重新集成逻辑410从重新集成链路412中接收新来的写操作并且写入目标本地存储器406。在重新集成期间,所述目标不执行应用程序而是执行不带有对目标本地存储器406进行读或写的紧密的高速缓存驻留的循环。
重新集成链路412是从一个处理器片体到一个相邻的邻近处理器片体的单向连接。对于包含三个处理器片体A、B和C的系统而言,只有片体A能够重新集成片体B,只有片体B能够重新集成片体C,并且只有片体C能够重新集成片体A。从一个处理器片体与两个新处理器片体开始,能够分两步来执行重新集成。第一个重新集成周期导致第二个处理器片体联机,而第二个重新集成周期导致第三个联机。
对于单个处理器片体的重新集成而言,将源和目标片体上的重新集成逻辑410初始化。将逻辑同步单元414设置成:对目标无答复、不向目标传送中断并且输入/输出操作不包含目标。将目标设置成接受来自重新集成链路412的写。所述目标执行用于等待重新集成结束的、高速缓存内的循环。由于SAN接口可以同时更新目标源存储器,因而当维护局部处理时,所述源以原子操作方式读取所述源的本地存储器并且写回所有本地存储器。单次传递操作从存储器中读取每个高速缓存块,然后利用原子操作将该高速缓存块标记为脏而不改变内容。然后,更新目标存储器,除了不更新源高速缓存上的剩余脏高速缓存块中所含的状态之外。挂起所有过程,并且存储体系结构状态(例如处理器寄存器)。高速缓存被清除,然后能对其进行验证。高速缓存验证是任选的,但是在结束重新集成之后却方便了重新集成源和目标之间的同步化。在不验证的情况下,所述源可能会一致地具有高速缓存命中,而所述目标可能会未命中。将所有写反映到目标处理器,将脏高速缓存数据的最末字节重新集成到目标处理器片体中。逻辑同步单元414能够对目标进行读和写,停止写反映,在高速缓存循环中固锁,并且执行聚集操作。在聚集操作结束之后,所述目标应该与源具备恰好相同的状态。从存储器406中恢复体系结构状态,并且操作重新开始。
在举例说明的实施方式中,重新集成会影响在一个片体中的所有处理器元件。作为选择,即使三倍冗余的处理器系统中的故障只影响一个逻辑处理器的一个处理器元件,也要对受影响的那个处理器片体的整个存储器执行重新集成。在三重冗余的系统中,处理器复合体利用在重新集成期间活动的两个处理器片体来执行应用,以便不出现数据完整性的损失。
在举例说明的实施方式中,对整个处理器片体执行重新集成。在其它实施方式中,可以重新集成处理器片体的单个处理器元件。
重新集成使硬件能在没有故障的应用确认的情况下从硬件故障中恢复。一种重新集成的可选方案可以是暂停逻辑处理器并且允许应用工作负载转入其它逻辑处理器。然后,已暂停的处理器能够被重新启动,从而有效地重新集成在一个逻辑处理器中有故障的处理器元件。
尽管当前的公开描述了各种不同的实施例,但是应将这些实施例理解成是说明性的而不是限制权利要求范围。所描述的实施例的许多变形、修改、添加和改进都是可能的。例如,本领域的普通技术人员将容易实现提供这里所公开的结构和方法所必需的步骤,并且将理解过程参数、材料和维度都仅仅是以举例的方式给出的。可以改变所述参数、材料、组件和维度以便实现落入权利要求范围内的期望的结构和修改。当保持在下列权利要求的范围内时,还可以对这里所公开的实施例作出变形和修改。例如,这里所述的特定实施例标识了各种不同的计算体系结构、通信技术和结构、总线连接等等。这里所述的各种实施例具有多个方面和多个组件。这些方面和组件可以在各种实施例和应用中分别地实现或以组合形式实现。因此,应单个地考虑每个权利要求,并且每个权利要求不包含该权利要求的措辞之外的方面或限制。

Claims (13)

1.一种计算系统(100),包括:
可作为逻辑处理器(1006)操作的、多个冗余的松散耦合处理器元件(102);和
一个逻辑,检测所述逻辑处理器(1006)的暂停条件并响应于所述暂停条件重新集成和开始在数目小于总数的处理器元件(102)中的操作,使得至少一个处理器元件不工作,还把数据从不工作的处理器元件缓冲到已重新集成且工作的处理器元件(102)中,并将缓冲的数据写入到存储器中以供分析。
2.根据权利要求1所述的计算系统(100),进一步包括:
在缓冲所述数据之后重新加载所述不工作的处理器元件并将其重新集成到所述逻辑处理器(1006)中的逻辑。
3.根据权利要求1所述的计算系统(100),进一步包括:
在重新加载和开始所述工作的处理器元件(102)之后启动的并行接收转储程序,所述并行接收转储程序创建转储文件并分配缓冲器,并且在存储器(110A、B、C)中保存所述处理器元件(102)的体系结构状态。
4.根据权利要求3所述的计算系统(100),进一步包括:
所述并行接收转储程序在分配给所述并行接收转储程序在其上执行的一个处理器元件的物理分区上打开存储窗口,并且在整个物理分区上移动所述存储窗口。
5.根据权利要求4所述的计算系统(100),进一步包括:
直接存储器访问装置,其耦合于多个处理器元件;和
所述并行接收转储程序利用直接存储器访问装置来执行相异数据输入/输出操作,所述直接存储器访问装置识别不工作的处理器元件并通过直接存储器访问将数据从不工作的处理器元件传送到至少一个工作的处理器元件。
6.根据权利要求5所述的计算系统(100),其中:
所述并行接收转储程序利用地址位来标识所述不工作的处理器元件。
7.根据权利要求5所述的计算系统(100),进一步包括:
引擎(520),其生成数据转送请求分组并跟踪相关联的响应分组;
访问验证和转换模块,其验证新来的数据转送分组的合法性并将合法分组的地址转换到内部存储空间中;和
所述并行接收转储程序在工作的处理器元件(102)中保持块转送引擎描述符和访问验证和转换表,用于管理所述直接存储器访问操作。
8.根据权利要求5所述的计算系统(100),进一步包括:
重新集成逻辑(410),其按照故障或服务条件重新启动并重新同步化多个处理器元件(102);和
可在至少一个正工作的处理器元件(102)上执行的重新集成过程,所述至少一个正工作的处理器元件延迟重新集成所述不工作的处理器元件直到转储处理结束为止。
9.根据权利要求5所述的计算系统(100),其中:
所述并行接收转储程序确定把数据从所述不工作的处理器元件转送到所述至少一个工作的处理器元件结束的时间,并且当结束时将所转送的数据压缩成转储格式并将压缩后的数据写入到转储文件中。
10.根据权利要求9所述的计算系统(100),其中:
所述并行接收转储程序确定将压缩后的数据写入到转储文件结束的时间,并且当结束时关闭物理存储器(110A、B、C)的窗口,关闭转储文件,并且启动所述不工作的处理器元件的重新集成。
11.一种供冗余处理器使用的接口,包括:
直接存储器访问装置,其耦合于作为逻辑处理器(1006)工作的、多个冗余的松散耦合处理器元件(102);和
数据转送程序,其利用所述直接存储器访问装置来执行相异数据输入/输出操作,所述直接存储器访问装置通过直接存储器访问将数据从多个处理器元件的一个源处理器元件转送到多个处理器元件(102)中的其它处理器元件中的至少一个目标处理器元件。
12.根据权利要求11所述的接口,进一步包括:
引擎(520),其生成数据转送请求分组并跟踪相关联的响应分组;
访问验证和转换模块,其验证新来的数据转送分组的合法性并将合法分组的地址转换到内部存储空间中;和
数据转送程序,其在工作的处理器元件(102)中保持块转送引擎描述符和访问验证和转换表,用于管理直接存储器访问操作。
13.根据权利要求11所述的接口,进一步包括:
重新集成逻辑(410),按照故障或服务条件来重新启动和重新同步化多个处理器元件(102);和
可在所述处理器元件(102)中的一个延迟重新集成所选的不工作处理器元件的至少一个处理器元件(102)上执行的重新集成过程。
CN 200510107155 2004-09-28 2005-09-28 冗余处理器中的诊断存储器转储方法 Expired - Fee Related CN1755660B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/953,242 US20050240806A1 (en) 2004-03-30 2004-09-28 Diagnostic memory dump method in a redundant processor
US10/953242 2004-09-28

Publications (2)

Publication Number Publication Date
CN1755660A true CN1755660A (zh) 2006-04-05
CN1755660B CN1755660B (zh) 2010-09-29

Family

ID=36688905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200510107155 Expired - Fee Related CN1755660B (zh) 2004-09-28 2005-09-28 冗余处理器中的诊断存储器转储方法

Country Status (1)

Country Link
CN (1) CN1755660B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101295268B (zh) * 2007-04-27 2011-03-02 国际商业机器公司 面向软件系统的分区存储器转储方法和装置
CN102971715A (zh) * 2010-07-06 2013-03-13 三菱电机株式会社 处理器装置以及程序
CN103218209A (zh) * 2012-01-23 2013-07-24 国际商业机器公司 控制分支预测逻辑的方法和装置
CN104484299A (zh) * 2014-12-05 2015-04-01 中国航空工业集团公司第六三一研究所 一种松耦合的Lockstep处理器系统
CN104699550A (zh) * 2014-12-05 2015-06-10 中国航空工业集团公司第六三一研究所 一种基于lockstep架构的错误恢复方法
CN107038095A (zh) * 2015-09-30 2017-08-11 罗伯特·博世有限公司 用于冗余地处理数据的方法
CN110366760A (zh) * 2016-12-30 2019-10-22 纽斯高动力有限责任公司 核反应堆保护系统和方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5111384A (en) * 1990-02-16 1992-05-05 Bull Hn Information Systems Inc. System for performing dump analysis
US5435001A (en) * 1993-07-06 1995-07-18 Tandem Computers Incorporated Method of state determination in lock-stepped processors
JP3481737B2 (ja) * 1995-08-07 2003-12-22 富士通株式会社 ダンプ採取装置およびダンプ採取方法
GB9617033D0 (en) * 1996-08-14 1996-09-25 Int Computers Ltd Diagnostic memory access

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101295268B (zh) * 2007-04-27 2011-03-02 国际商业机器公司 面向软件系统的分区存储器转储方法和装置
CN102971715B (zh) * 2010-07-06 2015-07-08 三菱电机株式会社 处理器装置以及程序
CN102971715A (zh) * 2010-07-06 2013-03-13 三菱电机株式会社 处理器装置以及程序
CN103218209A (zh) * 2012-01-23 2013-07-24 国际商业机器公司 控制分支预测逻辑的方法和装置
CN103218209B (zh) * 2012-01-23 2016-03-02 国际商业机器公司 控制分支预测逻辑的方法和装置
CN104484299A (zh) * 2014-12-05 2015-04-01 中国航空工业集团公司第六三一研究所 一种松耦合的Lockstep处理器系统
CN104699550A (zh) * 2014-12-05 2015-06-10 中国航空工业集团公司第六三一研究所 一种基于lockstep架构的错误恢复方法
CN104699550B (zh) * 2014-12-05 2017-09-12 中国航空工业集团公司第六三一研究所 一种基于lockstep架构的错误恢复方法
CN104484299B (zh) * 2014-12-05 2017-12-22 中国航空工业集团公司第六三一研究所 一种松耦合的Lockstep处理器系统
CN107038095A (zh) * 2015-09-30 2017-08-11 罗伯特·博世有限公司 用于冗余地处理数据的方法
CN107038095B (zh) * 2015-09-30 2021-09-24 罗伯特·博世有限公司 用于冗余地处理数据的方法
CN110366760A (zh) * 2016-12-30 2019-10-22 纽斯高动力有限责任公司 核反应堆保护系统和方法
CN110366760B (zh) * 2016-12-30 2024-05-07 纽斯高动力有限责任公司 核反应堆保护系统和方法

Also Published As

Publication number Publication date
CN1755660B (zh) 2010-09-29

Similar Documents

Publication Publication Date Title
US20050240806A1 (en) Diagnostic memory dump method in a redundant processor
CN1213376C (zh) 用于被复制的服务器的协议
CN104040515B (zh) 在逻辑驱动器模型下呈现直接存取的存储设备
Bartlett et al. Commercial fault tolerance: A tale of two systems
US11050620B2 (en) Dynamic reconfiguration of resilient logical modules in a software defined server
US7523344B2 (en) Method and apparatus for facilitating process migration
EP2673711B1 (en) Method and system for reducing write latency for database logging utilizing multiple storage devices
Calder et al. Windows azure storage: a highly available cloud storage service with strong consistency
Jewett Integrity S2: A fault-tolerant Unix platform
CN1755660B (zh) 冗余处理器中的诊断存储器转储方法
CN1096034C (zh) 多处理系统
CN1143230C (zh) 一种多处理器系统内的分区存储器保护的装置和方法
US20150339366A1 (en) Replication for on-line hot-standby database
US20090276654A1 (en) Systems and methods for implementing fault tolerant data processing services
KR102051282B1 (ko) 선택적 리소스 이동을 이용하는 네트워크 결합 메모리
US20110231602A1 (en) Non-disruptive disk ownership change in distributed storage systems
CN1677357A (zh) 在非确定性的处理器上执行用户程序的方法和系统
CN1906593A (zh) 用于故障解决的系统和方法
US20070282967A1 (en) Method and system of a persistent memory
CN1677354A (zh) 在执行用户程序的多处理器中服务异步中断的方法和系统
CN1811724A (zh) 使用户程序的复制拷贝的执行点对齐的方法和系统
CN1761947A (zh) 用于动态镜像库寻址的系统和方法
JPH02202636A (ja) フォールトトレラントな能力を備えたコンピュータ
JP2010026932A (ja) 高可用システム及び実行状態制御方法
US20150026508A1 (en) Moving objects in a primary computer based on memory errors in a secondary computer

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: 20100929

Termination date: 20130928