CN1766842A - 用于管理逻辑分区抢占的系统 - Google Patents
用于管理逻辑分区抢占的系统 Download PDFInfo
- Publication number
- CN1766842A CN1766842A CNA2005101038755A CN200510103875A CN1766842A CN 1766842 A CN1766842 A CN 1766842A CN A2005101038755 A CNA2005101038755 A CN A2005101038755A CN 200510103875 A CN200510103875 A CN 200510103875A CN 1766842 A CN1766842 A CN 1766842A
- Authority
- CN
- China
- Prior art keywords
- subregion
- response
- work
- resource
- program code
- 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.)
- Pending
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5014—Reservation
Abstract
一种装置、程序产品和方法保证分区的资源使用将不被管理程序抢占的时间周期。来自分区的查询通信提示管理程序确定是否工作因为管理程序正在挂起。如果不是,则管理程序发送保证响应,确保由分区不间断使用资源的周期。
Description
技术领域
本发明涉及计算系统,尤其涉及在逻辑分区的环境内分派虚拟处理器给中央处理单元。
背景技术
很多计算应用的速度和效率取决于处理资源的可利用性。为此,如由国际商用机器公司开发的“虚拟机”设计的计算结构,在多个进程之中共享公共处理资源。这样的结构按惯例取决于包含一个或更多物理处理器或中央处理单元(CPU)的单个计算机器。物理处理器可以执行配置来模拟多个虚拟处理器的软件。
虚拟处理器在逻辑分区的计算系统内有特定的应用。分区可以逻辑上包括由管理员分配的机器的物理处理器、存储器和其它资源的一部分。同样,管理员可以在分区之间共享物理资源。每个分区通常接纳(host)操作系统并可以有多个虚拟处理器。用此方法,每个分区操作很大程度上好像它是单独的计算机。
称为管理程序(hypervisor)或分区管理器的下层(underlying)程序使用这种方法指派(assign)并分发物理资源给每个分区。例如,管理程序可以从操作系统截取对资源的请求,以便全局共享并分配它们。如果分区正在共享处理器,管理程序在共享处理器的分区的虚拟处理器之间分配物理处理器。
在增大其中分区正在共享处理器的计算机系统的处理速度的努力中,系统设计者通常实现管理程序调用。该管理程序调用的作用部分地用于协调分区之间物理资源的使用。相对普通的管理程序调用是从各分区对管理程序要求让出(yield)对物理处理器的访问的请求。然后,管理程序可以分派另一个分区的虚拟处理器给让出的物理处理器。一旦分派虚拟处理器给物理处理器,虚拟处理器可以访问要求用于其工作的处理周期。
尽管由逻辑分区的计算机系统和它们相关联的管理程序调用提供了效率,某些固有的复杂性继续存在。例如,实际上不能总实现让出调用。在一个例子中,在某些操作条件下不可以对分区编程以让出由另一个分区需要的资源。在一种通常的场合下,第二个分区的虚拟处理器具有比抢占的虚拟处理器更时间紧迫或重要的工作要做。在这样的例子中,对管理程序下述通常是必要的:从物理的资源抢占或移除第一个分区的虚拟处理器,使得第二个分区的虚拟处理器可以使用物理资源。
然而,在抢占虚拟处理器中,管理程序可能在不合适的时间无意地抢占第一个逻辑分区。例如,被抢占的分区本身可能一直在执行性能敏感的代码,并且在这样的点的抢占可能对系统性能有不利的影响。敏感代码的例子包括全局锁定和任务分派,以及时间敏感的操作如涉及主机或设备适配器的轮询功能。中断这样的敏感操作产生可能破坏由逻辑分区的环境实现的好处的性能关系。因此存在对改善管理包括在逻辑分区的数据处理环境中的资源访问的方式的持续的需要。
发明内容
本发明的特征包括一种装置、方法和程序产品,它们被配置以管理对包括在逻辑分区的数据处理系统内的物理资源的访问。逻辑分区的数据处理系统被配置来分配物理资源的所有权给多个分区。为解决现有技术的问题,所述系统可以准许不间断使用物理资源的预置周期给分区。所述系统在预置周期期间阻止资源的抢占。这种不间断使用的许可保证所述分区对物理资源的使用,允许分区以提高的效率工作。例如,分区可能正在完成或正准备去完成敏感性质的工作,或者传统的资源抢占这种令人不快的任何类型的工作。由分区要求完成工作的资源可以包括物理的处理器和/或存储器。
所述分区希望资源的不间断使用可以创建查询通信,该查询通信被配置来提示确定工作是否正挂在管理程序。如果没有工作挂在管理程序,则管理程序可以响应于所述确定创建保证响应。保证响应可以用于保证分区的工作将不会被管理程序中断,即物理资源的使用在预置周期期间将不会被抢占。在接收到保证响应后,分区可以调度要由分区执行的工作。或者,如果响应于查询通信,管理程序确定存在挂起的管理程序工作,则管理程序可以替代地创建并发送工作挂起响应。所述分区响应于接收到工作挂起响应,可以向管理程序让出物理资源。
从附图及其说明将明白本发明的上面和其它的目的和优点。
附图说明
被合并及构成本说明书一部分的附图图示了本发明的实施例,以及上文给出的本发明的一般说明,并在下文给出的实施例的详细说明,用于解释本发明的原理。
图1是与本发明一致的计算机的方块图。
图2是图1的计算机的主要软件组件和资源的方块图。
图3是包含由图2的分区启动的步骤的流程图,目的是搜寻保证对图2的物理资源的不间断的访问。
图4是包含响应于在图3中创建的查询调用由图2的管理程序的共享服务部分完成的步骤的流程图。
图5是包含响应于图3中创建的让出调用由图2的管理程序的共享服务部分完成的步骤的流程图。
图6是包含响应于挂起的工作由图2的管理程序的共享服务部分完成的步骤的流程图。
具体实施方式
本发明的特征包括一种装置、程序产品和方法,用于通过在预置的保证周期保证分区对物理资源的访问,在逻辑分区的计算机系统内分配工作。为此,支持查询管理程序调用以允许分区询问存在挂起管理程序的工作。存在挂起管理程序工作通常意味着管理程序分区的虚拟处理器将需要访问处理器的周期以完成挂起的工作。换句话说,管理程序将需要抢占使用物理处理器。如果查询管理程序调用返回指示不存在挂起的工作的响应,那么管理程序基本上保证在预置周期的持续时间,对其进行调用的物理的处理器或其它资源将不是管理程序抢占的目标。该持续时间或保证周期通常是实现依赖常数(implementation dependent constant)。然而,在与本发明一致的一个实施例中,预置周期的持续时间可以变化。例如,分区可以请求特定周期,或者管理程序可以返回在持续时间中变化的特定周期,该持续时间依赖于各种操作因素,例如挂起的工作类型、估计要求完成该工作的时间、预期的工作负载、处理器可用性等。在一个实施例中,该保证可以应用到每个与给定分区相关联的资源。另一个实施例可以保证例如分配给分区的特定处理器的特定资源的使用。
更具体地说,寻求保证的分区的虚拟处理器进行查询通信或调用。如果不存在管理程序分区工作挂起,管理程序在虚拟处理器控制块中记录它保证虚拟处理器将不会被抢占的时间。如果管理程序分区工作随后变为挂起,并且在管理程序向虚拟处理器保证的免除抢占(preemption-free)时间之前,它获得对处理器的控制(如,管理程序衰减器(decrementor)中断),则该虚拟处理器不被抢占。任何抢占发生在下次管理程序在保证的预置周期已过之后获得控制,或者分区因为虚拟处理器已经进入等待状态让出资源。
硬件和软件环境
更特别地转向附图,其中在几个视图中类似的标号表示类似的部分,图1说明与本发明一致的数据处理装置10。装置10一般表示,例如若干数目的诸如网络服务器、中等(midrange)计算机、大型主机计算机等的多用户计算机系统中的任何一个。然而,应该认识到,在其它数据处理装置,例如单机或单用户计算机系统如工作站、台式计算机、便携计算机等中,或者在其它计算设备如嵌入控制器等中可以实现本发明。装置10的一个合适的实现是在中等计算机中,如从国际商用机器公司可以得到的iSeries计算机。
装置10一般包括耦接到存储器子系统的一个或更多物理的处理器12,该存储器子系统包括主存储器17,如动态随机访问存储器(DRAM)阵列。所希望的是,物理处理器可以是多线程的。同样按介于多线程物理处理器12和主存储器17之间的方式图示了高速缓冲存储器子系统16,该高速缓冲存储器子系统16通常包括一个或更多级别的数据、指令和/或组合高速缓冲存储器,某些高速缓冲存储器服务于单独的处理器或多个处理器,如本领域公知的。
此外,主存储器17通过系统总线18和多个接口设备,如输入/输出总线附件接口20、工作站控制器22和存储器控制器24,耦接到若干类型的外部(I/O)设备,该接口设备分别提供对一个或更多外部网络26、一个或更多工作站28和/或一个或更多存储器设备如直接访问存储器设备(DASD)29的外部访问。
图2的系统更详细地图示了实现类似于图1的逻辑分区的装置中使用的主要软件组件和资源,包括由管理程序46(它也可以称为分区管理器)管理的多个逻辑分区42、44。如本领域公知的,在该系统中可以支持任何数目的逻辑分区。每个逻辑分区42、44利用操作系统(例如分别用于逻辑分区42、44的操作系统54和56),该操作系统以与非分区的计算机的操作系统相同的方式控制逻辑分区的主要操作。每个逻辑分区42、44在由虚拟存储器60表示的分开的存储器空间中执行。而且,在装置30中每个逻辑分区42、44被静态和/或动态分配部分可用资源。例如,每个逻辑分区可以共享一个或更多物理的处理器12,以及用在虚拟存储器60中的部分可用存储器空间。用此方法,可以由多于一个逻辑分区的虚拟处理器13利用给定的物理处理器12。
图2中所示的管理程序46包括负责分区完整性和分区管理的程序代码。为此,管理程序46通常包括两层软件。这样的一个层可以包括共享的服务块48,它可以由逻辑分区通过管理程序调用而启用。为包括分区和包括物理处理器分派的虚拟处理器管理的功能,共享服务块48的代码层通常被启用,并且没有任务的概念。管理程序46的代码的第二层包括管理程序分区50。管理程序分区50通常用于执行相对高级别的操作。这样的操作可以包括,例如分区上的初始程序装载(IPL)或并发的输入/输出维护。该代码层继续采用重定位,并且可以执行类似于操作系统的任务。用此方法,管理程序分区50用作系统30上的逻辑分区,只是它通常对用户隐藏。换句话说,管理程序分区50通常没有象传统的操作系统那样的用户界面。本领域的技术人员将认识到,另一个实施例的管理程序分区可以位于传统的分区内,这与位于图2中所示的专用分区之内相反。
管理程序分区50在很多方面象传统分区42、44(以及操作系统)那样运行,只是没有用于客户的用户界面。因为通过设计的管理程序分区50缺少用户界面,它对用户来说是“隐藏”的。该隐藏特征保护管理程序分区不会发生故障,否则该故障可能通过用户交互产生。例如,在输入到传统操作系统的命令使操作系统崩溃的情况下,计算机系统30可以仍然使用管理程序分区,可能完成失败的操作系统的工作。这样,系统30可以使用管理程序分区50作为虚拟处理器如虚拟处理器14的附加资源。
管理程序分区50可以进行特殊的管理程序调用,该调用被配置来抢占分区的资源以便完成管理程序分区50的工作。同样,管理程序分区50可以对管理程序46的共享服务块48进行管理程序调用。共享服务块48负责管理分派虚拟处理器给分派列表上的物理处理器或就绪队列47。就绪队列47包含包括虚拟存储器列表的存储器,该虚拟处理器包含正在等待在物理处理器12上分派的工作。添加到包括就绪队列47的列表的虚拟处理器被称为“读取以运行”。
用此方法,由管理程序分区50生成的管理程序调用可以启动抢占虚拟处理器,不然,该虚拟处理器将在物理处理器上分派。例如,这样的调用可以用作来抢占已经正在就绪队列上等待的另一个虚拟处理器。另一个这样的调用可能导致虚拟处理器失去对物理处理器的访问,从而允许由管理程序分区50的被绑定的虚拟处理器使用。
因为对系统管理器隐藏管理程序分区50,不存在分配给它的物理处理器的能力。管理程序46的共享服务块48中的管理程序调度器(dispatcher)51因此必须窃用物理处理器周期以便运行管理程序分区50的虚拟处理器14。缺少本发明的进程,搜寻以窃用处理周期的管理程序调度器51可能在不合适的时间从物理处理器12抢占逻辑分区42。例如,逻辑分区42可能正在执行涉及适配器的轮询功能。轮询功能期间的抢占可能明显消极地影响系统性能。
由管理程序分区50进行的工作通常可以分为三个大类。在第一类中,某些由管理程序分区50进行的工作可能由特定分区产生。这样的工作的例子可以包括分区的IPL、断电保护(powering-off)分区和执行分区的主存储转储(dump)。第二个工作来源可以包括平台工作。这样的工作的例子是平台差错恢复以及与服务处理器或硬件管理控制台的交互。由管理程序分区50完成的工作的第三个来源可以包括不得不在特定物理处理器12上进行的工作。这样的工作的例子包括对系统中的物理处理器12运行诊断测试。
在与本发明的原理一致的一个实施例中,由分区42产生的工作可以通过使用分配给分区42的物理处理器12进行。例如,由管理程序46的共享服务块48完成的处理器周期窃用可以从分配给生成所述工作的分区的专用物理处理器集产生。专用处理器分区是独占性地使用分配给它的物理处理器的分区。对共享处理器分区,所述工作可以在生成所述工作的那个分区的共享存储区(pool)中由物理处理器执行。共享处理器分区是与其它共享处理器分区共享物理处理器的分区。最后,对物理处理器特定的工作可以在该物理处理器上进行,以便在该物理处理器上实现所述工作的效果。
除了处理器控制块49外,图2中所示的管理程序46还包括物理处理器12。处理器控制块49包含包括正在等待对特定物理处理器12的访问的虚拟处理器13、14的列表的存储器。分派管理程序或其它分区的虚拟处理器给物理资源的进程可以包括标记被绑定的虚拟处理器的控制块49,使得它与物理资源相关联。
另外的资源,如大规模存储器、备份存储器、用户输入、网络连接等通常以本领域公知的方式分配给一个或更多的逻辑分区。资源可以以例如逐个总线,或者逐个资源的若干方式分配,多个逻辑分区共享相同总线上的资源。某些资源甚至可以一次分配给多个逻辑分区。例如,图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显示了包含由图1和2的硬件和软件系统执行的一组示范性步骤的流程图90。更具体地讲,流程图90的步骤可以由搜寻保证不间断工作的分区42完成。换句话说,分区可以希望在由管理程序预置的没有抢占的周期内对物理资源的有保证的访问。特别地转向图3的块92,分区42在正常操作过程中接收到工作。换句话说,分区42的控制队列登记要由分区42执行的工作。分区控制队列可以包括要完成的工作的列表,并且被用来为分区42管理工作。某些这样的工作实际上可能是敏感的和/或影响系统30的性能。这样的敏感工作的例子可以包括高速缓冲存储器服务、分级(staging)或解除分级(destaging)操作的启动以及涉及主机或设备适配器的轮询功能。
响应于在块92接收所述工作,分区42可以在块94生成查询通信。通过在块94发送查询通信,分区42搜寻下述保证:分区42可以完成它的工作而不使它的物理处理器12的处理周期重新分配给管理程序,或者在另一个实施例中,重新分配给某个其它分区。仅仅响应于敏感的或其他指定类型的工作,如上面例子的轮询功能,可以生成所希望的查询通信。或者,另一个实施例可以响应于所有工作生成查询通信。因而本领域的技术人员将认识到,调用本发明的保证进程的可编程条件可能按照应用规范变化。
值得注意的是,在块92接收到工作时,搜寻保证的分区42可能已经使用用于完成性能敏感的工作所要求的资源。换句话说,虚拟处理器13可能先前由管理程序46的共享服务块48分派给物理处理器12。
在任何情况下,可以对在块94创建的查询通信寻址,用于电子递送到管理程序46的共享服务部分48。管理程序46可以访问与查询通信相关联的递送信息。该递送信息用于向管理程序46标识分区42。
在图3的块96,响应于块94的查询通信,分区42可以从管理程序46接收保证响应。保证响应向分区42确保它可以继续完成分区工作而不使它的物理处理器12的处理周期被抢占并被重新分发给管理程序分区50。
如在此所讨论的,管理程序分区50的功能在某些方面类似于传统的操作系统。然而,管理程序分区50不包括对用户的界面。该特征保护管理程序分区50从而远离故障原因,在某些情况下传统的操作系统从另外的方面来看易受该故障原因的攻击。同样,管理程序分区50对系统30可以用作虚拟处理能力的稳健(robust)的来源。
在块96接收到这样的保证响应的场合,分区42可以在块98调度工作。即,分区42可以调度在块94提示发出查询的敏感的或其它挂起的工作。分区42随后使用分配的物理处理器12资源以在块100执行工作。分区42在块100执行这样的工作而没有来自管理程序46的中断,直到预置的保证周期在块102过期。在一个实施例中,可以用在块96接收的保证响应与保证周期通信。另一个实施例的保证周期可以是预置的例如从存储器由管理程序46检索的例如100毫秒的缺省周期。在块102保证周期已经过期的场合,分区42可以在块94启动另一个查询通信,用于相同或不同的工作。
在分区42响应于在块94的查询通信,替代地在块104接收工作挂起响应的场合,分区42可以准备让出其相关联的物理处理器12。分区42可以从管理程序46的共享服务部分48接收工作挂起响应。如在此所讨论的,在能够导致分区42的工作中断的时间周期内,当管理程序46期望要求物理处理器12或其它资源时,可以接收到工作挂起响应。
响应于在块104接收到工作挂起响应,分区42可以在块106进行让出调用。不同的让出调用为本领域已知,并且通常运行用来部分地交出物理处理器12给管理程序46。
图4显示了包含可由图1和2的硬件和软件系统执行的一组示范性步骤的流程图120。更具体地讲,可以由图2的管理程序46的共享服务部分48响应于由图3的进程创建的查询调用,完成图4的步骤。更特别地转向图4的块124,管理程序可以在块124从分区42接收查询通信。响应于接收所述查询通信,管理程序46可以在块126确定是否任何工作因为管理程序46正在挂起。例如,管理程序46可以确定是否工作因为管理程序分区50正在挂起。
在管理程序46在块126确定工作因为管理程序分区50正在挂起的场合,则管理程序46的共享服务部分48可以在块128发送工作挂起响应给分区42。如上面所讨论的,在能够导致分区42提议的工作中断的时间周期内,当管理程序46期望要求物理处理器12或其它资源时,可以生成工作挂起响应。
在管理程序46替代地在块126确定它没有正挂起的工作的场合,则共享服务部分48可以在块130记录保证周期。该进程可以包括在分区42的虚拟处理器13的控制块49中记录保证周期。控制块49包括在识别例如绑定状态中有用的存储器。
然后,管理程序46在块132发送保证响应给分区42。如在此所讨论的,保证响应用于向分区42确保,它可以继续完成分区工作而不使它的物理处理器12的处理周期重新分配给管理程序分区或某个其它分区。为此,保证响应可以包括持续时间或保证周期,或者另一方面与持续时间或保证周期相关联,在该持续时间或保证周期期间,分区42可以完成它的工作而没有来自管理程序46的中断。本领域的技术人员将认识到,可以根据应用规范设置保证周期,此外,为不同种类的工作可以设置不同的保证周期。
图5是流程图140,它包含由图2的管理程序46的共享服务部分48响应于由图3的进程创建的让出调用所完成的步骤。更特别地转向图5的块142,管理程序46的共享服务部分48可以从分区42接收让出调用。该让出调用有效地交出物理处理器12或其它资源给管理程序46。如果在块142工作正在管理程序46挂起,则在块144,管理程序46可以随后抢占虚拟处理器13并利用该资源。例如,管理程序46可以使用物理处理器12执行要求的主存储器转储。当管理程序46对让出调用生成返回时,在块146,物理处理器12的控制返回到分区42。
图6是流程图150,它包含响应于挂起的管理程序工作,例如因为管理程序分区50挂起的工作,由图2的管理程序46的共享服务部分48所完成的步骤。更特别地转向图6的块151,管理程序46的共享服务部分48可以生成管理程序衰减器中断,它用于将资源的控制交给管理程序46。通常周期性地生成这样的管理程序衰减器中断。在块152,管理程序46确定它有挂起的工作。于是,管理程序46在块154可以确定保证周期是否有效。如果是有效,则如在图6的块154和156所示,只要保证周期未过期,管理程序46将不会抢占虚拟处理器13。
或者,如果在块154,管理程序46有工作做并且保证周期已经过期,则管理程序46可以在块158抢占分区对物理处理器12或其它资源的访问。在块158的所述抢占通常包括从物理处理器12移除虚拟处理器14。于是,管理程序46使虚拟处理器14排到就绪队列47中。就绪队列47包括虚拟处理器的列表,该虚拟处理器有工作并正在等待管理程序46分派物理处理器12给它们。预置时间之后,管理程序46在块160将物理处理器12返回给分区42的控制。
尽管已经通过各种实施例的描述阐释了本发明,并且尽管已经相当详细地描述了这些实施例,但是,限制或以任何方式限定权利要求的范围到这样详细不是本申请人的意图。例如,因为解释的原因使用了“保证”和“工作挂起”响应以及“查询请求”,并且描述不应该被用来限制可以被替代使用的通信的类型和名称。同样,另外的优点和修改,对本领域的技术人员来说看来是容易的。因此本发明在其更广泛的方面不限于显示和说明的特定细节、代表性装置和方法和说明性的例子。例如,本领域的技术人员将认识到,在分区运行在多线程处理器和/或支持同时多线程的处理器上的场合,可以完成上面的进程。在这样的例子中,只有一个处理器的线程不得不进行让出调用,以便向管理程序交出处理器的控制。本领域的技术人员将进一步认识到,在另一个实施例中,响应于从管理程序接收到工作挂起响应,分区可以完成非敏感工作,而不是没有工作,即空闲。因此,可以在不脱离申请人的总的发明构思的精神和范围的情况下背离这样的细节。
Claims (21)
1.一种用于管理对逻辑分区的数据处理系统内的多个物理资源访问的方法,其中所述系统支持多个分区,其中所述系统被配置以便分配多个物理资源的所有权给所述多个分区,该方法包括:
准许不间断地使用用于分区的资源的预置周期;以及
在预置周期期间禁止抢占所述资源。
2.根据权利要求1所述的方法,其中准许预置周期还包括确定预置周期并对预置周期编程。
3.根据权利要求1所述的方法,还包括在所述分区创建查询通信,该查询通信被配置来提示保证响应。
4.根据权利要求3所述的方法,其中准许预置周期还包括响应于接收到查询通信,创建保证响应。
5.根据权利要求4所述的方法,还包括响应于在所述分区接收到保证响应,调度要由所述分区执行的工作。
6.根据权利要求3所述的方法,还包括响应于接收到由所述分区创建的第二个查询通信,创建工作挂起响应。
7.根据权利要求6所述的方法,还包括响应于在所述分区接收到工作挂起响应,创建让出(yield)调用。
8.根据权利要求1所述的方法,其中准许预置周期还包括确定是否管理程序工作正在挂起。
9.根据权利要求1所述的方法,还包括响应于预置周期的过期,使资源能够被抢占。
10.根据权利要求1所述的方法,还包括由管理程序和所述分区中的至少一个使用资源。
11.一种用于管理对逻辑分区的数据处理系统内的多个物理资源的访问的方法,其中所述系统支持多个分区,其中配置所述系统以分配多个物理资源的所有权给所述多个分区,该方法包括:
响应于查询确定是否工作正在挂起;以及
如果没有工作正在挂起,保证没有来自分区的物理资源的抢占。
12.一种装置,包括:
支持多个分区的逻辑分区的计算机,其中配置该计算机以分配多个物理资源的所有权给所述多个分区;以及
驻留在逻辑分区的计算机中的程序代码,配置该程序代码以准许不间断使用物理资源的预置周期给多个分区中的一个分区。
13.根据权利要求12所述的装置,其中所述资源包括物理处理器和存储器中的至少一个。
14.根据权利要求12所述的装置,其中所述程序代码在分区启动创建查询通信,该查询通信被配置以提示确定保证响应。
15.根据权利要求14所述的装置,其中所述程序代码响应于确定敏感工作需要由分区完成,启动创建查询通信。
16.根据权利要求12所述的装置,其中所述程序代码启动确定是否管理程序工作正在挂起。
17.根据权利要求16所述的装置,其中如果没有管理程序工作正在挂起,则响应于接收到查询通信,程序代码启动创建保证响应。
18.根据权利要求17所述的装置,其中所述程序代码响应于在分区接收到保证响应,启动调度要由分区执行的工作。
19.根据权利要求16所述的装置,其中如果管理程序工作正在挂起,所述程序代码响应于接收到查询通信,启动创建工作挂起响应。
20.根据权利要求19所述的装置,其中所述程序代码响应于在分区接收到工作挂起响应,启动创建让出调用。
21.一种程序产品,包括:
程序代码,用于管理对逻辑分区的数据处理系统内的多个物理资源的访问,其中所述系统支持多个分区,其中所述程序代码被配置以分配多个物理资源的所有权给多个分区,并且其中至少一个分区包括管理程序分区,所述程序代码进一步被配置以便对分区准许不间断使用物理资源的预置周期;以及
计算机可读信号承载介质承载第一程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/977,800 | 2004-10-29 | ||
US10/977,800 US20060168214A1 (en) | 2004-10-29 | 2004-10-29 | System for managing logical partition preemption |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1766842A true CN1766842A (zh) | 2006-05-03 |
Family
ID=36698336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005101038755A Pending CN1766842A (zh) | 2004-10-29 | 2005-09-16 | 用于管理逻辑分区抢占的系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060168214A1 (zh) |
JP (1) | JP2006127524A (zh) |
CN (1) | CN1766842A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902592A (zh) * | 2012-09-10 | 2013-01-30 | 曙光信息产业(北京)有限公司 | 一种集群计算资源的分区调度管理方法 |
CN101501645B (zh) * | 2006-06-19 | 2013-04-03 | 康达斯夫技术公司 | 用于执行计算机作业的方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1851662A2 (en) * | 2005-02-24 | 2007-11-07 | Xeround Systems Ltd. | Method and apparatus for distributed data management in a switching network |
JP4705051B2 (ja) * | 2007-01-29 | 2011-06-22 | 株式会社日立製作所 | 計算機システム |
US20110061008A1 (en) | 2008-04-07 | 2011-03-10 | Microsoft Corporation | Single device with multiple personas |
KR20090108868A (ko) * | 2008-04-14 | 2009-10-19 | 삼성전자주식회사 | 가상 머신 관리 시스템 및 그의 프로세서 자원 관리방법 |
US8561072B2 (en) * | 2008-05-16 | 2013-10-15 | Microsoft Corporation | Scheduling collections in a scheduler |
US8566830B2 (en) * | 2008-05-16 | 2013-10-22 | Microsoft Corporation | Local collections of tasks in a scheduler |
US20090325562A1 (en) * | 2008-06-25 | 2009-12-31 | Microsoft Corporation | Hypervisor for managing a device having distinct virtual portions |
US8762680B2 (en) * | 2009-05-19 | 2014-06-24 | International Business Machines Corporation | Scaling energy use in a virtualized environment |
US8477610B2 (en) * | 2010-05-31 | 2013-07-02 | Microsoft Corporation | Applying policies to schedule network bandwidth among virtual machines |
KR20130063825A (ko) * | 2011-12-07 | 2013-06-17 | 삼성전자주식회사 | 운영체제에서 동적으로 선점 구간을 조정하는 장치 및 방법 |
WO2017155523A1 (en) * | 2016-03-09 | 2017-09-14 | Hewlett Packard Enterprise Development Lp | Server virtual address space |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5291599A (en) * | 1991-08-08 | 1994-03-01 | International Business Machines Corporation | Dispatcher switch for a partitioner |
JP3724075B2 (ja) * | 1996-08-28 | 2005-12-07 | 株式会社日立製作所 | プロセスの実行方法 |
US6353844B1 (en) * | 1996-12-23 | 2002-03-05 | Silicon Graphics, Inc. | Guaranteeing completion times for batch jobs without static partitioning |
US5926833A (en) * | 1997-03-24 | 1999-07-20 | International Business Machines Corporation | Method and system allowing direct data access to a shared data storage subsystem by heterogeneous computing systems |
US6665786B2 (en) * | 1998-09-21 | 2003-12-16 | Microsoft Corporation | Dynamic disk partition management |
JP2000339926A (ja) * | 1999-05-26 | 2000-12-08 | Matsushita Electric Ind Co Ltd | ディジタル映像再生・録画装置及びコンピュータ読み取り可能な記録媒体 |
US6704489B1 (en) * | 1999-05-06 | 2004-03-09 | Matsushita Electric Industrial Co., Ltd. | Resource management system and digital video reproducing/recording apparatus |
JP4377028B2 (ja) * | 1999-05-06 | 2009-12-02 | パナソニック株式会社 | リソース管理システム |
JP2001306341A (ja) * | 2000-04-26 | 2001-11-02 | Mitsubishi Electric Corp | コンピュータシステムおよびコンピュータ読み取り可能な記録媒体 |
JP2002041304A (ja) * | 2000-07-28 | 2002-02-08 | Hitachi Ltd | 論理区画の予備リソース自動付与方法及び論理区画式計算機システム |
JP4346850B2 (ja) * | 2001-01-23 | 2009-10-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Osイメージごとに論理分割された論理分割データ処理システム |
US7089558B2 (en) * | 2001-03-08 | 2006-08-08 | International Business Machines Corporation | Inter-partition message passing method, system and program product for throughput measurement in a partitioned processing environment |
US6985951B2 (en) * | 2001-03-08 | 2006-01-10 | International Business Machines Corporation | Inter-partition message passing method, system and program product for managing workload in a partitioned processing environment |
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 |
US6961941B1 (en) * | 2001-06-08 | 2005-11-01 | Vmware, Inc. | Computer configuration for resource management in systems including a virtual machine |
US20030061260A1 (en) * | 2001-09-25 | 2003-03-27 | Timesys Corporation | Resource reservation and priority management |
US7316019B2 (en) * | 2003-04-24 | 2008-01-01 | International Business Machines Corporation | Grouping resource allocation commands in a logically-partitioned system |
JP2005018224A (ja) * | 2003-06-24 | 2005-01-20 | Matsushita Electric Ind Co Ltd | 競合制御装置 |
US8635612B2 (en) * | 2005-04-29 | 2014-01-21 | Microsoft Corporation | Systems and methods for hypervisor discovery and utilization |
US7937616B2 (en) * | 2005-06-28 | 2011-05-03 | International Business Machines Corporation | Cluster availability management |
US7987464B2 (en) * | 2006-07-25 | 2011-07-26 | International Business Machines Corporation | Logical partitioning and virtualization in a heterogeneous architecture |
-
2004
- 2004-10-29 US US10/977,800 patent/US20060168214A1/en not_active Abandoned
-
2005
- 2005-09-16 CN CNA2005101038755A patent/CN1766842A/zh active Pending
- 2005-10-27 JP JP2005313466A patent/JP2006127524A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101501645B (zh) * | 2006-06-19 | 2013-04-03 | 康达斯夫技术公司 | 用于执行计算机作业的方法 |
CN102902592A (zh) * | 2012-09-10 | 2013-01-30 | 曙光信息产业(北京)有限公司 | 一种集群计算资源的分区调度管理方法 |
CN102902592B (zh) * | 2012-09-10 | 2016-04-20 | 曙光信息产业(北京)有限公司 | 一种集群计算资源的分区调度管理方法 |
Also Published As
Publication number | Publication date |
---|---|
US20060168214A1 (en) | 2006-07-27 |
JP2006127524A (ja) | 2006-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1766842A (zh) | 用于管理逻辑分区抢占的系统 | |
CN1278235C (zh) | 用于向一处理器让与资源的系统 | |
US9977689B2 (en) | Dynamic scaling of management infrastructure in virtual environments | |
JP4261543B2 (ja) | 動作不能なマスタ作業負荷管理プロセスを代替するシステムおよび方法 | |
US8032899B2 (en) | Providing policy-based operating system services in a hypervisor on a computing system | |
EP2411915B1 (en) | Virtual non-uniform memory architecture for virtual machines | |
US8261281B2 (en) | Optimizing allocation of resources on partitions of a data processing system | |
US7047337B2 (en) | Concurrent access of shared resources utilizing tracking of request reception and completion order | |
CN1702622A (zh) | 用于校正管理程序工作的分布的系统 | |
CN1306404C (zh) | 多线程处理器在单线程与并发多线程模式之间的动态切换的装置与方法 | |
US7962910B2 (en) | Selective generation of an asynchronous notification for a partition management operation in a logically-partitioned computer | |
US7251814B2 (en) | Yield on multithreaded processors | |
US20040143833A1 (en) | Dynamic allocation of computer resources based on thread type | |
CN1534478A (zh) | 重定位在多线程计算机中共享的计算机数据的设备和方法 | |
US20110010709A1 (en) | Optimizing System Performance Using Spare Cores in a Virtualized Environment | |
JP2010500667A (ja) | 仮想マシン環境におけるハードウェア仮想化を提供するためのシステムおよび方法 | |
CN101075198A (zh) | 提供两级服务器虚拟化的方法和系统 | |
CN1776627A (zh) | 在同时多线程处理机中用于线程同步的方法和系统 | |
US20070168716A1 (en) | Failsoft system for multiple CPU system | |
Barak et al. | The MOSIX cluster operating system for distributed computing on Linux clusters, multi-clusters and clouds | |
Xie et al. | Cluster abstraction: towards uniform resource description and access in multicluster grid |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination |