CN1928832A - 多处理计算***中的状态跟踪和恢复方法和*** - Google Patents

多处理计算***中的状态跟踪和恢复方法和*** Download PDF

Info

Publication number
CN1928832A
CN1928832A CNA2006100928538A CN200610092853A CN1928832A CN 1928832 A CN1928832 A CN 1928832A CN A2006100928538 A CNA2006100928538 A CN A2006100928538A CN 200610092853 A CN200610092853 A CN 200610092853A CN 1928832 A CN1928832 A CN 1928832A
Authority
CN
China
Prior art keywords
processing unit
controll block
tcb
block
locking
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
CNA2006100928538A
Other languages
English (en)
Other versions
CN100449494C (zh
Inventor
安德鲁·W.·匹卓维斯基
小罗伯特·维伦
珍妮特·R.·伊斯顿
肯尼思·J.·奥克斯
约翰·S.·特罗特
安布罗斯·沃迪贝尔洛
乔齐姆·范·巴特拉
埃尔克·纳斯
马丁·陶伯特
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1928832A publication Critical patent/CN1928832A/zh
Application granted granted Critical
Publication of CN100449494C publication Critical patent/CN100449494C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing

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)

Abstract

公开了一种方法和***,所述方法和***在多处理器***中跟踪基于处理单元的I/O控制块的实时使用,使得在处理单元发生故障的情况下,列表准确并且简明地识别需要恢复的控制块。这消除了扫描所有I/O控制块的需要,大大降低了总的***恢复时间,并使对运行***的剩余部分的影响降至最小。本发明的优选实施例使用任务控制块来记录哪些I/O控制块被每个处理单元使用。另外,提供了在I/O控制块中定义的锁定字结构,索引被包括在任务控制块中,以便于管理TCB条目。

Description

