CN100472457C - 多处理器环境中从控制块挂起恢复的方法和系统 - Google Patents
多处理器环境中从控制块挂起恢复的方法和系统 Download PDFInfo
- Publication number
- CN100472457C CN100472457C CNB2006100940046A CN200610094004A CN100472457C CN 100472457 C CN100472457 C CN 100472457C CN B2006100940046 A CNB2006100940046 A CN B2006100940046A CN 200610094004 A CN200610094004 A CN 200610094004A CN 100472457 C CN100472457 C CN 100472457C
- Authority
- CN
- China
- Prior art keywords
- tcb
- controll block
- locking
- block
- controll
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
所公开的是一种方法和系统,使用状态跟踪结构以及其他结构,识别和恢复多处理器计算系统中导致挂起条件的、无意地保持锁定的控制块。本发明的优选实施例使用经历通道子系统(CCS)恢复的处理单元(PU)所用的若干任务控制块(TCB)。(为恢复PU而恢复的TCB)。
Description
技术领域
一般说来,本发明涉及计算机系统,尤其是多处理器系统。更确切地说,本发明涉及多处理器计算系统中所用的恢复过程。
背景技术
由于多个处理器的组合增加了处理带宽,并普遍改进了吞吐量、可靠性和服务能力,在现代计算中多处理器计算机系统正变得日益重要。多处理器计算系统使用多个处理单元执行若干单独的任务,它们可以包括网络中链接的多个单独的处理器,或协同环境中并发运行的多个软件过程或线程。
许多早期的多处理器系统包括多个单独的计算机系统,称为分区系统。最近,已经从一台或多台计算机系统构成多处理器系统,它们经过逻辑分区,用作多个独立的计算机系统。例如,为了处理方便,具有八个处理器的单一系统可以配置为将八个处理器(或者一个或多个处理器的多个组)的每一个都视为离散系统。这些“虚拟”系统的每一个都将拥有操作系统的自身副本,从而可以独立地分配任务,或者可以作为处理集群而共同运行,既提供了高速处理,又提供了改进的可靠性。
国际商用机器公司的z系列服务器在多处理器计算机系统中已经取得了广泛的商业成功。这些服务器提供了“关键任务环境”中所需的性能、可扩缩性和可靠性。这些服务器执行公司的应用程序,比如企业资源规划(ERP)、商务智能(BI)以及高性能电子商务基础设施。这些系统的正常运行对组织的运作可能至为关键,所以最重要的是它们尽可能无差错地高效运转,而且问题快速分析和从系统错误恢复是至关重要的。
在IBM的z系列服务器中,服务器的主要优点是主机能够从检测出的许多种错误中恢复,从而支持系统可用性的平台高标准。在早期主机中开发出的通道子系统(CSS)Recovery(CSS恢复)的基本思想是用于倘若在硬件单元使用中出现故障时,把共享资源恢复到已知的状态。
在正常运行时,分区系统并行地运行,换言之,由若干分区执行的操作由于共享服务器的工作资源,所以能够同时发生。如果各个部分都运行正常,可能正在使用不同操作系统的若干分区就同时执行它们的功能。
不过,还存在一定的关键功能,在短时间期间需要系统串行化。串行化强制以串行的而不是以并行的方式发生操作,即使当时操作可能以并行的方式执行。典型情况下,当计算的准确性依赖于或可能依赖于计算的严格次序时,或者当操作在短暂时间期间需要不中断地使用其他情况下共享的硬件资源(例如I/O资源)时,串行化是强制性的。
处理器硬件单元(PU)用作I/O处理器(IOP)或中央处理器(CP)管理不同I/O任务所用的z系列CSS之内共享资源的实例是公知为控制块的内部数据结构。这些控制块驻留在硬件系统区(HAS)中,该区是微程序语言可访问的存储器。并非所有的控制块都是共享的,共享的那些实例仅仅是若干子通道(SCB)。SCB是设备的逻辑表达。在HAS中有成百万的SCB,为连接到z系列服务器的各种设备管理I/O任务。
如果多处理器环境中(MP)的一个或多个PU或者同一PU上以不同模式运行的不同任务能够改变控制块的状态,它就被视为共享的。状态的串行化通过锁定保持。在系统中任务的处理过程中,通常在任务开始时由PU获得(锁定)这些共享控制块中的一个或多个。当PU将控制块锁定时,就认为它是该控制块的唯一拥有者,并且能够根据任务的需要修改控制块的状态。倘若另一个PU为其正在运行的任务需要同一控制块,典型情况下这个新请求者会在代码循环中轮询,试图锁定该控制块。所述任务完成后,持有所述闭锁的PU就会释放(解锁)该控制块,从而容许这个新请求者获得这个控制块。所述任务完成时,该PU锁定的所有控制块都应当解锁。
倘若某个PU在锁定控制块后但是在解锁前,因为硬件错误而发生故障,需要这个控制块的其他PU将有可能只进行轮询,直到CSSRecovery将该控制块复原到公知的解锁状态。CSS Recovery是分派到可操作IOP上的微程序语言任务,如果一个或多个故障部件能够访问CSS资源,它就恢复CSS资源。由于一切PU都具有访问CSS共享控制块的权限,将会为这个故障PU分派CSS Recovery。Z系列CSS对PU故障当前所采用的CSS Recovery方法是执行“扫描”或“搜查”恢复。这实质上是对配置的HAS内建的全部I/O控制块进行检查,搜索所述故障PU排他地拥有的或锁定的控制块。CSS Recovery利用了以下事实:当控制块被锁定时,锁定PU的身份被置入锁定字的锁定拥有者部分。一旦处于公知的解锁状态,试图锁定该控制块的PU就能够锁定并更新它,以执行其所需的I/O任务。如果没有CSSRecovery,以上介绍的硬件故障将会导致其他完好无缺的PU挂起——轮询很长时间,等待先前的锁定拥有者解锁所述控制块。
对由于硬件错误而发生故障的PU遗留的锁定控制块,CSSRecovery恢复它们非常有效。这是因为当控制块被锁定时,锁定单元的身份被置入锁定字的锁定拥有者部分。这就容许CSS Recovery知晓要恢复和解锁哪些控制块。
不过,如果PU锁定了控制块,而且微程序语言错误导致PU不解锁它,情况就可能不同。通常,使控制块保持锁定的PU典型情况下从硬件观点来看是完好的,换言之,没有出现任何错误标志指明该处理器有任何问题。要不是无嫌疑的PU正在试图锁定该控制块,将轮询并最终挂起。
Z系列CSS之内的大多数任务都被计时,因此,如果某个PU已经挂起,该任务将超时。超时后,现今使用的恢复措施对超时的PU已经安排了CSS Recovery。这将恢复被该PU作为所述任务的一部分已经锁定的若干控制块。不过如上所述,由PU忘记解锁而保持锁定的控制块将不会被当前CSS Recovery方法恢复。试图锁定这个控制块的其他PU也可能会最终超时,也许为这些PU引发多次调用CSSRecovery的多次尝试。如果某个PU在一定的时间周期内恢复了多次,就会将所述PU的恢复逐步升级到停止检查状态,实质上是隔离PU,使其不可用。然后会需要系统IML试图把该PU复原到配置中。遗憾的是,如果停止检查的PU足够多,将没有剩余的PU,整个系统将会使得不可用,并被置于系统检查停机状态,也公知为UIRA——计划外的事故修复措施。
发明内容
本发明的一个目的是改进多处理器计算系统中的恢复过程。
本发明的另一个目的是识别和恢复由其他方面完好的处理单元无意地保持锁定的控制块,而不必强制该处理单元通过恢复。
本发明的进一步目的是使用状态跟踪结构,识别和恢复多处理器计算系统中无意地保持锁定的控制块。
根据本发明获得的这些和其他目标利用状态跟踪结构,连同另外的结构,识别和恢复在多处理器计算系统中导致挂起条件的无意地保持锁定的控制块。在以上认明的共同待批准申请(代理人案例号POU920050096USI)“Method and System for State Tracking andRecovery in Multi-Processing Computing System”中也讨论了这些状态跟踪结构。
以下详细说明的本发明优选实施例使用了以下的基础设施特性:-经历通道子系统(CCS)恢复的处理单元(PU)所用的若干任务控制块(TCB)。(为恢复PU而恢复的TCB)。
●由恢复的TCB中控制块入口所指向的控制块的锁定字
●将经历CCS恢复的PU所用的TCB(“其他”PU所用的“其他”TCB)
●不恢复PU所用的TCB(可操作PU的TCB)
这使CCS Recovery能够判断,锁定控制块而潜在地导致控制块挂起的PU(控制块拥有者)是否具有解锁所述控制块的某种主动性。如果判定控制块的拥有者已经失去了解锁控制块的主动性,所述控制块将被恢复和解锁。如果锁定的控制块在锁定它的PU的TCB中,就确保了解锁控制块的主动性。这样做时可以使用例如以上认明的共同待批准申请(代理人案例号POU920050088USI)“Method and Systemto Detect Errors in Computer Systems Using State Tracking”中公开的方法。
本发明还公开了在不干扰无意地遗留锁定控制块的可操作PU情况下,恢复被挂起的单独控制块的方法。通过“窃用”所述锁定而实现这种方法。
同时,本文还公开了判断控制块锁定与可操作PU的TCB之间是否存在一致状态的方法。可操作PU可以处于解锁,以及也许为了合法缘故再锁定所述控制块并改变其TCB状态的过程。这个控制块可能在恢复的TCB中已经表现为潜在的挂起原因过。这种方法使挂起恢复能够判断出这个控制块是已经被无意地保持锁定还是正在转换中,从而能够采取合适的恢复措施。
所公开的挂起恢复方法也已经调整为适应以上认明的共同待批准申请(代理人案例号POU920050087USI)“Method and System toExecute Recovery in Non-Homogeneous MultiprocessorEnvironments”中公开的并行恢复模式范围之内。挂起恢复能够在不同的CSS Recovery任务之下并行地进行。
本发明的优选实施例提供了许多重要优点。例如,本发明提供的方法恢复由于微程序语言错误而挂起的控制块。以这种方式,本发明能够防止或修复由这些挂起控制块已经导致的一类UIRA。另外,本发明还能够恢复由其他方面完好的PU无意地保持锁定的控制块,而不必强制该PU通过恢复。在代码复杂度和开销方面,这种解决方案的成本低得多。
考虑到参考指定和显示了本发明优选实施例的附图给出的以下详细说明,本发明的进一步利益和优点将会变得显而易见。
附图简要说明
图1展示了可以使用本发明的多处理器计算系统;
图2显示了在本发明中可以使用的任务控制块;
图3的表格显示了在本发明的操作中可以调用的挂起恢复措施;
图4的表格显示了对可操作处理单元的挂起恢复措施;
图5展示了控制块的优选锁定字;
图6是流程图,显示了判断锁定字是否在转换中的优选过程。
具体实施方式
图1展示了多处理器计算机系统100,它通常包括多台主机计算机110、112、114,它们也称为“主机”。主机110、112、114利用主机链接116互连,它可以包括例如耦合链接、内部耦合通道、集成集群总线和其他适宜的链接。在替代实施例中,可以使用一台、两台、四台或更多台主机,而不是如在展示的实例中使用三台主机110、112、114。系统100还包括计时器118和连接设施120。
每台主机110、112、114本身都是一个多处理器系统。每台主机110、112、114都可以实施为相同类型的数字处理单元(或不同)。在一个特定实例中,每台主机110、112、114都包括IBM的运行一种或多种z操作系统(z/OS)的z系列Parallel Sysplex服务器,比如z系列900。适宜的数字处理单元的另一个实例是运行OS/390的IBMS/390服务器。主机110、112、114运行一个或多个应用程序,它们产生若干数据对象,存储在一台或多台主机110、112、114的内部或外部。数据对象可以包括新数据或对旧数据的更新。主机应用程序可以包括例如IMS和DB2。主机110、112、114运行的软件包括各自的I/O例行程序115a、115b、115c。应当注意,在系统100中可以使用其他类型的主机。确切地说,主机可以包括任何适宜的数字处理单元,例如大型计算机、计算机工作站、服务器计算机、个人计算机、超级计算机、微处理器或其他适宜的机型。
系统100还包括连接到每台主机110、112、114的计时器118,以使主机110、112、114的计时同步。在一个实例中,计时器118是IBM的计时器。作为替代,可以省略单独的计时器118,在此情况下,使用主机110、112、114其一中的计时器使主机110、112、114的计时同步。
连接设施120通过各自的连接器122、124、126连接到每台主机110、112、114。连接器122、124、126可以是例如Inter System Coupling(ISC),或Internal Coupling Bus(ICB)连接器。连接设施120包括由主机110、112、114共享的高速缓存128(“高速缓存”),还包括处理器130。在一个特定实例中,连接设施120是IBM z900的100型连接设施。其他的适宜连接设施实例包括IBM 9674型的C04和C05以及IBM 9672型的R06。作为替代,所述连接设施120可以包括在服务器中,比如主机110、112、114之一。
作为实例,这个替代实施例的某些适宜的服务器包括IBM的z900和S/390服务器,它们具有内部连接设施或用作连接设施的逻辑分区。作为替代,连接设施120可以在任何其他适宜的服务器中实施。作为实例,连接设施120中的处理器130可以运行z/OS。作为替代,可以使用任何适宜的共享存储器取代连接设施120。高速缓存128是主机级的高速缓存,因为主机110、112、114可以访问它。高速缓存128处于主机110、112、114控制下,需要时甚至可以包括在主机之一中。
在正常运行时,系统100——典型的分区系统——并行运转,换言之,由于若干分区共享服务器的操作资源,所以由这些分区执行的操作能够同时发生。如果各个部分都运行正常,正在使用不同操作系统运转的若干不同分区就同时执行它们的功能。
不过,还存在一定的关键功能,在短时间期间需要系统串行化。串行化强制以串行的而不是以并行的方式发生操作,即使当时操作可能以并行的方式执行。典型情况下,当计算的准确性依赖于或可能依赖于计算的严格次序时,或者当操作在短暂时间期间需要不中断地使用其他情况下共享的硬件资源(例如I/O资源)时,串行化是强制性的。
处理器硬件单元(PU)用作I/O处理器(IOP)或中央处理器(CP)管理不同I/O任务所用的z系列CSS之内共享资源的实例是公知为控制块的内部数据结构。这些控制块驻留在硬件系统区(HAS)中,该区是微程序语言可访问的存储器。
在系统中任务的处理过程中,通常在任务开始时由PU获得(锁定)这些共享控制块中的一个或多个。倘若另一个PU为其正在运行的任务需要同一控制块,典型情况下这个新请求者会在代码循环中轮询,试图锁定该控制块。所述任务完成后,持有所述闭锁的PU就会释放(解锁)该控制块,从而容许这个新请求者获得这个控制块。所述任务完成时,该PU锁定的所有控制块都应当解锁。
不过,可能发生以下情况:PU锁定了控制块,而且微程序语言错误导致PU不解锁它。通常,使控制块保持锁定的PU典型情况下从硬件观点来看是完好的,换言之,没有出现任何错误标志指明该处理器有任何问题。要不是无嫌疑的PU正在试图锁定该控制块,将轮询并最终挂起。
本发明有效处理了这种情况。在本发明的优选实施例中,利用以下基础设施特性实现了这个目的:
-经历通道子系统(CCS)恢复的处理单元(PU)所用的若干任务控制块(TCB)。(为恢复PU而恢复的TCB)。
●由恢复的TCB中控制块入口所指向的控制块的锁定字
●将经历CCS恢复的PU所用的TCB(“其他”PU所用的“其他”TCB)
●不恢复PU所用的TCB(可操作PU的TCB)
图2更详细地展示了任务控制块。一般来说,任务控制块(TCB)用于记录每个PU在使用哪个I/O控制块。优选情况下,每个PU分配2个TCB,以支持PU的对偶运算模式,i390模式和millicode模式。
优选情况下,本文描述的基础设施用于主线I/O代码中,以及I/O子系统恢复代码中。
更具体地说,TCB将包含的有关信息:
●执行I/O任务时,由PU正在使用的、锁定的或试图锁定的若干控制块。
●PU任务状态步调信息。
●如果出现错误,所述PU将把错误类型、错误代码以及扩充的错误信息存储在所述TCB中。
运行在PU上的每个任务分配了TCB。例如,在IBM的z系列服务器上,PU能够在两种模式下运行,i390模式或millicode模式,因而当采用这样的服务器实施本发明时,优选情况下,将为每个PU分配两个TCB。为每台PU的i390模式和millicode模式定义独特的TCB,通过保持所用的资源不冲突,当处理器在处理功能中切换模式时,就容许若干任务能够发生更充分的交错。这个结构显示在图2中。
1.TCB代码字段202:识别TCB控制块类型的唯一静态十六进制值。
2.PU号字段204:拥有所述TCB的物理PU号。
3.模式字段206:Millicode模式或i390模式的标识符。
4.控制块时段阵列:三个16单元阵列,包含:
●控制块掩码(CBM)阵列212:指出控制块被锁定或者在被锁定的过程中。
●控制块代码(CBC)阵列214:包含锁定的或正在被锁定的控制块的控制块代码。
●控制块地址(CBA)阵列216:包含锁定的或正在被锁定的控制块的控制块地址。
5.任务步调字段220:指出所述PU上正在执行的当前任务步骤。
6.错误代码字段222:由失败任务存储的唯一错误数据。
7.扩充错误信息字段224:为了帮助恢复或问题调试,由失败任务存储的其他数据。
挂起的第一个处理步骤是检测它。如果由挂起检测过程比如i390监察计时器(Watchdog Timer)任务或者由直接计时控制块锁定过程的millicode控制块锁定任务过去已经检测出一个挂起,将会把该信息传送到TCB中的错误代码字段中。当挂起恢复功能需要判断所述PU是否被“挂起”时,它就能够检查在所述TCB中的错误代码字段。在当前的实施例中,以下两种错误类型被视为挂起:
●错误类型04:监察超时(i390)
●错误类型31:Millicode Hang Summary
检测出的挂起是一类错误,它将导致分派CSS Recovery。在这个实施例中,由一个或多个IOP执行CSS Recovery,并且每当分派CSS Recovery实际检查调用的理由是否是因为挂起时,都会调用新的挂起恢复功能。在确认了用于恢复PU的TCB之后,但是在CSSRecovery调用控制块特定算法恢复所述TCB中遗留的控制块之前,将调用挂起恢复。
对CSS Recovery正在恢复的每个PU——它们可能是IOP也可能是CP,挂起恢复对正在被恢复的每个PU的millicode和i390的TCB中的若干控制块入口都将进行单步调试,并且检查由每个有效CBA所指向的控制块中的锁定字。然后,它将根据图3的表1执行适当的措施——基于锁定字、“这个”恢复TCB和“其他”TCB的挂起恢复算法。挂起恢复还将“擦除”所述恢复TCB,如在这个表中所指示,即使挂起指示器并没有指出存在着挂起。
图4中的表II描述了基于以下介绍的新颖锁定变换判断方法而采用的挂起恢复措施。
图5中展示的以下新结构包括在锁定字中,以判断锁定字是否处于变换状态,如下所述:
-“G”位,以及
-Recoverer IOP#
为了判断是否能够检查可操作PU的TCB,以发现可能挂起控制块的CPA,控制块拥有者的锁定和TCB必须处于一致状态。以下介绍的并在图6中一般展示的是利用加入到锁定字的新构造判断锁定字和TCB状态的方法:
在步骤602,使用比较和交换指令(C/S),对可能挂起控制块的锁定字自动地接通G位,同时设置Recoverer IOP#(运行CSSRecovery的IOP)。
在步骤604,如果C/S检测出改变的锁定字,那么:
●锁定变换状态=“Transitioning”
●CBA状态=“Indeterminate”
●退出算法
在步骤606,扫描所述控制块拥有者的TCB,寻找这个CBA:
●如果在TCB中发现了CBA,那么CBA状态=“FOUND”
●否则,CBA状态=“NOT Found”
在步骤610,再取回所述锁定字
●如果G位被切断,或所述锁定字中的其他位被改变(即Recoverer IOP#等)
锁定变换状态=“Transitioning”
改变CBA状态=“Indeterminate”
●否则,锁定字稳定:
锁定变换状态=“Unchanging”
CBA状态=如同步骤606中的判断退出算法
图5的表3中使用Recoverer IOP#的理由在于帮助检测是否并行执行CSS Recovery的另一个IOP也正在设置所述G位。这就关闭了由并行Recovery引进的窗口,从而由IOP“A”将所述G位设置为ON;所述可操作PU转而将其改变为OFF,表示OK;然后,IOP“B”将其改变回ON;然后IOP“A”可以见到它接通,并采取错误的操作。现在,通过所述Recoverer IOP #中的变化,能够检测到这种情况。
此外,设计表1和表2中的挂起恢复方法时考虑了并行恢复。由于TCB以PU为基础组织,并且包含该PU锁定或试图锁定的控制块,使其成为并行CSS Recovery的范例,使得某个IOP对一组PU执行CSS Recovery,它们与正在进行CSS Recovery的另一组PU不重叠,从而避免了由不同的CSS Recovery并行地恢复相同的控制块。
在保证了锁定的控制块在正确的TCB之后,通过从当前正在恢复的恢复TCB中去除PU未锁定的控制块,挂起恢复解决了所有的TCB控制块重叠问题。同样,为了避免干扰其他的并行CSS Recovery任务,设计表1和表2中算法时仅仅对当前正在恢复TCB做修改,而不对不在恢复的其他TCB进行修改——如果需要它会“窃取”所述锁定,而不是在控制块拥有者的TCB中插入丢失的CBA。这也避免了不得不锁定TCB。
本发明的优选实施例提供了许多重要优点。例如,本发明提供的方法恢复由于微程序语言错误而挂起的控制块。以这种方式,本发明能够防止或修复由这些挂起控制块已经导致的一类UIRA。另外,本发明还能够恢复由其他方面完好的PU无意地保持锁定的控制块,而不必强制该PU通过恢复。在代码复杂度和开销方面,这种解决方案的成本低得多。
虽然显而易见本文公开的发明非常适于实现上述目的,但是应当认同,本领域的技术人员可以设计出许多修改和实施例,所以附带的权利要求书旨在覆盖所有这样的修改和实施例,因为它们落入本发明的真正实质和范围之内。
Claims (10)
1.一种用于在包括多个处理单元、多个I/O控制块和多个任务控制块的多处理器系统中从控制块挂起恢复的方法,所述方法包括以下步骤:
对所述处理单元的每一个分配一个所述任务控制块;
锁定I/O控制块,以便各个所述处理单元独占地使用;
在分配给所述处理单元的所述任务控制块中识别为所述处理单元锁定的I/O控制块;
使用一个所述任务控制块指明由分配了一个所述任务控制块的处理单元先前锁定的一个I/O控制块已经保持锁定在错误状态中;
调用恢复过程;以及
使用所述恢复过程解锁所述先前锁定的一个I/O控制块。
2.根据权利要求1的方法,其中,使用一个所述任务控制块的步骤包括以下步骤:
确定所述一个I/O控制块已经保持锁定在错误状态中;
识别对先前已经锁定所述一个I/O控制块的处理单元分配的任务控制块;以及
对所述识别的任务控制块增加信息,以指明所述一个I/O控制块已经保持锁定在错误状态中。
3.根据权利要求2的方法,其中,使用所述恢复过程的步骤包括以下步骤:使用所述恢复过程在所述识别的任务控制块中检查所述信息,然后解锁所述先前锁定的一个I/O控制块。
4.根据权利要求1的方法,其中,所述I/O控制块的每一个包括锁定字,并且使用所述恢复过程的步骤包括以下步骤:
使用一个所述处理单元执行所述恢复过程;以及
在所述一个I/O控制块中识别所述一个处理单元。
5.根据权利要求4的方法,其中,使用所述恢复过程的步骤进一步包括以下步骤:在所述一个I/O控制块的所述锁定字中设置旗标,指明所述锁定字处于变换中。
6.一种用于在包括多个处理单元和多个I/O控制块的多处理器系统中从控制块挂起恢复的系统,所述系统包括:
多个任务控制块,其中,对所述处理单元的每一个分配一个所述任务控制块;
锁定I/O控制块以便各个所述处理单元独占地使用的装置;
在分配给所述处理单元的所述任务控制块中识别为所述处理单元锁定的I/O控制块的装置;
使用一个所述任务控制块指明由分配了一个所述任务控制块的处理单元先前锁定的一个I/O控制块已经保持锁定在错误状态中的装置;以及
恢复过程,用于解锁所述先前锁定的一个I/O控制块。
7.根据权利要求6的系统,其中,使用一个所述任务控制块的装置包括:
确定所述一个I/O控制块已经保持锁定在错误状态中的装置;
识别对先前已经锁定所述一个I/O控制块的处理单元分配的任务控制块的装置;以及
对所述识别的任务控制块增加信息,以指明所述一个I/O控制块已经保持锁定在错误状态中的装置。
8.根据权利要求7的恢复系统,其中,所述恢复过程包括在所述识别的任务控制块中检查所述信息,然后解锁所述先前锁定的一个I/O控制块的装置。
9.根据权利要求6的系统,其中,所述I/O控制块的每一个包括锁定字,并且所述系统进一步包括:
选择一个所述处理单元执行所述恢复过程的装置;以及
在所述一个I/O控制块中识别所述一个处理单元的装置。
10.根据权利要求9的系统,其中,所述恢复过程包括在所述一个I/O控制块的所述锁定字中设置旗标,以指明所述锁定字处于变换中的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/223,877 US20070083867A1 (en) | 2005-09-09 | 2005-09-09 | Method and system to recover from control block hangs in a heterogenous multiprocessor environment |
US11/223,877 | 2005-09-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1928827A CN1928827A (zh) | 2007-03-14 |
CN100472457C true CN100472457C (zh) | 2009-03-25 |
Family
ID=37858801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100940046A Expired - Fee Related CN100472457C (zh) | 2005-09-09 | 2006-06-22 | 多处理器环境中从控制块挂起恢复的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070083867A1 (zh) |
CN (1) | CN100472457C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11086686B2 (en) * | 2018-09-28 | 2021-08-10 | International Business Machines Corporation | Dynamic logical partition provisioning |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4827399A (en) * | 1986-10-03 | 1989-05-02 | Nec Corporation | Common file system for a plurality of data processors |
JP2804478B2 (ja) * | 1988-05-26 | 1998-09-24 | 株式会社日立製作所 | タスク制御方式及びオンライン・トランザクション・システム |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US5274809A (en) * | 1988-05-26 | 1993-12-28 | Hitachi, Ltd. | Task execution control method for a multiprocessor system with enhanced post/wait procedure |
US5293613A (en) * | 1991-08-29 | 1994-03-08 | International Business Machines Corporation | Recovery control register |
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 |
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 |
CN1093955C (zh) * | 1995-07-21 | 2002-11-06 | 西门子公司 | 计算机系统 |
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 |
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 |
US6182238B1 (en) * | 1998-05-14 | 2001-01-30 | Intel Corporation | Fault tolerant task dispatching |
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 |
US6889378B2 (en) * | 2000-07-24 | 2005-05-03 | Sony Corporation | Information processing method, inter-task communication method, and computer-executable program for the same |
EP1182569B8 (en) * | 2000-08-21 | 2011-07-06 | Texas Instruments Incorporated | TLB lock and unlock operation |
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 |
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 |
US20020116665A1 (en) * | 2001-02-16 | 2002-08-22 | Pickover Clifford A. | Method and apparatus for supporting software |
US6957435B2 (en) * | 2001-04-19 | 2005-10-18 | International Business Machines Corporation | Method and apparatus for allocating processor resources in a logically partitioned computer system |
US7305421B2 (en) * | 2001-07-16 | 2007-12-04 | Sap Ag | Parallelized redo-only logging and recovery for highly available main memory database systems |
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 |
US7478265B2 (en) * | 2004-10-14 | 2009-01-13 | Hewlett-Packard Development Company, L.P. | Error recovery for input/output operations |
-
2005
- 2005-09-09 US US11/223,877 patent/US20070083867A1/en not_active Abandoned
-
2006
- 2006-06-22 CN CNB2006100940046A patent/CN100472457C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4827399A (en) * | 1986-10-03 | 1989-05-02 | Nec Corporation | Common file system for a plurality of data processors |
JP2804478B2 (ja) * | 1988-05-26 | 1998-09-24 | 株式会社日立製作所 | タスク制御方式及びオンライン・トランザクション・システム |
Also Published As
Publication number | Publication date |
---|---|
US20070083867A1 (en) | 2007-04-12 |
CN1928827A (zh) | 2007-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2095231B1 (en) | Computer system and method of control thereof | |
US6338112B1 (en) | Resource management in a clustered computer system | |
US7237140B2 (en) | Fault tolerant multi-node computing system for parallel-running a program under different environments | |
JP5102901B2 (ja) | データセンタにわたる複数データサーバ間のデータ完全性を保持する方法およびシステム | |
CN101589370B (zh) | 一种并行计算机系统以及在其上进行故障恢复的方法 | |
US6314526B1 (en) | Resource group quorum scheme for highly scalable and highly available cluster system management | |
CN102346460B (zh) | 一种基于事务的服务控制系统及其控制方法 | |
US9590843B2 (en) | Method and system for providing distributed management in a networked virtualization environment | |
US20080172679A1 (en) | Managing Client-Server Requests/Responses for Failover Memory Managment in High-Availability Systems | |
US20020091814A1 (en) | Highly scalable and highly available cluster system management scheme | |
CN109656742B (zh) | 一种节点异常处理方法、装置及存储介质 | |
EP3767470B1 (en) | Central processing unit cpu hot-remove method and apparatus, and central processing unit cpu hot-add method and apparatus | |
KR20000011834A (ko) | 고장-허용오차를계산하는컴퓨터시스템및이를동작시키는방법,고장-관리컴퓨터장치,및고장-허용오차계산장치 | |
CN102355369A (zh) | 虚拟化集群系统及其处理方法和设备 | |
US20030163744A1 (en) | Information processing system, and method and program for controlling the same | |
WO2008078281A2 (en) | Distributed platform management for high availability systems | |
US10353786B2 (en) | Virtualization substrate management device, virtualization substrate management system, virtualization substrate management method, and recording medium for recording virtualization substrate management program | |
US8015432B1 (en) | Method and apparatus for providing computer failover to a virtualized environment | |
Glider et al. | The software architecture of a san storage control system | |
US7752497B2 (en) | Method and system to detect errors in computer systems by using state tracking | |
US7409722B2 (en) | Control status register access to enable domain reconfiguration | |
US7996585B2 (en) | Method and system for state tracking and recovery in multiprocessing computing systems | |
JP2016027470A (ja) | 高稼働率環境においてアプリケーションを同期的に実行する方法および装置 | |
CN100472457C (zh) | 多处理器环境中从控制块挂起恢复的方法和系统 | |
CN101119242B (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090325 Termination date: 20100622 |