用于校正管理程序工作的分布的系统的制作方法

文档序号:6620617阅读:163来源:国知局
专利名称:用于校正管理程序工作的分布的系统的制作方法
技术领域
本发明涉及计算系统,具体涉及向在逻辑地分区的环境内的中央处理单元分派虚拟处理器。
背景技术
许多计算应用的速度和效率依赖于处理资源的可用性。为此,计算架构——诸如由国际商业机器公司开发的“虚拟机器”设计——在多个进程之间共享公共的处理资源。这样的架构可以传统上依赖于具有一个或多个物理处理器的单个计算机器或多个中央处理单元(CPU)。物理处理器可以执行被配置来模拟多个虚拟处理器的软件。
虚拟处理器在逻辑地分区的计算系统中具有特定的应用。分区可以逻辑地包括由管理员分配的机器的物理处理器、存储器和其他资源的一部分。同样,管理员可以在分区之间共享物理资源。每个分区通常容纳一个操作系统,并且可以具有多个虚拟处理器。以这种方式,每个分区很大程度上像它是独立的计算机那样工作。
被称为管理程序或分区管理器的基础程序使用这个方案来向每个分区分配物理资源。例如,管理程序可以从操作系统截获对于资源的请求,以全局地共享和分配它们。如果多个分区共享多个处理器,则管理程序在共享处理器的分区的虚拟处理器之间分配物理处理器。
为了努力提高其中多个分区共享多个处理器的计算机系统的处理速度,系统设计人员通常实现管理程序调用。一个管理程序调用一般包括从相应的分区向管理程序发出的请求,用于请求进行对于物理处理器的访问。虚拟处理器被分派到物理处理器。一旦虚拟处理器被分配到物理处理器,则虚拟处理器可以访问进行其工作所需要的处理周期。
尽管有由逻辑地分区的计算机系统提供的效率,但是仍然存在某些固有的复杂性。例如,共享物理处理器基本上要求当一个分区可以访问物理处理器时,另外将使用那个物理处理器的另一个分区必须等待。子分区级的系统还需要CPU周期和其他的物理资源来执行例如诊断工作。这种资源的争用可以引起关于工作分布的公平性的问题,即哪些分区在给定时间将访问物理资源。因此,持续地需要一种改进的方式来在逻辑地分区的环境中分布物理处理器周期。

发明内容
本发明的特征包括一种被配置来通过在一个方面使用能够容纳可以被绑定到目标物理资源的虚拟处理器的管理程序分区,来改善在逻辑地分区的环境中的物理处理器周期的分布的装置、方法和程序产品。在许多情况下,目标物理资源不属于管理程序分区,而且管理程序分区的虚拟处理器被允许使用目标物理资源来进行工作。这样的目标物理资源可以包括特定的物理处理器、存储器和/或拥有物理处理器或其他资源的分区。
在逻辑地分区的计算机内的工作的分布可以因此而包括通过将第一分区的虚拟处理器绑定到拥有物理处理器的第二分区来代表第二分区在第一分区中进行工作。以这种方式,可以使用被分配到第二分区的物理资源的至少一部分来进行工作。
本发明的另一个方面可以允许通过将管理程序分区的虚拟处理器绑定到由另一个分区拥有的诸如CPU之类的物理资源,来在逻辑地分区的环境中分布工作。管理程序分区的虚拟处理器可以因此而在所述物理资源上进行工作。
本发明的其他特征允许管理程序分区的虚拟处理器不绑定到目标分区、处理器、存储器或其他目标物理资源。所述绑定处理本身可以包括标注被绑定的虚拟处理器的控制块,以便它与目标物理资源相关联。在某些情况下,虚拟处理器预先分配到的目标物理处理器将被先占用,以允许管理程序的虚拟处理器完成工作。
通过附图及其说明,将使得本发明的上述和其他目的和优点显然。