多处理计算***中的状态跟踪和恢复方法和***
技术领域
本发明一般涉及计算机***,尤其涉及多处理***。更具体地说,本发明涉及多处理计算***中的状态跟踪和恢复。
背景技术
多处理器计算机***在现代计算中正变得日益重要,因为组合多个处理器可增大处理带宽,并且一般会提高吞吐量、可靠性和可服务性。多处理计算***利用多个处理部件执行各个任务,所述多个处理部件可包括在网络中链接的多个单独的处理器,或者在协同环境中同时工作的多个软件进程或线程。
许多早期的多处理器***由称为分区***的多个单独的计算机***构成。最近,多处理器***被逻辑分区从而表现为多个独立的计算机***的一个或多个计算机***形成。例如,具有8个处理器的单一***可被配置成把8个处理器(或者多组一个或多个处理器)中的每一个看作用于处理的独立***。这些“虚拟”***的每一个都应该具有它自己的操作***副本,从而可独立地被分配任务,或者可一同作为处理群集工作,所述处理群集既提供高速处理,又提供改善的可靠性。
国际商用机器公司zSeries服务器已在多处理计算机***中获得广泛商业成功。这些服务器提供“关键任务环境”中所需的性能、可扩缩性和可靠性。这些服务器运行企业应用,例如企业资源规划(ERP)、商务智能(BI)和高性能电子商务基础结构。这些***的正确工作对公司的运转至关重要,于是最重要的是这些***高效地工作和尽可能地无错误,并且快速的问题分析和从***错误复原至关重要。
在正常工作中,分区的***并行工作,即,由分区执行的工作可同时进行,因为分区共用服务器的操作资源。在一切正常运行的情况下,可利用不同的操作***工作的各个分区同时完成它们的功能。
但是,存在一些短期需要***的串行化的关键功能。串行化强制操作以串行方式,而不是并行方式进行,即使操作可并行地执行。当计算的正确性取决于或者可能取决于计算的准确顺序时,或者当操作短期要求不间断地使用在其它情况下共用的硬件资源(例如I/O资源)时,串行化一般是强制性的。
IBM zSeries服务器生产线提供企业级计算解决方案,该方案极其重视保持很高级别的***可用性,从而极其重视从***错误恢复。zSeries通道子***(CSS)已成熟,足以支持大型I/O配置,但是因为这样,当***遇到错误时,为了恢复I/O子***,需要的时间增大。
这种CSS借助内部数据结构或控制块,保持***的I/O配置状态的逻辑表示。这些控制块被用于使多处理(MP)环境中的处理单元(PU)操作串行化,并包含CSS执行的各种操作和任务的状态信息。
作为I/O处理的一部分,执行I/O操作的PU将获得和解除对控制块的锁定。如果在I/O操作中,PU发生故障,那么必须定位和恢复由发生故障的处理器保持的控制块。目前的CSS恢复设计采用***配置中的所有I/O控制块的“扫描”恢复方法,寻找由发生故障的处理单元(PU)使用的控制块。当必须扫描和评估所有I/O控制块以定位实际需要恢复的少数I/O控制块时,这种方法费时。
作为结果的恢复时间还会影响整个***操作:
·恢复具有最高优先级,需要正在进行恢复的处理器的其它正常操作将被延迟,有时延迟时间长到足以需要另外的恢复;
·只需要一个或多个控制块被恢复的其它进程不得不等待为通过恢复释放控制块而等待过多的时间,同样有时等待时间长到足以需要另外的恢复。
由于zSeries服务器上按通道分配的I/O块的数目已增大,因此这些恢复时间不断增大。具体地说,zSeries服务器上控制块的数目已从每个***512K增大到每个***7000K以上。
发明内容
本发明的一个目的是改进多处理计算***中的恢复过程。
本发明的另一目的是不需要扫描多处理器***中的所有I/O控制块来识别需要被恢复的控制块。
本发明的另一目的是多处理器***中跟踪基于处理单元的I/O控制块的实时使用,使得在处理单元发生故障的情况下,列表准确并且简明地识别需要恢复的控制块。
这些和其它目的由在多处理器***中跟踪基于处理单元的I/O控制块的实时使用,使得在处理单元发生故障的情况下,列表准确并且简明地识别需要恢复的控制块的方法和***实现。这消除了扫描所有I/O控制块的需要,大大降低了总的***恢复时间,并使对运行***的剩余部分的影响降至最小。
下面详细说明的本发明的优选实施例利用下述基础结构特征:
·用于记录每个PU使用哪些I/O控制块的任务控制块(TCB)。每个PU最好被分配2个TCB,以支持PU的双重操作模式,即i390模式和millicode模式。
·在I/O控制块中定义的把索引包括到TCB中以便于管理TCB条目的锁定字结构。
·在I/O控制块中定义的包括唯一的例程识别码以跟踪控制块的任务使用的锁定字结构。
·使用TCB内容定义和指示所需恢复动作的范围的算法。
本发明的优选实施例提供许多重要的优点。例如,本发明可被用于提供恢复时间方面的显著改进,尤其是对于较大型结构来说更是如此。
a.由于共用资源将被更快地释放,因此提高了***吞吐量。
b.降低了对需要***辅助处理器(SAP)资源的时间至关重要功能的影响。
另外,就本发明的优选实施例来说,***恢复时间几乎恒定,而不是随着结构的大小扩缩,从而消除了对更大型结构的主要阻碍。此外,由于附加的信息被保存在锁定字和TCB中,因此能够实现控制块的更多验证。
另外,由于这里描述的基础结构的可用性,因此本发明可被用于允许开发新的应用,以提高未来各代多处理器计算机***的总体可靠性,以及向改进的诊断提供锁定字变化,以包括识别已经锁定控制块的代码段的“例程id”。
参考附图,根据下面的详细说明,本发明的其它益处和优点将变得明显,所述附图说明和表示了本发明的优选实施例。
附图说明
图1图解说明可和本发明一起使用的多处理计算***。
图2表示可在本发明中使用的任务控制块。
图3表示在本发明的优选实施例中使用的控制块。
图4图解说明在本发明的优选操作中,任务控制块的使用。
图5是表示利用本发明的任务控制块的优选恢复过程的流程图。
具体实施方式
图1图解说明多处理器计算机***100,所述多处理器计算机***100一般包括多个主计算机110、112、114,它们也被称为“主机”。主机110、112、114与主链路116互连,主链路116可包括例如耦合链路,内部耦合通道,集成的簇总线或者其它适当的链路。在备选实施例中,可以使用一个、两个、四个或更多的主机,而不是如图解说明的例子中那样,使用三个主机110、112、114。***100还包括计时器118和耦合设备120。
每个主机110、112、114本身是一个微处理器***。可用相同类型的(或者不同类型的)数字处理单元实现每个主机110、112、114。在一个具体例子中,主机110、112、114均包含运行一个或多个z操作***(z/OS)的IBM zSeries Parallel Sysplex服务器,例如zSeries900。适当的数字处理单元的另一例子是运行OS/390的IBM S/390服务器。主机110、112、114运行产生数据对象的一个或多个应用程序,所述数据对象保存在主机110、112、114中的一个或多个的外部或内部。数据对象可包含新数据或者对旧数据的更新。主机应用程序可包括例如IMS和DB2。主机110、112、114运行包括各自的I/O例程115a、115b、115c的软件。注意在***100中可以使用其它类型的主机。特别地,主机可包括任何适当的数字处理单元,例如大型计算机,计算机工作站,服务器计算机,个人计算机,超级计算机,微处理器或者其它适当的机器。
***100还包括计时器118,计时器118与每个主机110、112、114耦合,以使主机110、112、114的计时同步。在一个例子中,计时器118是IBM Sysplex计时器。另一方面,可以省略独立的计时器118,这种情况下,主机110、112、114之一中的计时器被用于使主机110、112、114的计时同步。
耦合设备120通过相应的连接器122、124、126与每个主机110、112、114耦合。连接器122、124、126可以是例如内部***耦合(ISC),或者集成簇总线(ICB)连接器。耦合设备(coupling facility)120包括由主机110、112、114共用的高速缓冲存储器128(“高速缓存”),还包括一个处理器130。在一个具体例子中,耦合设备120是IBM z900型100耦合设备。其它适当的耦合设备的例子包括IBM型号9674 C04和C05,以及IBM型号9672 R06。另一方面,耦合设备120可被包括在服务器中,例如主机110、112、114之一。
作为一个例子,用于本备选实施例的一些适当服务器包括IBMz900和S/390服务器,它们具有内部耦合设备或者起耦合设备作用的逻辑分区。另一方面,耦合设备120可在任何其它适当的服务器中实现。例如,耦合设备120中的处理器130可运行z/OS。另一方面,代替耦合设备120,可以使用任何适宜的共用存储器。高速缓冲存储器128是主机级高速缓冲存储器,因为它可由主机110、112、114访问。高速缓冲存储器128受主机110、112、114控制,如果需要,甚至可包括在主机之一中。
在***100的操作中,作为I/O处理的一部分,执行I/O操作的处理单元(PU)将获得和解除对控制块的锁定。如果在I/O操作中PU发生故障,那么必须定位和恢复发生故障的处理器持有的控制块。现有***采用***配置中的所有I/O控制块的扫描恢复方法,寻找由发生故障的处理单元使用的控制块。虽然有效,但是这种方法费时。
本发明降低了总的***恢复时间。更具体地说,本发明提供一种方法和***,该方法和***基于处理单元跟踪I/O控制块的实时使用,使得在处理单元发生故障的情况下,列表准确并且简明地识别需要恢复的控制块,从而不需要扫描所有I/O控制块。
在本发明的一个优选实施例中,这是利用下述基础结构特征来实现的:
·用于记录每个PU使用哪些I/O控制块的任务控制块(TCB)。每个PU最好被分配2个TCB,以支持PU的双重操作模式,即i390模式和millicode模式。
·在I/O控制块中定义的把索引包括到TCB中以便于管理TCB条目的锁定字结构。
·在I/O控制块中定义的包括唯一的例程识别码以跟踪控制块的任务使用的锁定字结构。
·使用TCB内容定义和指示所需恢复动作的范围的算法。
这里描述的基础结构最好用在干线I/O代码以及I/O子***恢复代码。
更具体地说,TCB将包含与下述有关的信息:
·在执行I/O任务时,由PU使用的控制块。
·PU任务状态足迹信息。
·如果发生错误,PU将把错误类型、错误代码和扩展的错误信息保存在TCB中。
在PU上运行的每个任务被分配TCB。例如,在IBM zSeries服务器上,PU能够按照两种模式,i390模式或Millicode模式运行,从而最好对每个PU分配2个TCB。通过使使用的资源保持分离,关于I390模式和Millicode模式对每个PU定义唯一的TCB允许当在处理功能中处理器转换模式时可能发生的任务的更大交织。图2中示出了该结构。
关键的TCB字段定义
1.TCB代码字段202:识别TCB控制块类型的唯一的静态十六进制值。
2.PU#字段204:拥有TCB的物PU编号。
3.模式字段206:Millicode或I390模式的标识符。
4.控制块槽(slot)阵列:三个16元素阵列,包含:
·控制块掩码(mask)(CBM)阵列212:指出控制块被锁定或者在锁定过程中。
·控制块代码(CBC)阵列214:包含被锁定或正被锁定的控制块的控制块代码。
·控制块地址(CBA)阵列216:包含被锁定或正被锁定的控制块的控制块地址。
5.任务足迹字段220:在PU上执行的当前任务的指示符。
6.错误代码字段222:由故障任务保存的唯一错误数据。
7.扩展的错误信息字段224:由故障任务保存的帮助恢复或问题排除的附加数据。
I/O控制块锁定控制
图3图解说明I/O控制块的结构。所有I/O控制块定义包含控制块锁定数据的字0。锁定值为16位编码值,0-7位表征锁定部件(PU类型),8-1位包含PU编号。本发明现在定义16-31位,以包含扩展的锁定信息数据,并且将被用于包含唯一的锁定例程id或TCB索引数据。
干线(mainline)代码中TCB的使用
下面是一部分I/O操作的一个例子,用于说明本发明的应用:
1.在I/O操作中,控制块需要被启动操作的PU锁定。作为该进程的一部分,最好采取下述步骤:
a.检查TCB,以确保前一任务未在TCB中留下任何东西。
b.查找TCB中未使用的槽(slot)。
c.把待锁定的控制块的地址和控制块代码保存在该槽中。
d.建立锁定字。
e.锁定控制块。
2.为所需的I/O功能,对控制块进行必须的状态变化。例如,该I/O功能可能正在处理关于I/O完成的待决状态。
3.在任务完成时,控制块现在需要被解除锁定。作为该进程的一部分,最好采取下述步骤:
a.通过使锁定字为0,解除对控制块的锁定。
b.释放在该控制块的锁定中使用的TCB槽,使该TCB保持其初始状态,为下一任务作好准备。
图4中示出了当PU执行I/O操作时,TCB看来像什么的图。
恢复期间的TCB的使用
如果执行上述任务的PU出现故障,那么将需要以其名义进行恢复。故障PU的TCB将由I/O控制块恢复代码使用以指导恢复操作。图5示出了优选的恢复操作500。首先,在步骤502,恢复代码将验证TCB内容,以确保它们正确可靠。其次,在步骤504,干线恢复代码随后将为每种I/O控制块分派恢复算法。在步骤506,这些算法询问TCB,以确定(locate)待恢复的控制块类型,随后在步骤510,执行算法逻辑以恢复控制块。下面给出利用本发明的TCB使用和恢复的更详细描述。
控制块恢复序列期间的TCB验证
对I/O控制块恢复代码的条目验证TCB。这种验证的优点是:
1.发生故障的PU实际上使控制块被锁定的核实。
2.故障PU锁定的控制块地址的核实,以降低在恢复期间,恢复代码使用错误地址和导致程序检查的可能性。
3.由微代码的存储覆盖引起的控制块失效或损坏的检测。
4.确保执行正确的恢复算法来恢复发生故障的PU。
TCB验证低级细节
对于需要恢复的每个PU,验证其每个TCB内容。优选的步骤是:
1.检查TCB控制块地址(CBA)阵列(TCB字32-63)。如果在阵列中存在任何重复的控制块地址,那么把它们从TCB中除去。
2.检查CBM位(TCB字2)。对于这样设定的CBM中的每一位,核实TCB CBA阵列中的对应地址在硬件***区域(HSA)地址范围内。如果该地址不在HSA范围内,那么从TCB CBM中除去该控制块条目。
3.对正确的控制块代码,检查位于HSA中的控制块。如果控制块代码与在TCB CB代码(CBC)阵列(TCB字28-31)中找到的控制块代码不匹配,那么校正TCB控制块代码阵列条目。创建信息***参考代码(SRC)记录这种差异以便进行工程分析。
4.检查由TCB CBC阵列识别的HSA中的控制块。如果未被锁定,那么重置对应的TCB CBM位。否则,设定控制块锁定中的硬件***恢复(HSR)位。对于Millicode TCB,用TCB控制块索引更新控制块锁定字(控制块字0,字节2)。
5.检查TCB CBA条目(entry),以验证控制块位于该控制块类型的正确存储范围中。如果该控制块没有位于正确的存储范围中,那么这被认为是一个微代码错误,并向恢复算法返回一个非零返回值。
I/O控制块恢复算法的TCB使用
I/O控制块恢复是分层的一系列的控制块类型特定算法。这些算法最好使用这里描述的基础结构来管理它们的执行。注意最好选择一个PU来执行所需的恢复动作。
I/O控制块恢复算法的TCB使用的低级细节
为了举例说明这里公开的基础结构的使用,下面将讨论控制块恢复的一个例子。
1.干线恢复算法分派I/O控制块特定算法。
2.该特定算法接受控制。该算法现在调用TCB接口例程,询问TCB待恢复的控制块代码的具体类型。
3.接口例程将:
a.定位故障PU的TCB。
b.询问TCB控制块掩码和TCB控制块代码阵列,以定位匹配的控制块代码。
c.如果发生匹配,那么定位该控制块的TCB控制块地址阵列信息。
d.更新内部控制,以便为该例程的下次调用记录当前的TCB位置和TCB槽位置。
e.把控制块地址返回给特定的控制块恢复算法。
4.特定的控制块恢复算法随后使用该控制块地址来定位该控制块,并执行下述步骤:
a.按特定算法进行恢复步骤。
b.解除控制块的锁定
c.清除该控制块的TCB条目。
本发明的优选实施例提供许多重要的优点。例如,本发明可被用于提供恢复时间方面的显著改进,尤其是对于较大型结构来说更是如此。
a.由于共用资源将被更快地释放,因此提高了***吞吐量。
b.降低了对需要***辅助处理器(SAP)资源的时间至关重要功能的影响。
另外,就本发明的优选实施例来说,***恢复时间几乎恒定,而不是随着结构的大小扩缩,从而消除了对更大型结构的主要阻碍。此外,由于附加的信息被保存在锁定字和TCB中,因此能够实现控制块的更多验证。
另外,由于这里描述的新的基础结构的可用性,因此本发明可被用于允许开发新的应用,以提高未来各代多处理器计算机***的总体可靠性,以及向改进的诊断提供锁定字变化,以包括识别已经锁定控制块的代码段的“例程id”。
虽然显然这里公开的发明很适合实现上述目的,不过要认识到本领域的技术人员可想出各种修改和实施例,附加的权利要求覆盖落入本发明的精神和范围内的所有这种修改和实施例。