被并入和构成本说明书的一部分的附解了本发明的实施例,并且与上述的本发明的一般说明和下述的实施例的详细说明一起用于说明本发明的原理。在附图中,图1是按照本发明的计算机的方框图;图2是图1的计算机的主要软件部件和资源的方框图;图3是一个流程图,它具有适合于将管理程序的虚拟处理器绑定到被分配到目标分区的目标物理处理器的、由图2的管理程序分区启动的步骤;图4是一个流程图,它具有适合于将管理程序的虚拟处理器绑定到被分配到目标分区的目标物理处理器的、由图2的目标分区启动的步骤;图5是一个流程图,它具有适合于将图2的管理程序的虚拟处理器绑定到特定的目标物理处理器的步骤;以及图6是一个流程图,它具有适合于向目标物理处理器上分派图2的管理程序的虚拟处理器的步骤。
具体实施例方式
本发明的特征包括一种装置、程序产品和方法,用于通过将管理程序分区的虚拟处理器或其他资源绑定到一个分区或物理资源来在逻辑地分区的计算机系统内分布工作。所述虚拟资源绑定到的分区或物理资源是处理程序资源代表其来进行工作的同一分区或物理资源。代表请求的分区而完成的工作可以因此而使用由请求分区拥有的物理资源,根据管理程序分区的虚拟资源被更公平地分布。
本发明的系统可以因此而管理向在被分区的环境内的物理处理器分派虚拟处理器。本发明的这样的特征可以更具体地包括可以绑定到逻辑地分区的管理程序分区的虚拟处理器或被分配到逻辑地分区的物理处理器。或者,管理程序分区的虚拟处理器可以被绑定到特定的物理处理器。
虽然随后要进行适合于执行本发明的这些特征的环境的更具体的讨论,但下面还是根据图1和图2来提供宽泛概述。图2所示的管理程序46包括负责分区完整性和分区管理的程序代码。为此,管理程序46通常包括两层软件。一个这样的层可以包括分区管理器或管理程序分区50。管理程序分区50一般用于执行较高级别的操作。这样的操作可以包括例如在分区上的初始程序装入(IPL)或并发输入/输出维护。这个代码层使用重定位来运行,并且可以执行类似于操作系统的任务。以这种方式,管理程序分区50作为在系统30上的一个逻辑分区,除了它对于用户被隐藏之外。即,管理程序分区50通常没有像传统的操作系统那样的用户界面。
管理程序46的第二代码层即共享的服务块48可以被分区通过管理程序调用而调用。这个代码层通常被调用来用于包括分区和虚拟处理器管理的功能,其中包括物理处理器分派,这个代码层可以没有任务的概念。
因为管理程序分区50对于系统管理员被隐藏,因此没有被分配到其的物理处理器能力。在管理程序46的共享服务块48中的管理程序调度程序51因此必须窃取物理处理器周期以运行管理程序分区50的虚拟处理器14。
由管理程序分区50执行的工作可以被分类为三个大类。即,由管理程序分区50执行的一些工作可以被特定的分区产生。这样的工作的示例可以包括分区的IPL、将分区断电和执行分区的主要转储。第二工作源可以包括平台工作。这样的工作的示例是平台错误恢复以及与服务处理器或硬件管理控制台的交互。由管理程序分区50完成的工作的第三来源可以包括需要在特定的物理处理器12上被执行的工作。这样的工作的示例包括在系统中的物理处理器12上运行诊断测试。
由分区产生的工作通常使用被分配到那个分区42的物理处理器12而被执行。例如,应当从被分配到产生工作的分区的专用物理处理器组来发生由管理程序46的共享服务块48完成的处理器周期窃取。专用处理器分区是专用被分配到其的物理处理器的分区。对于共享的处理器分区,可以在产生工作的那个分区的共享池内的物理处理器进行工作。共享的处理器分区是与其他共享处理器分区共享物理处理器的分区。最后,可以在那个物理处理器上执行物理处理器特有的工作,以便可以在所述物理处理器上实现工作的效果。
如下详细所述,上述目的是通过将管理程序分区50的虚拟处理器绑定到目标物理处理器12而实现的。目标物理处理器12可以包括例如被分配到目标分区42的物理处理器(其中虚拟处理器14被绑定到逻辑分区42)和/或特定的物理处理器。
存在其中向特定的逻辑分区42绑定管理程序分区50的虚拟处理器的至少两种方式。即,管理程序分区50可以访问特殊的管理程序调用,即在系统上的任何其他逻辑分区不可获得的管理程序调用。一种这样的调用是对于分区管理程序调用的绑定。这种对于分区管理程序调用的绑定绑定了其上对于指定的、目标分区42进行调用的管理程序分区的虚拟处理器14。当管理程序调用返回时,虚拟处理器将在被分配到目标分区42的物理处理器之一上执行;即,所述分区启动由管理程序分区42承担的工作。如果所绑定的分区是共享的处理器分区,则管理程序分区50的虚拟处理器将在被分配到目标分区的共享池中的处理器上执行。
在另一个示例中,分区42可以进行管理程序调用,这产生用于管理程序50的工作。例如,管理程序调用可以产生管理程序分区50的虚拟中断。在这种情况下,管理程序46的共享服务块48知道管理程序分区50的虚拟处理器14是中断的目标,并且将其绑定到作出管理程序调用的目标分区42以产生中断。用于产生对于分区的绑定的管理程序调用的一个示例是用于向管理程序分区以信号通告事件消息的调用。
如在此所述,管理程序分区50访问特殊的管理程序调用,诸如“对于物理处理器的绑定”的管理程序调用。这个管理程序调用将管理程序分区的虚拟处理器14(在其上进行调用)绑定到指定的目标物理处理器12。当管理程序调用返回时,虚拟处理器14将在其被绑定到的目标分区42的目标物理处理器12上执行。
对应的一对未绑定的调用被提供来使得管理程序的绑定的虚拟处理器可以从分区(的物理处理器)或特定的物理处理器解除绑定。一旦物理处理器被解除绑定,则在系统内的任何分区能够分派管理程序分区的虚拟处理器14。
每个虚拟处理器14包括控制块,其中包括用于识别绑定或其他状态的存储器。当虚拟处理器被绑定到分区或物理处理器时,被绑定的分区ID或被绑定的物理处理器索引被记录在被绑定的虚拟处理器的控制块中。当未绑定的调用出现时,虚拟处理器的控制块被更新以记录这样的事实它不再被绑定,并且可以自由地在系统中的任何物理处理器上执行。
如果所述绑定作为对于管理程序调用的明显绑定而出现,则虚拟处理器14被其上其当前正在执行的物理处理器占用,并且虚拟处理器14被置于管理程序46的虚拟处理器的准备好队列47上。
当管理程序46控制绑定分区42的物理处理器或绑定物理处理器时,它查看管理程序的准备好队列47以看是否存在处于准备好运行状态中的任何绑定虚拟处理器。如果存在处于准备好运行状态的绑定虚拟处理器,则当前的虚拟处理器被占用,并且在物理处理器上分派绑定管理程序虚拟处理器。
在管理程序分区50中的任务可以在必要时将其本身绑定到逻辑分区30和解除绑定,而不论在绑定间隔期间它可以获得的执行状态如何。在这个时间期间,任务可以通过各种执行状态运行、等待和准备好运行。例如,代表分区42执行服务的任务将其本身绑定到分区42达到所述的持续时间,而不论当执行所述服务时可以引起的任何阻塞或占用如何。
为了多个任务可以同时使用对于分区设施的绑定,管理程序分区的任务分配器在必要时管理对于分区的绑定和解除对于管理程序调用的绑定,以保证当在虚拟处理器上开始任务时,虚拟处理器对于逻辑地分区的绑定是有效的。任务分配器使用所请求的绑定分区的每个任务指示器来管理必要的管理程序调用。
在管理程序分区50中的任务可以在必要时将其本身绑定到虚拟处理器或解除绑定,但是所述任务可以在绑定间隔期间执行直到完成。而且,在多线程的处理器环境中,虚拟处理器的所有线程可以被绑定到同一物理处理器12。
在冲突绑定情况下,对于物理处理器的绑定是比对于分区的绑定更强的绑定。在两种绑定的情况下,管理程序分区的物理处理器将运行在指定的物理处理器上。当管理程序分区的虚拟处理器被绑定到多个分区时,最后的绑定调用通常是较强的并且胜出。
在所有处理线程必须在同一逻辑分区的多线程处理中,两个线程中的任何一个都可以作出绑定/解除绑定调用,以启动针对分区或物理处理器的绑定。这些特征在后续的硬件和软件说明中将被更加详细地讨论。
硬件和软件环境更具体地参照附图,其中,在几个视图中,相同的标号表示相同的部分。图1图解了按照本发明的数据处理装置10。装置10一般表示例如多个多用户计算机系统的任何一个,诸如网络服务器、中规模计算机、大型计算机等。但是,应当明白,本发明可以被实现在其他数据处理装置上,例如单独或单用户计算机系统,诸如工作站、台式计算机、便携计算机等;其他计算器件上,诸如嵌入式控制器等。装置10的一种适当的实现方式在于中规模计算机,诸如从国际商业机器公司可以获得的iSeries计算机。
装置10一般包括连接到包括主存储器17的存储子系统——例如动态随机存取存储器(DRAM)阵列——的一个或多个物理处理器12。当期望时,物理处理器可以是多线程的。也图解为位于多线程物理处理器12和主存储器17之间的是高速缓冲存储子系统16,通常包括数据、指令和/或组合高速缓冲存储器的一个或多个级,某些高速缓冲存储器或者服务独立的处理器或者服务多个处理器,如本领域内所公知。
而且,主存储器17经由系统总线18和多个接口器件连接到多种外部(输入/输出)器件,所述多个接口器件例如输入/输出总线附加接口20、工作站控制器22和存储控制器24,它们分别向一个或多个外部网络26、一个或多个工作站28和/或一个或多个诸如直接访问存储器(DASD)29的存储器提供外部访问。
图2更详细地图解了在图1的装置10上实现逻辑地分区的、多线程的物理处理器环境中使用的主要软件组成和资源,所述环境包括由管理程序46管理的多个逻辑分区42、44。可以支持任何数量的逻辑分区,如本领域内所公知。
每个逻辑分区42、44使用一种操作系统(例如分别用于逻辑分区42和44的操作系统54和56),它使用与非分区计算机的操作系统相同的方式来控制逻辑地分区的主要操作。每个逻辑分区42、44在由虚拟存储器60表示的独立存储空间中执行。而且,每个逻辑分区42、44被统计地和/或动态地分配了在装置10中的可用资源的一部分。例如,每个逻辑分区可以共享一个或多个物理处理器12以及用于虚拟存储器60的可以存储空间的一部分。以这种方式,可以由多个逻辑分区使用一个给定的处理器。
图2也示出了包括管理程序46的一部分的分区50。这个管理程序分区50像传统的分区42、44(和操作系统)一样以许多方式来起作用,但是没有用于客户的用户界面。因为管理程序分区50在设计上缺少用户界面,因此它对于用户被“隐藏”。这个隐藏的特征保护管理程序分区以免可以通过用户交互而引起的故障。例如,当输入到传统的操作系统的命令使得操作系统崩溃时,计算机系统30可以仍然使用管理程序分区,以可能地完成故障的操作系统的工作。系统30可以因此而使用管理程序分区50来作为虚拟处理器的附加资源。
管理程序分区50可以进行被配置来将管理程序分区50的虚拟处理器14绑定到目标物理处理器12的特殊管理程序调用。同样,管理程序分区50可以对管理程序46的共享服务块48进行管理程序调用。共享的服务块48负责管理向在分派列表上或准备好队列47的物理处理器分派虚拟处理器。准备好队列47包括存储器,其中包括具有在物理处理器12上等待被分配的工作的虚拟处理器的列表。被加到包括准备好队列47的所述列表的虚拟处理器被称为“准备运行”。
图2所示的管理程序46除了处理控制块49之外也包括物理(系统)处理器12。处理器控制块49包括存储器,其中包括具有在特定物理处理器12上等待访问的虚拟处理器的列表。
用于本说明书的目标处理器可以一般包括属于一个分区的一组物理处理器之一或本身将受益于使用管理程序分区50的虚拟处理器14完成的工作的一个物理处理器。在一个特定的示例中,用于由管理程序分区50进行的管理程序调用的目标物理处理器可以包括由分区42专用和/或共享的物理处理器。目标物理处理器/资源可以通常要求由管理程序分区50的虚拟处理器14代表那个分区14来进行工作。例如,一个管理程序调用可以将管理程序分区50的虚拟处理器14绑定到专用于目标分区的一个物理处理器或物理处理器池。
由来自管理程序分区的管理程序调用绑定的另一种作为目标的物理处理器可以包括特定的物理处理器,它需要管理程序分区的虚拟处理器对其执行一些功能。这样的功能可以包括例如诊断测试。
以这种方式,由管理程序分区50产生的管理程序调用可以启动占用将在物理处理器上被分派的虚拟处理器。例如,这样的调用可以用于占用已经在准备好队列上等待的另一个虚拟处理器。另一个这样的调用可能导致虚拟处理器失去对物理处理器的访问,以允许由管理程序分区50的绑定虚拟处理器使用。
诸如海量存储器、备份存储器、用户输入、网络连接等的附加资源通常以本领域公知的方式被分配到一个或多个逻辑分区。可以使用在同一总线上共享资源的多个逻辑分区以多种方式——例如在逐个总线的基础上或在逐个资源的基础上——来分配资源。一些资源可以甚至一次被分配到多个逻辑分区。图2图解了例如三条逻辑总线62、64和66,在总线62上有多个资源被分配到一个分区,包括直接访问存储器(DASD)68、控制板70、磁带驱动器72和光盘驱动器74。
另一方面,总线64可以具有在逐个资源基础上被分配的资源,例如向逻辑分区42分配了局域网(LAN)适配器76、光盘驱动器78和DASD 80,向逻辑分区44分配了LAN适配器82和84。总线66可以表示例如特别被分配到逻辑分区44的总线,以便在所述总线上的所有资源——例如DASD的86和88——被分配到同一逻辑分区。
可以明白,图2中的特定资源的图示在本质上仅仅是例证性的,并且资源的任何组合和布置可以或者被分配到任何逻辑分区。例如,虽然仅仅在图2中示出了一个管理程序分区50,但是本领域的技术人员可以明白,如果期望的话,可以包括更多这样的分区。而且,可以明白,在一些实现方式中,可以在动态基础上重新分配资源以服务其他逻辑地分区的需要。而且,可以明白,也可以以用于将计算机与特定的硬件器件连接的输入/输出处理器(IOP)来表示资源。
可以以多种方式来实现用于实现本发明的实施例的图2所示的各种软件组成和资源,其中包括使用各种计算机软件应用、例程、组成部分、程序、对象、模块、数据结构等,以下将它们称为“计算机程序”、“程序”或“程序代码”。程序代码通常包括在各种时间在计算机中的各种存储器和存储器件中驻留的一个或多个指令,并且所述指令当被在计算机中的一个或多个处理器读取和执行时使得计算机执行用于执行体现本发明的各个方面的步骤或元素所需要的步骤。
而且,虽然本发明已经和以下将在全作用的计算机中被说明,但是本领域内的技术人员将明白,本发明的各个实施例能够作为程序产品以各种形式被分布,并且本发明等同地适用而不论用于实际执行所述分布的计算机可读信号承载媒体的特定类型如何。所述计算机可读信号承载媒体的示例包括但是不限于可记录类型的媒体,诸如特别是易失性和非易失性存储器、软盘和其他可移动盘、硬盘驱动器、磁带、光盘(例如CD-ROM、DVD等);传输型媒体,诸如数字和模拟通信链路。
另外,可以根据应用来识别以下所述的各种程序,对于所述应用,所述程序被实现在本发明的特定实施例中。但是,应当明白,随后的任何特定的程序术语仅仅为了方便而被使用,因此本发明应当不限于单独用于由这样的术语识别和/或隐含的任何特定应用中。
本领域内的技术人员可以识别在图1和2中图解的例证实施例不意欲限定本发明。事实上,本领域内的技术人员可以识别,在不脱离本发明的范围的情况下,可以使用其他替代的硬件和/或软件环境。
用于分布管理程序工作的处理图3示出了流程图90,它包括一组可以由图1和2的硬件和软件系统执行的例证步骤,所述步骤适合于将管理程序分区50的虚拟处理器14绑定到目标分区42的物理处理器12。更具体而言,流程图90的步骤导致管理程序分区的虚拟处理器14先占主要目标分区42的虚拟处理器13。管理程序分区50的虚拟处理器14可以被入队到预期被共享服务块48分派的准备好队列47。如图3所示,在虚线上表示的那些步骤92-96是由管理程序分区50的虚拟处理器14启动的步骤。位于虚线下的剩余步骤98-104被管理程序46的共享服务块48启动。
更具体地转向图3,管理程序分区50的虚拟处理器14可以在物理处理器12上在方框92执行。同样,在方框92执行的虚拟处理器14可以已经预先被管理程序46的共享服务块48分派到物理处理器12。
在图3的方框93,管理程序分区50识别它已经被分配来代表特定的分区来执行任务。例如,分区42可以请求代表请求的分区42来完成主转储。这个任务可以在方框93启动处理,使得管理程序分区50的虚拟处理器14被分派到物理处理器12以便完成转储(dump)。
如在此所述,管理程序分区50在某些方面像传统的操作系统那样起作用。但是,管理程序分区50不包括用于用户的界面。这个特征保护管理程序分区以免引起传统操作系统可能在一些情况下易于受到影响的故障。同样,管理程序分区50可以作为系统30的虚拟处理功率的强壮来源。但是,管理程序分区50可以进行特殊的管理程序调用。所述特殊管理程序调用使得管理程序分区50的虚拟处理器14能够被绑定到目标物理处理器12。这样的目标处理器可以包括属于虚拟处理器14被绑定到的目标分区的物理处理器,或其本身将受益于使用管理程序分区50的虚拟处理器14完成的工作的物理处理器。
管理程序分区50在方框96建立对于分区管理程序调用的绑定。这个管理程序调用通常在方框93识别启动虚拟处理器14的分派的分区42。在如此进行中,并且可以在全面阅读说明书后清楚,虚拟处理器14被分派到的物理处理器12将是请求分区42专用、共享、拥有或被分配的那个。
响应于方框96的管理程序绑定调用,管理程序46的共享服务块48可以在图3的方框98标注在虚拟处理器14的控制块中被绑定到目标分区42的虚拟处理器14。
在图3的方框100的管理程序46确定是否需要先占虚拟处理器14。即,管理程序46可以确定管理程序分区50的虚拟处理器14是否由于某种巧合已经在目标分区42的物理处理器12上执行。在这样的情况下,虚拟处理器14不必被先占,因为管理程序分区50的虚拟处理器14已经被分派到由目标分区拥有的目标物理处理器。所述管理程序调用在方框102被随后返回。同样,当虚拟处理器14像在前面的方框92上那样继续在物理处理器14上执行时,在虚拟处理器14的操作状态中没有任何改变。
或者,在虚拟处理器在方框100在不与目标分区相关联的物理处理器上执行的情况下,则管理程序46将通常在图3的方框104先占虚拟处理器14。这种先占可以包括从目标物理处理器12去除虚拟处理器14。在本情况下,物理处理器12与目标分区42相关联。
然后,管理程序46通常将虚拟处理器14入队到准备好队列47中,如图3的方框106所示。准备好队列47包括具有工作并且等待管理程序46将它们分派到物理处理器12的虚拟处理器的列表。在按照本发明的一个实施例中,管理程序46将虚拟处理器入队到准备好队列47的行位置中的下一个,以便当虚拟处理器14被分派到与目标分区42相关联的物理处理器12时,它立即开始在那个物理处理器12上执行。但是,本领域内的技术人员可以明白,管理程序46可以或者按照由管理员设置的操作偏好而将虚拟处理器14入队到准备好队列47的结尾或某个其他位置。
图4示出了另外适合于由图1和2的系统执行的流程图110的例证步骤的另一个序列。更具体而言,所述流程图的步骤112和114被目标分区42启动,而位于虚线下部的步骤116-120被图2的管理程序46执行。在一种含义上,流程图110的步骤示出了一种替代方式,其中虚拟处理器14可以变得被绑定到目标分区42,这与在描述图3的内容中公开的方法相反。即,与由图3中的管理程序分区50启动的步骤相反,在图4的虚线上示出的步骤被目标分区42启动。
更具体地转向图4的方框112,目标分区42的虚拟处理器13在与目标分区42相关联的物理处理器12上执行。在图4的方框114,目标分区42进行管理程序调用,用于产生用于管理程序分区50的工作。这样的管理程序调用可以包括例如对于管理程序分区50访问的信息的请求。
响应于来自分区42的管理程序调用,在图4的方框116的管理程序46可以将管理程序分区50的虚拟处理器14标注为准备好运行。由管理程序46使能的准备好运行状态使得系统30知道虚拟处理器14具有它需要在属于分区42的物理处理器上执行的工作。管理程序46也可以在方框118将虚拟处理器14标注为被绑定到在虚拟处理器14的控制块中的目标分区42。管理程序46可以随后在方框120向目标分区42返回管理程序调用,如在本领域内所公知。
图5示出了流程图130,它包括适合于由图1和2的硬件和软件系统执行的例证步骤序列。更具体而言,流程图130的步骤被配置来将图2的管理程序分区50的虚拟处理器14绑定到特定的物理处理器12。可能是这样的情况,其中特定的物理处理器12需要诊断或其他服务。在图5的虚线上的步骤132-126可以被管理程序分区50启动。在虚线下的步骤138-144可以被管理程序46启动。
更具体地转向图5的方框132,管理程序分区50的虚拟处理器14在物理处理器12上执行。如在此所讨论的,这个执行可以是由物理处理器12的管理程序46向虚拟处理器14的预先分派的结果。管理程序分区50在方框134接收一个任务,所述任务导致虚拟处理器14被分派来在特定的目标处理器12上执行功能。响应于在方框134接收到所述任务,管理程序分区50在方框136可以建立对于处理器管理程序调用的绑定。
管理程序46响应于在方框136进行的管理程序调用而在方框138将虚拟处理器14标注为被绑定到目标处理器12。虚拟处理器14可以更具体地被标注为被绑定在虚拟处理器14内包括的可读存储器中。
管理程序46在方框140确定是否需要先占虚拟处理器14。例如,当虚拟处理器14碰巧已经在目标物理处理器12上执行时,不必先占虚拟处理器14。在这样的情况下,管理程序46代之以在方框142返回管理程序调用。
或者,在管理程序分区50的虚拟处理器14在除了目标处理器之外的物理处理器上执行的情况下,管理程序46可以在方框144先占虚拟处理器。管理程序46可以随后或同时在适当的处理器控制块49将虚拟处理器14入队(enqueue)到物理目标处理器12。这样的队列可以包括一个标识符,它与存储在处理器控制块49中的目标处理器相关联,所述处理器控制块49与虚拟处理器14的标识符相关联。
图6示出了流程图150,它包括适合于由图1和2的硬件和软件环境执行的例证步骤序列,用于将管理程序分区50的虚拟处理器14分派到目标物理处理器12上。在图6的方框152,分区42的虚拟处理器13在物理处理器12上执行。因此,方框152预先假定管理程序46已经预先将虚拟处理器13分派到物理处理器12。
在图6的方框153,出现中断事件,这样的中断可以包括定时器事件。定时器事件可以包括系统30的特征,它使得管理程序46可以定期地重新获得物理处理器12的控制。例如,虚拟处理器14可以每10毫秒暂停或中断。这个特征可以使得管理程序46可以在物理处理器12上重新分布虚拟处理器,这是效率和优先权考虑所需要的。
管理程序46可以在方框154确定在准备好队列47上是否存在管理程序分区50的虚拟处理器14。如在此所述,可以使用准备好队列47来跟踪虚拟处理器分配。换句话说,管理程序46在方框154确定管理程序虚拟处理器14是否有工作要做。
在在准备好队列47上指示没有管理程序分区50的虚拟处理器14有工作要做的情况下,管理程序46可以在方框156确定是否存在被绑定到当前的物理处理器的管理程序分区50的虚拟处理器14。为此,管理程序46可以查看与处理器相关联的处理器控制块49,在所述处理器上,处理器控制块49正在执行。在管理程序46在方框156未找到这样的绑定状态的情况下,管理程序46可以在方框158向分区42返回物理处理器12。即,可以允许虚拟处理器13继续在方框158执行,就像在方框153的中断事件之前那样。
或者,在管理程序46在方框156确定管理程序分区50的虚拟处理器14被绑定到作为目标的特定物理处理器的情况下,管理程序46可以在方框160先占当前在物理处理器12上的虚拟处理器13。管理程序分区50的虚拟处理器14可以然后在图6的方框161被分派到目标物理处理器12。
在管理程序46或者在方框154确定管理程序分区50的虚拟处理器14在准备好队列47上的情况下,管理程序可以在方框162确定虚拟处理器14是否被绑定到一个分区。在虚拟处理器14未被绑定到一个分区的情况下,管理程序46可以先占当前被分派到物理处理器的虚拟处理器13,并且在其位置分别在方框160和161向物理处理器12分派管理程序分区50的虚拟处理器14。这可以是在方框162的情况,其中虚拟处理器14正在进行系统工作。
在在方框162确定虚拟处理器14被绑定到一个分区的情况下,管理程序46可以在方框163进一步确定当前的分区是否专用于处理器分区。如果如此,则管理程序46可以在方框164确定管理程序分区50的虚拟处理器14是否被绑定到当前使用物理处理器12的分区42。即,管理程序46可以确定是否管理程序分区50的虚拟处理器14被绑定到当前在处理器上执行的分区42。如果虚拟处理器14被绑定到分区42——其虚拟处理器13当前执行在目标物理处理器12上,则管理程序46可能需要释放对于目标物理处理器的访问。即,管理程序46可以先占当前在与目标分区42相关联的物理处理器12上运行的虚拟处理器13,并且分别在方框160和161向那个目标物理处理器12分派管理程序分区的虚拟处理器14。
在虚拟处理器13当前执行在不与目标分区相关联的物理处理器上的情况下,管理程序46不必中断或先占虚拟处理器的工作,并且管理程序46可以代之以在发生方框153的中断的点在方框158向虚拟处理器返回物理处理器12的控制。
在管理程序分区50的虚拟处理器14在方框165被绑定到共享的处理器分区的情况下,管理程序46可以先占当前被分派到物理处理器的虚拟处理器13,并且在其位置分别在方框160和161向物理处理器12分派管理程序分区50的虚拟处理器14。在虚拟处理器14或者在方框165不被绑定到共享的处理器分区的情况下,管理程序46可以在发生方框153的中断的点在方框158向虚拟处理器返回物理处理器12的控制。
虽然已经通过说明各种实施例而说明了本发明并且虽然相当详细地说明了这些实施例,但是申请人的意欲不是将所附的权利要求的范围限制或以任何方式限定到这样的细节。因此,附加优点和修改对于本领域内的技术人员是容易看出的。因此本发明在其更宽的方面不限于特定的细节、代表性的装置和方法以及所示出和说明的说明性示例。因此,在不脱离申请人的一般发明思想的精神和范围的情况下,可以偏离这些细节。
权利要求
1.一种用于在逻辑地分区的数据处理系统内分布工作的方法,其中,所述系统支持包括多个虚拟资源的多个分区,所述系统被配置来向多个分区分配多个物理资源的所有权,并至少一个分区包括管理程序分区,所述方法包括将管理程序分区的虚拟资源绑定到不属于管理程序分区的目标物理资源上以使用目标物理资源来进行工作。
2.按照权利要求1的方法,其中,所述绑定还包括将管理程序分区的虚拟资源绑定到分区、物理处理器和存储器中的至少一个。
3.按照权利要求1的方法,还包括将管理程序分区的虚拟资源从目标物理资源解除绑定。
4.按照权利要求1的方法,其中,绑定虚拟资源还包括将虚拟资源的控制块标注为被绑定到目标物理资源。
5.按照权利要求1的方法,其中,绑定虚拟资源还包括先占预先被分派到目标物理资源的虚拟资源。
6.按照权利要求1的方法,其中,绑定虚拟资源还包括向用于分派虚拟资源的分派列表入队与虚拟资源相关联的标识符。
7.按照权利要求1的方法,其中,绑定虚拟资源还包括响应于由多个分区之一作出的管理程序调用而启动绑定。
8.按照权利要求7的方法,其中,绑定虚拟资源还包括响应于由管理程序分区作出的管理程序调用而启动绑定。
9.按照权利要求7的方法,其中,绑定虚拟资源还包括使用管理程序分区来启动绑定,所述管理程序分区没有物理资源和用户界面的至少一个。
10.一种用于在逻辑地分区的数据处理系统内分布工作的方法,其中,所述系统支持包括多个虚拟资源的多个分区,所述方法包括在第一分区中,通过下述方式来代表第二分区进行工作将第一分区的虚拟资源绑定到拥有物理资源的第二分区,以便使用由第二分区拥有的物理资源的至少一部分来进行工作。
11.按照权利要求10的方法,还包括将第一分区的虚拟资源从第二分区解除绑定。
12.按照权利要求10的方法,其中,绑定虚拟资源还包括将第一分区的虚拟资源的控制块标注为被绑定到第二分区。
13.按照权利要求10的方法,其中,绑定虚拟资源还包括先占预先被分派到由第二分区拥有的物理资源的另一个分区的虚拟资源。
14.按照权利要求10的方法,其中,绑定虚拟资源还包括向用于分派虚拟资源的分派列表入队与第一分区的虚拟资源相关联的标识符。
15.按照权利要求10的方法,其中,绑定虚拟资源还包括响应于由第一分区作出的管理程序调用而启动绑定。
16.按照权利要求10的方法,其中,绑定虚拟资源还包括响应于由第二分区作出的管理程序调用而启动绑定。
17.一种用于在逻辑地分区的数据处理系统内分布工作的方法,其中,所述系统支持包括多个虚拟资源的多个分区,所述分区的至少一个包括管理程序分区,所述方法包括将管理程序分区的虚拟资源绑定到由另一个分区拥有的物理资源,以在物理资源上进行工作。
18.按照权利要求17的方法,还包括将管理程序分区的虚拟资源从物理资源解除绑定。
19.按照权利要求17的方法,其中,绑定虚拟资源还包括将管理程序分区的虚拟资源的控制块标注为绑定到物理资源。
20.按照权利要求17的方法,其中,绑定虚拟资源还包括向用于分派虚拟资源的分派列表入队与管理程序分区的虚拟资源相关联的标识符。
21.按照权利要求17的方法,其中,绑定虚拟资源还包括响应于由管理程序分区进行的管理程序调用而启动绑定。
22.一种装置,包括逻辑地分区的计算机,用于支持多个分区,所述分区包括多个虚拟资源,其中,至少一个分区包括管理程序分区;程序代码,驻留在逻辑地分区的计算机中,所述程序代码被配置来将管理程序分区的虚拟资源绑定到不属于管理程序分区的目标物理资源,以使用目标物理资源来进行工作。
23.按照权利要求22的装置,其中,目标物理资源包括分区、物理存储器和存储器中的至少一个。
24.按照权利要求22的装置,其中,程序代码启动从目标物理资源解除绑定管理程序分区的虚拟资源。
25.按照权利要求22的装置,其中,程序代码启动将虚拟资源的控制块标注为绑定到目标物理资源。
26.按照权利要求22的装置,其中,程序代码启动先占预先被分派到目标物理资源的虚拟资源。
27.按照权利要求22的装置,其中,管理程序没有物理资源和用户界面的至少一个。
28.按照权利要求22的装置,其中,程序代码启动在目标物理资源上进行工作。
29.一种程序产品,包括程序代码,用于在逻辑地分区的数据处理系统内分布工作,其中,所述系统支持多个分区,所述分区包括多个虚拟资源,至少一个分区包括管理程序分区,程序代码被配置来将管理程序分区的虚拟资源绑定到由另一个分区拥有的物理资源,以在物理资源上进行工作;计算机可读信号承载媒体,用于承载第一程序。
30.按照权利要求29的程序产品,其中,信号承载媒体包括可记录媒体和传输型媒体中的至少一种。
全文摘要
装置、程序产品和方法通过将管理程序分区的虚拟处理器或其他资源绑定到分区或物理资源来在逻辑地分区的计算机系统内分布工作。虚拟资源绑定到的分区或物理资源是管理程序资源代表其工作的同一分区或物理资源。因此,根据使用由请求分区拥有的物理资源,虚拟资源来处罚请求管理程序分区的工作的分区。
文档编号G06F9/46GK1702622SQ20051007468
公开日2005年11月30日 申请日期2005年5月30日 优先权日2004年5月28日
发明者威廉·J·阿姆斯特朗, 克里斯托弗·弗朗科伊斯, 纳里什·内亚 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1