Claims (18)

1、一种在包括多个处理单元的多处理计算***中跟踪基于处理单元的I/O控制块的实时使用的方法,所述方法包括:
向每个处理单元分配任务控制块;
每个处理单元锁定I/O控制块,以便供该处理单元专用;和
对于每个处理单元,在分配给该处理单元的任务控制块中,标识由处理单元锁定的I/O控制块。
2、按照权利要求1所述的方法,其中每个控制块包括锁定字,并且锁定步骤包括在每个锁定的I/O控制块中标识该I/O控制块为其被锁定的处理单元的步骤。
3、按照权利要求2所述的方法,其中锁定步骤还包括下述步骤:
使用指定的例程锁定I/O控制块;和
在每个锁定的I/O控制块中,标识用于锁定该控制块的例程。
4、按照权利要求3所述的方法,还包括每个处理单元解除由处理单元锁定的I/O控制块的锁定的步骤,并且包括从所述处理单元锁定的每个I/O控制块中除去该处理单元的标识的步骤。
5、按照权利要求1所述的方法,还包括每个处理单元解除由处理单元锁定的I/O控制块的锁定的步骤,并且包括从分配给处理单元的任务控制块中除去由所述处理单元锁定的I/O控制块的标识的步骤。
6、一种在包括多个处理单元的多处理计算***中跟踪I/O控制块的实时使用的跟踪***,其中在计算***的操作中,I/O控制块被锁定,以便专供处理单元中的各个处理单元使用,所述跟踪***包括:
多个任务控制块;
向每个处理单元分配所述多个任务控制块中的一个的装置;和
在每个任务控制块中,标识被锁定以专供向其分配所述任务控制块的处理单元使用的I/O控制块的装置。
7、按照权利要求6所述的跟踪***,其中每个I/O控制块包括锁定字,所述锁定字包括标识为其锁定I/O控制块的处理单元的字段。
8、按照权利要求6所述的跟踪***,其中每个任务控制块包括标识向其分配任务控制块的处理单元的第一字段。
9、按照权利要求8所述的跟踪***,其中每个任务控制块还包括多个槽,用于标识被锁定以专供向其分配该任务控制块的处理单元使用的I/O控制块的地址。
10、按照权利要求6所述的跟踪***,其中在计算***的操作中,I/O控制块被解除锁定不再专供处理单元中的单个处理单元使用,并且还包括当I/O控制块被解除锁定不再专供处理单元中的单个处理单元使用时,进行操作以从分配给所述多个处理单元中的一个处理单元的任务控制块中除去所述解除锁定的I/O控制块的标识的装置。
11、一种多处理计算***中的状态跟踪和恢复方法,所述多处理计算***包括多个处理单元、多个I/O控制块和多个任务控制块,所述方法包括下述步骤:
向每个处理单元分配所述多个任务控制块中的一个;
锁定I/O控制块,以专供处理单元中的单个处理单元使用;
在分配给处理单元的任务控制块中,标识为处理单元锁定的I/O控制块;和
在规定的时间,检查分配给所述多个处理单元中的一个的任务控制块,以便标识被锁定以专供所述一个处理单元使用的I/O控制块。
12、按照权利要求11所述的方法,还包括释放所述标识的I/O控制块而不再专供所述一个处理单元使用的步骤。
13、按照权利要求11所述的方法,其中所述规定的时间是当所述一个处理单元发生规定的故障时。
14、按照权利要求11所述的方法,还包括当所述一个处理单元发生规定类型的故障时,定位分配给所述一个处理单元的任务控制块。
15、一种多处理计算***中的状态跟踪和恢复***,所述多处理计算***包括多个处理单元和多个I/O控制块,所述状态跟踪和恢复***包括:
多个任务控制块;
把任务控制块分配给处理单元的装置;
在每个任务控制块中,标识被锁定以专供向其分配任务控制块的处理单元使用的I/O控制块的装置;和
检查分配给所述多个处理单元中的一个的任务控制块,以标识被锁定以专供所述一个处理单元使用的I/O控制块的装置。
16、按照权利要求15所述的状态跟踪和恢复***,其中所述用于检查的装置包括响应所述一个处理单元的规定类型的故障,标识被锁定以专供所述一个处理单元使用的I/O控制块的装置。
17、按照权利要求15所述的状态跟踪和恢复***,还包括释放所述标识的I/O控制块而不再专供所述一个处理单元使用的装置。
18、按照权利要求17所述的状态跟踪和恢复***,还包括当所述标识的I/O控制块被释放而不再专供所述一个处理单元使用时,进行操作以从分配给所述一个处理单元的任务控制块中除去所述释放的I/O控制块的标识的装置。
CNB2006100928538A 2005-09-09 2006-06-16 多处理计算***中的状态跟踪和恢复方法和*** Expired - Fee Related CN100449494C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/223,733 2005-09-09
US11/223,733 US7996585B2 (en) 2005-09-09 2005-09-09 Method and system for state tracking and recovery in multiprocessing computing systems

Publications (2)

Publication Number Publication Date
CN1928832A true CN1928832A (zh) 2007-03-14
CN100449494C CN100449494C (zh) 2009-01-07

Family

ID=37858804

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100928538A Expired - Fee Related CN100449494C (zh) 2005-09-09 2006-06-16 多处理计算***中的状态跟踪和恢复方法和***

Country Status (2)

Country Link
US (1) US7996585B2 (zh)
CN (1) CN100449494C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009092322A1 (zh) * 2008-01-18 2009-07-30 Huawei Technologies Co., Ltd. 一种多处理器***故障恢复的方法及装置
CN106547613A (zh) * 2016-10-20 2017-03-29 西北工业大学 任务处理流程的调度及故障恢复方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9229972B2 (en) * 2011-09-15 2016-01-05 Massachusetts Mutual Life Insurance Group Systems and methods for content collection validation
GB2527832B (en) * 2014-07-03 2016-06-01 Ibm Overwrite detection for control blocks
US10042694B2 (en) * 2016-09-06 2018-08-07 International Business Machines Corporation Control block validator
US11086686B2 (en) * 2018-09-28 2021-08-10 International Business Machines Corporation Dynamic logical partition provisioning

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1402836A1 (de) * 1960-02-15 1969-01-23 Firth Cleveland Ltd Verfahren zur Herstellung von Rotoren,z.B. fuer Geblaese
US4435766A (en) * 1981-06-16 1984-03-06 International Business Machines Corporation Nested resource control using locking and unlocking routines with use counter for plural processes
US4742447A (en) * 1986-01-16 1988-05-03 International Business Machines Corporation Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system
US5761413A (en) * 1987-12-22 1998-06-02 Sun Microsystems, Inc. Fault containment system for multiprocessor with shared memory
EP0343646B1 (en) 1988-05-26 1995-12-13 Hitachi, Ltd. Task execution control method for a multiprocessor system with enhanced post/wait procedure
US5274809A (en) * 1988-05-26 1993-12-28 Hitachi, Ltd. Task execution control method for a multiprocessor system with enhanced post/wait procedure
US5590281A (en) * 1991-10-28 1996-12-31 The United States Of Americas As Represented By The Secretary Of The Navy Asynchronous bidirectional application program processes interface for a distributed heterogeneous multiprocessor system
US5313584A (en) * 1991-11-25 1994-05-17 Unisys Corporation Multiple I/O processor system
US5414851A (en) * 1992-06-15 1995-05-09 International Business Machines Corporation Method and means for sharing I/O resources by a plurality of operating systems
JPH06250916A (ja) * 1993-02-26 1994-09-09 Fujitsu Ltd 共有メモリの排他制御方法
WO1996033459A1 (en) * 1995-04-18 1996-10-24 International Business Machines Corporation High available error self-recovering shared cache for multiprocessor systems
WO1997004385A1 (de) * 1995-07-21 1997-02-06 Siemens Aktiengesellschaft Rechnersystem
US5768572A (en) * 1996-02-05 1998-06-16 International Business Machines Corporation Timer state control optimized for frequent cancel and reset operations
US5842208A (en) * 1997-04-09 1998-11-24 International Business Machines Corporation High performance recover/build index system by unloading database files in parallel
FR2767939B1 (fr) * 1997-09-04 2001-11-02 Bull Sa Procede d'allocation de memoire dans un systeme de traitement de l'information multiprocesseur
US6199179B1 (en) 1998-06-10 2001-03-06 Compaq Computer Corporation Method and apparatus for failure recovery in a multi-processor computer system
US6748438B2 (en) * 1997-11-17 2004-06-08 International Business Machines Corporation Method and apparatus for accessing shared resources with asymmetric safety in a multiprocessing system
US6675175B2 (en) * 1999-02-19 2004-01-06 International Business Machines Corporation Method and system for sharing catalogs in a multiprocessing system utilizing a shared processor
US6594785B1 (en) * 2000-04-28 2003-07-15 Unisys Corporation System and method for fault handling and recovery in a multi-processing system having hardware resources shared between multiple partitions
US6823472B1 (en) * 2000-05-11 2004-11-23 Lsi Logic Corporation Shared resource manager for multiprocessor computer system
EP1215577B1 (en) * 2000-08-21 2012-02-22 Texas Instruments Incorporated Fault management and recovery based on task-ID
EP1182571B1 (en) * 2000-08-21 2011-01-26 Texas Instruments Incorporated TLB operations based on shared bit
EP1182569B8 (en) * 2000-08-21 2011-07-06 Texas Instruments Incorporated TLB lock and unlock operation
JP3688618B2 (ja) * 2000-10-10 2005-08-31 株式会社ソニー・コンピュータエンタテインメント データ処理システム及びデータ処理方法、コンピュータプログラム、記録媒体
US6834385B2 (en) * 2001-01-04 2004-12-21 International Business Machines Corporation System and method for utilizing dispatch queues in a multiprocessor data processing system
US7305421B2 (en) * 2001-07-16 2007-12-04 Sap Ag Parallelized redo-only logging and recovery for highly available main memory database systems
WO2003045035A2 (en) 2001-11-15 2003-05-30 Unisys Corporation Dialog recovery and acknowledgement accumulation in a multi-computer system
US6826656B2 (en) * 2002-01-28 2004-11-30 International Business Machines Corporation Reducing power in a snooping cache based multiprocessor environment
US6845470B2 (en) * 2002-02-27 2005-01-18 International Business Machines Corporation Method and system to identify a memory corruption source within a multiprocessor system
US6886064B2 (en) * 2002-03-28 2005-04-26 International Business Machines Corporation Computer system serialization control method involving unlocking global lock of one partition, after completion of machine check analysis regardless of state of other partition locks
US6842825B2 (en) * 2002-08-07 2005-01-11 International Business Machines Corporation Adjusting timestamps to preserve update timing information for cached data objects

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009092322A1 (zh) * 2008-01-18 2009-07-30 Huawei Technologies Co., Ltd. 一种多处理器***故障恢复的方法及装置
CN106547613A (zh) * 2016-10-20 2017-03-29 西北工业大学 任务处理流程的调度及故障恢复方法
CN106547613B (zh) * 2016-10-20 2020-04-03 西北工业大学 任务处理流程的调度及故障恢复方法

Also Published As

Publication number Publication date
US7996585B2 (en) 2011-08-09
US20070150709A1 (en) 2007-06-28
CN100449494C (zh) 2009-01-07

Similar Documents

Publication Publication Date Title
CN1143209C (zh) 操作***的重启动方法和计算机***的控制方法
CN1308826C (zh) 用于smt处理器上的cpi调度的***和方法
CN1308825C (zh) 用于在smt处理器中进行cpi负载平衡的***和方法
CN1224905C (zh) 在群集计算机***中的执行资源动作的方法
CN1304941C (zh) 用于自主硬件辅助的线程栈跟踪的装置与方法
CN1213376C (zh) 用于被复制的服务器的协议
CN1975679A (zh) 用于优化分段资源分配的方法和设备
CN1928832A (zh) 多处理计算***中的状态跟踪和恢复方法和***
CN1500243A (zh) 使用可移动存储器收集和恢复用户环境数据
CN1834922A (zh) 程序变换方法及程序变换***
US20080172679A1 (en) Managing Client-Server Requests/Responses for Failover Memory Managment in High-Availability Systems
CN1084896C (zh) 清空高速缓冲存储器内容的装置
CN1906586A (zh) 用于在多处理器***中处置处理错误的方法和设备
CN1930553A (zh) 访问逻辑分区中的存储器
CN1274123A (zh) 分区***的带有动态配置的***元件互联槽控制装置
CN1969267A (zh) 用户级栈
CN1794187A (zh) 计算机***及处理错误的方法
CN101042673A (zh) 软件测试***及测试方法
CN1858704A (zh) 升级程序的方法
CN1658145A (zh) 可升级打印假脱机***
CN1831781A (zh) 计算机***及计算机***中的数据的备份方法
CN1641611A (zh) 多重连接管理***
CN1908906A (zh) 一种软件运行状态的监控方法
CN1959643A (zh) 用于重新分配客户端的设备、***和方法
CN1497449A (zh) 连续物理存储器分配的方法和***

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090107

Termination date: 20210616

CF01 Termination of patent right due to non-payment of annual fee