CN101276293B - 在逻辑分区之间平衡物理***资源访问的方法和*** - Google Patents
在逻辑分区之间平衡物理***资源访问的方法和*** Download PDFInfo
- Publication number
- CN101276293B CN101276293B CN200810087397.7A CN200810087397A CN101276293B CN 101276293 B CN101276293 B CN 101276293B CN 200810087397 A CN200810087397 A CN 200810087397A CN 101276293 B CN101276293 B CN 101276293B
- Authority
- CN
- China
- Prior art keywords
- logical partition
- subregion
- system resources
- physical system
- alternative
- 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.)
- Active
Links
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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
用于在多个逻辑分区之间平衡对采用***虚拟化的计算机***的物理***资源的访问的***、方法和计算机可读介质。每个逻辑分区在启动期间根据分配的指派窗口利用水平进行分类。与一个或多个逻辑分区相关联地确定一个或多个物理***资源的性能度量。性能度量确定是在与编程中断无关的硬件级上进行的。在给定的物理***资源集合被配置成分配给一个逻辑分区的指派窗口期间,该给定的物理***资源集合根据与替代逻辑分区有关的确定的性能度量和该替代逻辑分区的指派窗口利用类别被重新分配给该替代逻辑分区。
Description
技术领域
本发明总地涉及管理在数据处理***中的工作负荷。更具体地,本发明涉及管理在诸如逻辑分区***一类的分区***中的工作负荷。
背景技术
计算机资源的逻辑分区允许在单个物理机器或处理器联合体内建立多个***镜像。虚拟化是指***成像的术语,其中每个***镜像,也称为虚拟机(VM),使用物理计算机***的共享资源与其它VM相互逻辑独立地运行。这样,对应于一个VM的每个逻辑分区可以独立地复位,被装载对于每个分区可以不同的操作***,以及在使用不同的输入输出(I/O)设备的不同软件程序下运行。逻辑分区***的商业实施包括例如IBM公司的POWER5多处理器体系结构。
逻辑分区的一个重要方面是管理各个分区工作负荷。在POWER5中,例如,被称为管理程序的工作负荷管理器管理在分区之间的工作负荷。在这种类型的共享资源环境下,管理程序使用在广义上类似于通常的多任务计算调度的交织时隙调度技术分配物理***资源,例如存储器、中央处理单元(CPU)、I/O等等给逻辑分区。管理程序试图通过以按需要和/或预先分配的方式把分区工作作为逻辑处理器指派给物理***资源而平衡分区的工作负荷。
分区调度的一个方面特别涉及处理器资源利用和共享。即,使用来自共享处理器池的处理器容量的分区出于调度目的被定义为封口的或未封口的。封口的分区不能超过它的配置的处理器权利。对于逻辑分区的未封口支持使得未封口的分区能够在共享处理器池中还有未利用的容量的情形下超过它们的配置容量。这样的未利用的容量是由于其它分区没有完全使用它们全部的配置容量,或者共享池的容量没有被全部分配而造成的。
当被指派时,逻辑分区把分配的物理处理器资源归类为一个逻辑处理器。逻辑处理器(有时称为虚拟处理器)的调度需要分配预定的时间段或时间片,在这些时间段或时间片期间,处理周期、存储器和其它物理***资源被分配供分区在给定的指派窗口内使用。在POWER5上运行的AIX操作***例如具有缺省的10毫秒指派窗口。分配的指派窗口的任何未使用部分可被分配给***中一个或多个未封口的分区。基于未封口分区的优先级水平的彩票机制常常被用来确定哪个未封口的分区将替代原先调度的分区接管所述指派窗口的未使用部分。
虽然相对较简单并且计算上不昂贵,上述的替代指派技术没有完全解决与分区的逻辑结构和功能特性有关的潜在的效率不高问题。调度效率不高的一个重要原因是在所谓的交互分区的各自的指派窗口期间替代这些交互分区时引起的。分区根据它对于外部处理事件的依赖性和在给定的指派窗口期间相应的中断可能性被表征为“交互的”或者另外表征为“成批的”。成批分区在很大程度上独立于来自外部事件的响应,因而它一般使用它的整个指派窗口。相反,交互分区通常在指派窗口期间暂停活动,等待外部事件响应。
为了有利地使用在指派窗口内交互分区暂停工作时的未使用的周期,管理程序可以尝试通过使用上述的优先级彩票机制替代暂停的分区。然而,在许多情形下,停止的分区等待即将来临的外部事件响应,所以很有可能需要额外的周期来完成任务,虽然分区当前处于暂停条件,但如果没有分区替代,该任务就会在当前的指派窗口内完成。
如果在分区不活动期间不替代停止的分区,则指派窗口周期将被浪费。另一方面,虽然能够有利地利用如若不然将被浪费的指派窗口周期,但传统的分区替代技术无法解决中断被替代的交互分区的交互处理的计算成本。这样的中断导致需要重新排队被替代的交互分区以及循环回到队列以重新指派分区。不像专用的***,虚拟***需要对于每次指派重新确定存储器占用。所以,除了必须重新排队以外,被替代的交互分区一定会延长额外的周期来恢复存储器占有量,这是在虚拟化***中工作负荷管理效率不高的重要原因。
传统的逻辑分区管理无法解决上述问题以及与分区调度和运行时工作负荷平衡有关的许多其它问题。所以,可以看到,需要一种用于在逻辑分区之间管理调度和工作负荷平衡的方法、***和计算机程序产品。本发明解决现有技术未解决的这些和其它需要。
发明内容
这里公开了用于在多个逻辑分区之间平衡对采用***虚拟化的计算机***的物理***资源的访问的***、方法和计算机可读介质。每个逻辑分区在启动期间根据分配的指派窗口利用水平进行分类。与一个或多个逻辑分区相关联地确定一个或多个物理***资源的性能度量。性能度量确定是在分区的指派期间使用与编程中断无关的硬件检测和跟踪逻辑来进行的。在一个给定的物理***资源集合被配置成分配给逻辑分区之一的指派窗口期间,该给定的物理***资源集合根据与替代逻辑分区有关的所确定的性能度量和该替代逻辑分区的指派窗口利用水平被重新分配给该替代逻辑分区。
另一方面,用于在共享物理***资源的多个逻辑分区之间平衡工作负荷的方法、***和计算机程序产品利用存储器占用统计结果来确定分区替代的适当性和优先级。该方法包括与逻辑分区相关联地确定 一个或多个物理***资源的性能度量以及使用该性能度量来确定存储器占用值。在一个给定的物理***资源集合被分配给逻辑分区之一的指派窗口期间,该给定的物理***资源集合根据所确定的存储器占用值被重新分配给另一个逻辑分区。
另一方面,公开了用于动态地调节用来在给定的指派窗口期间调度共享物理***资源的多个逻辑分区的调度器的方法、***和计算机程序产品。该方法包括在***启动期间使用预先配置的指派窗口时间指派逻辑分区。在逻辑分区指派期间,与逻辑分区相关联地确定一个或多个物理***资源的性能度量。与分区有关的性能度量被用来确定逻辑分区的存储器占用值,这些逻辑分区作为调度试探法之一被用来动态确定在指派窗口期间的分区调度。
在计算机***中的用于在多个逻辑分区之间平衡对物理***资源的访问的方法,在采用***虚拟化分区的该计算机***中,所述多个逻辑分区中的每一个使用该计算机***的共享物理资源以与其它分区逻辑独立的方式运行,所述方法包括:
与一个或多个逻辑分区相关联地收集一个或多个物理***资源的性能度量;
根据分配的指派窗口利用的水平对每个逻辑分区进行分类;以及
在给定的物理***资源集合被预先配置成分配给一个逻辑分区的指派窗口期间,根据与替代逻辑分区相关联的收集的性能度量和该替代逻辑分区的指派窗口利用类别,将所述给定的物理***资源集合分配给该替代逻辑分区。
所述的方法还包括:
与各个相关的逻辑分区相关联地存储性能度量;以及
其中,所述的将所述给定的物理***资源集合分配给替代逻辑分区还包括:根据存储的性能度量选择所述替换逻辑分区。
其中在给定的物理***资源集合被预先配置成分配给一个逻辑分区的指派窗口期间,根据与替代逻辑分区相关联的收集的性能度量和该替代逻辑分区的指派窗口利用类别,将所述给定的物理***资源集合分配给该替代逻辑分区还包括:
在指派窗口期间指派所述多个逻辑分区中的一个逻辑分区包括的逻辑处理器,其中所述指派包括分配预先规定的时间,在该时间期间物理***资源被分配以供所述一个逻辑分区使用;以及
响应于在预先规定的时间期间被指派的逻辑处理器暂停处理,在预先规定的时间的剩余部分内,选择另一个逻辑分区将物理***资源重新分配给它,所述选择根据与所述另一个逻辑分区相关联的收集的性能度量来执行。
其中所述物理***资源包括一个或多个处理器和存储器资源的处理周期。
其中,所述的将所述给定的物理***资源集合分配给替代逻辑分区还包括:将被分类为对被分配的指派窗口的利用水平少于被分配的指派窗口的规定部分的所有逻辑分区从作为替代逻辑分区的合格者当中排除。
其中所述的收集性能度量是在物理***资源被分配给一个或多个逻辑分区的指派窗口期间执行的。
所述的方法还包括:利用性能度量来确定逻辑分区的存储器占用值,其中存储器占用值包括逻辑分区建立存储器占用的时间。
在计算机***中的用于在多个逻辑分区之间平衡对物理***资源的访问的***,在采用***虚拟化分区的该计算机***中,所述多个逻辑分区中的每一个使用该计算机***的共享物理资源以与其它分区逻辑独立的方式运行,该***包括:
用于与一个或多个逻辑分区相关联地收集一个或多个物理***资源的性能度量的装置;
用于根据分配的指派窗口利用的水平对每个逻辑分区进行分类的装置;以及
用于在给定的物理***资源集合被预先配置成分配给一个逻辑分区的指派窗口期间,根据与替代逻辑分区相关联的收集的性能度量和该替代逻辑分区的指派窗口利用类别,将所述给定的物理***资源集合分配给该替代逻辑分区的装置。
所述的***还包括:
用于与各个相关的逻辑分区相关联地存储性能度量的装置;以及
其中所述用于将所述给定的物理***资源集合分配给替代逻辑分区的装置还包括:用于根据存储的性能度量选择所述替换逻辑分区的分区调度装置。
其中所述用于在给定的物理***资源集合被预先配置成分配给一个逻辑分区的指派窗口期间,根据与替代逻辑分区相关联的收集的性能度量和该替代逻辑分区的指派窗口利用类别,将所述给定的物理***资源集合分配给该替代逻辑分区的装置还包括:
用于在指派窗口期间指派所述多个逻辑分区中的一个逻辑分区包括的逻辑处理器的装置,其中所述指派包括分配预先规定的时间,在该时间期间物理***资源被分配以供所述一个逻辑分区使用;以及
用于响应于在预先规定的时间期间被指派的逻辑处理器暂停处理,在预先规定的时间的剩余部分内,选择另一个逻辑分区将物理***资源重新分配给它的装置,所述选择根据与所述另一个逻辑分区相关联的收集的性能度量来执行。
其中,用于将所述给定的物理***资源集合分配给替代逻辑分区的装置还包括:用于将被分类为对被分配的指派窗口的利用水平少于被分配的指派窗口的规定部分的所有逻辑分区从作为替代逻辑分区的 合格者当中排除出去的装置。
其中用于收集性能度量的装置在物理***资源被分配给一个或多个逻辑分区的指派窗口期间收集所述性能度量。
所述的***还包括用于利用性能度量来确定逻辑分区的存储器占用值的装置,其中所述存储器占用值包括逻辑分区建立存储器占用的时间。
其中所述用于与一个或多个逻辑分区相关联地收集一个或多个物理***资源的性能度量的装置包括计数器装置。
通过以下详细描写的说明书将明白本发明的以上和其它目的、特征和优点。
附图说明
被认为本发明的特征的新颖特性在所附权利要求中阐述。然而,当结合附图阅读时,参照图示的实施例的以下详细说明将最好地了解本发明本身以及优选的实施方式、本发明的其它目的和优点,其中:
图1显示适配于实施根据本发明的工作负荷平衡和指派窗口调节的虚拟化计算***;
图2是显示适配于实行根据本发明一个实施例的分区调度的示例性体系结构的高级示意图;
图3是显示可被实施在图2所示的体系结构内的分区监视单元、管理程序和分区历史表的内部体系结构的高级示意图;
图4是根据本发明的用于确定逻辑分区的替代优先级排列的序列的高级框图表示;
图5是根据本发明实施的分区指派器状态的高级框图表示;
图6是显示根据本发明由用于确定替代优先级的指派器和分区监视单元执行的步骤的高级流程图;
图7是显示根据本发明在替代优先级排列被用来在逻辑分区之间平衡工作负荷的分区指派过程期间执行的步骤的高级流程图;
图8A是显示根据本发明的一个实施例由用于确定被用于指派替代判决的存储器占用性能度量的分区监视单元执行的步骤的高级流程图;
图8B是根据本发明在指派窗口周期上收集的每指令数据周期的图形表示;
图9是显示在选择替代分区时由分区调度器执行的步骤的高级流程图;
图10显示根据本发明在指派窗口内的分区调度;以及
图11是显示根据本发明由用于在指派窗口期间动态地调节分区调度器的分区监视单元所执行的步骤的高级流程图。
具体实施方式
本发明的***和方法能够在虚拟化的计算环境内实现更有效的资源分配和工作负荷平衡。示例性的虚拟化计算环境包括多个逻辑分区,其工作负荷在两个或更多个分区之间被管理。正如这里使用的,术语“分区”总地是指被分配给操作***的数据处理硬件资源的子集。分区也可称为线程或任何其它运算单位。下面参照附图显示和描述用于实施本发明的***和方法的优选实施例,在附图中相同的标号表示相同的和相应的部件。
本发明使得能够在工作负荷管理器的引导下在逻辑分区之间动态地重新分配可共享的资源。一方面,本发明通过使用可动态调节的分区调度机制实现改进的工作负荷管理和***效率。分区调度机制的特征为硬件跟踪机制,在一个实施例中该机制将与存储器占用确立有关的分区性能度量确定为分区调度度量。另一方面,本发明利用硬件跟踪式存储器占用度量来动态调节在指派窗口内各个逻辑分区的调度。
本发明使得能够在工作负荷管理器的引导下在逻辑分区之间动态地重新分配可共享的资源,在一个实施例中工作负荷管理器可以是管理程序。这些资源例如可包括CPU资源、逻辑处理器资源、I/O资源、协处理器、信道资源等等。在一个实施例中,资源分配的动态调节是通过在用于达到工作负荷平衡和更大的***总效率的性能调节反馈循环中将管理程序功能与硬件和固件分区监视机制结合起来而实现的。
一方面,本发明解决由于存储器访问延迟造成的对***吞吐率的限制。本发明通过确定和利用对于分区调度的存储器访问统计结果而缓和存储器延迟效应。这样的存储器敏感型分区调度改进了分区调度判决决定以及提供更大的指派窗口调度灵活性。在一个实施例中,本发明解决在选择一个分区来先占否则就替代原先指派的分区时的存储 器占用建立成本。本发明还解决对于被替代的分区被重新指派来要回它的原先的指派窗口的一部分的情形的后面的占用建立成本。
现在参照附图,其中相同的标号表示相同的和相应的部件,实施本发明的工作负荷管理特征的虚拟化计算环境的一个实施例显示于图1。虚拟计算***100被显示为包括由国际商用机器公司,Armonk,N.Y.提供的POWER5服务器所包括的许多特征。虚拟计算***100通常包括:包括管理程序115的固件层资源120以及包括共享处理器池117和存储器件121和125的硬件层资源122。共享处理器池117优选地包括多处理器联合体,它包括多个处理器108、110、112和114,分别称为CPU1-CPU4,并具有与各个处理器相关的缓存M1-M4 121。虚拟计算***100还包括多个逻辑分区105A-105D,分别称为LP1-LP4。管理程序115管理和调节硬件层资源122在逻辑分区105A-105D之间的分配。
CPU1-CPU4和相关的缓存M1-M4代表由管理程序115以导致资源虚拟化的方式分配给逻辑分区LP1-LP4的一部分物理***资源。物理***资源通常是有形的***装置、组件和相关的物理现象,例如存储器件、处理器、驱动器、总线、处理器/总线周期等等,它们不同于诸如程序分层组织等非物理的抽象的***资源以及例如与操作***有关的程序协议。物理***资源还不同于可逻辑地或虚拟地定义的实体,诸如虚拟机。每个逻辑分区LP1-LP4包括一个或多个逻辑处理器(没有直接示出),每个逻辑处理器代表被分配给该分区的物理处理器CPU1-CPU4之一的全部或一部分。分区105A-105D中一个给定的分区的逻辑处理器可以专用于该分区,使得底层的处理器资源被保留用于该分区,或者可被共享,使得底层的处理器资源可用于其它分区。
在所显示的实施例中,每个逻辑分区LP1-LP4用作具有在分区之间可以不同的驻留操作***104和一个或多个应用102的一个单独***。在一个实施例中,一个或多个操作***104A-104D可以是Linux操作***或由IBM公司提供的i5/OSTM操作***。另外,操作***104A-104D(或它的子集)包括相应的OS工作负荷管理器106A-106D, 用于管理在每个相应分区内的应用工作负荷。
在一个实施例中,管理程序115运行为未被授予容量的一个隐藏分区。***资源分配给逻辑分区LP1-LP4由管理程序115来管理,该管理程序可以由运行在处理器CPU1-CPU4上的微码来实施。管理程序调用提供了供任何操作***104A-104D与管理程序115通信的一种手段,通过使用下面更详细地说明的技术支持使分区空闲时间最小化的调度试探法,使得能够更有效地使用物理处理器容量。逻辑分区LP1-LP4和管理程序115典型地包括一个或多个有形程序模块,这些模块驻留在与处理器CPU1-CPU4有关的中央存储器的相应部分中。
图2是显示适配于实行根据本发明一个实施例的分区调度的示例性体系结构200的高级示意图。分区调度体系结构200集成分区管理单元(PMU)204与其它***组件,例如共享处理器池117、管理程序115和缓存206。虽然PMU 204在图2上被显示为分开的模块,但应当指出,PMU 204的某些或全部硬件、固件和软件组件可以合并在管理程序115内。此外,应当指出,缓存206代表由包含在共享处理器池117中的一个或多个CPU 108、110、112和114使用的某些或全部集体缓存资源M1-M4。
PMU 204包括逻辑、程序模块和其它硬件、固件和/或软件模块,它们监视例如与存储器使用有关的物理***资源性能度量,用于分配给分区LP1-LP4的资源。这样的性能度量优选地包括缓存使用,特别是与每个分区LP1-LP4的缓存占用有关的度量。图2的高级示意图显示PMU 204与其它***组件之间的集成和交互接口,这些接口使得能够监视与逻辑分区有关的物理***资源。
当当前指派的逻辑分区使用共享处理器池117中的CPU执行它的指令流以及经由加载或存储操作访问存储器位置的内容时,所述CPU通过CPU-缓存接口212发出这些请求到它的相关的缓存206。缓存206的任务是随后确定存储器内容是否存在于缓存的存储中,以及(a)如果是的话,则把缓存的数据返回给CPU,或(b)如果不是的话,则在执行加载或存储之前,从诸如共享存储器125一类的主存储器取回存储器 内容。如果所请求的存储器内容已经在缓存206中,则数据被返回到CPU,而不必例如经由缓存-存储器接口210访问共享存储器125。在这时不需要与PMU 204交互。然而,如果请求的数据不在缓存206中,则数据必须通过缓存-存储器接口210从主共享存储器125取回。
参照图3,图上显示可被实施在图2所示的体系结构内的分区监视单元204、管理程序115和分区历史表305的内部体系结构的高级示意图。输入侧包括PMU 204,它被显示为包括跟踪逻辑模块302,它处理来自CPU接口208和缓存接口214的输入,生成分区向量308、310和312。在它的输出侧,该体系结构包括管理程序115和分区历史表305。在所显示的实施例中,管理程序115包括优先级计算模块304,它处理分区向量308、310和312,生成和更新分区历史表305的内容。分区历史表305包含用于虚拟计算***100内的所有N个逻辑分区的条目。在显示的实施例中,分区历史表305被显示为包括按行排列的记录,每个记录对应于***的N个逻辑分区中的一个逻辑分区,其中每个分区记录包含多个按列排列的数据字段。在按列排列的字段当中有逻辑分区(LP)标识符字段以及各个逻辑分区的关于每指令周期(CPI)值、缓存行计数(CLC)值和缓存未命中计数(CMC)值的字段,它们将在下面更详细地说明。除了硬件检测的CPI、CLC和CMC值以外,用于每个分区表条目的按列排列的字段包括关于可以从一个或多个上述的CPI、CLC和CMC值导出的存储器占用时间值TFP、占用值方差VAR以及缓存相似性(CA)值的字段。
在PMU 204内,跟踪逻辑模块302包括逻辑和数据存储硬件装置,用于检测、处理和临时存储物理***资源的性能度量,例如图1和2所示的处理和存储器资源。与诸如存储器和CPU等物理资源在检测时被分配给的逻辑分区相关联地对性能度量进行检测。被检测和处理的性能度量与物理资源当前被分配给的逻辑分区的标识相关联地存储。在给定的性能度量集合与逻辑分区之间的关联性可以由包含一个或多个当前指派的分区的标识的CPU接口寄存器314来提供。在寄存器314内的分区ID值优选地在指派决定时被设置。
通过跟踪逻辑模块302而收集的示例性的性能度量可包括CPI计数、缓存行计数、缓存未命中计数以及其它与存储器访问或处理效率有关的度量,这些度量可以直接或在计算上根据在CPU和/或缓存接口208和214上检测到的信号来确定。处理器利用资源寄存器322可被用来提供周期计数,以便测量在物理处理器上在分区被指派的时间片期间的活动。在所显示的实施例中,对于跟踪逻辑302检测到的每个当前指派的分区a-m的CPI计数被存储在指派分区向量308内。同样地,对于跟踪逻辑302检测到的指派的逻辑分区a-m的缓存行计数和缓存未命中计数分别被存储在指派分区向量310和312内。
在优选实施例中,在跟踪逻辑模块302内的检测逻辑和数据存储装置包括硬件和固件装置,它们与程序中断机制例如诸如操作***中断无关地收集和处理在CPU和缓存接口208和214上的信号。这样的跟踪和存储装置可包括硬件,例如逻辑门、寄存器等等,和固件编码,例如由***总线探听器使用的固件编码。跟踪逻辑模块302与软件程序中断无关地在硬件和/或固件级执行它的检测、处理和存储功能。这样的检测、处理和存储功能因而与操作***核心管理约束无关地执行。这样,跟踪逻辑模块302收集性能度量的采样速率可以具有确定用于分区调度和替代的准则数据所需要的足够细的粒度,例如0.1毫秒,下面将更详细地说明。
在指派分区向量308、310和312内的***性能度量分别包括关于多个当前或以前指派的逻辑分区a-m中的每一个的CPI计数、缓存行计数和缓存未命中计数。在每个记录的分区向量值与相应的逻辑分区之间的关联在图3上用下标a-m可视地表示,其中每个下标a-m代表一个特定的逻辑分区。在存储分区向量308、310和312的跟踪逻辑302内的存储装置优选地是专用寄存器。
被跟踪逻辑302检测并且被收集在指派分区向量308、310和312中的性能度量由管理程序115处理,以更新分区历史表305。由管理程序115生成或接收的中断信号确定何时使用收集在指派分区向量308、310和312内的***数据来更新分区表305。中断表示用于至少 一个指派分区a-m的指派窗口超时,不然也是与该超时同时发生。在接收到中断后,优先级数值计算模块304取得并处理分区向量308、310和312,以填充或更新分区历史表305内的条目。在所显示的实施例中,响应于更新中断信号,在分区向量308、310和312内的CPI、CLC和MC度量相对于相应的逻辑分区的记录的各个按列的度量条目进行比较或者处理。假设图3显示逻辑分区a-m被最初指派的初始***启动时间,优先级数值计算模块304用每个分区a-m的记录条目填充分区历史表305,并把向量308、310和312中的分区向量数据输入到相应的记录条目中。记录生成过程在***初始化期间继续进行,直至全部N个逻辑分区都已在分区历史表305内填充了记录为止。
在对于每个逻辑分区的初始指派和随后的分区记录生成后,优先级数值计算模块304在每个被告知的更新间隔继续处理指派向量308、310和312,以添加、替代或者修改在分区历史表305内的性能度量和/或替代优先级数值条目,下面将更详细地说明。
图4是根据本发明的用于确定逻辑分区的调度优先级排列的序列的高级框图表示。具体地,图4显示例如可以由管理程序115在做出指派决定例如替代或先占当前指派的分区时采用的示例性的按时间的和基于事件的优先级排序因素。
为了将优先级排序作为可动态调节的因素合并到总的分区指派调度内,管理程序115确定每个逻辑分区的相对或绝对优先级作为与缓存占用有关的度量的函数,因此必须从PMU 204取出硬件检测的性能度量。
如上所述,直接从存储器和CPU总线接口确定的物理***性能度量通过使用在跟踪逻辑模块302内的硬件级逻辑和寄存器被检测和初始地寄存和处理。由跟踪逻辑模块302检测或生成的缓存占用度量优选地包括每个指派分区的CPI计数、缓存行计数和缓存未命中计数,并被收集成分区向量308、310和312,它们可以与其它调度优先级因素相组合,得出总的指派优先级。
图5-9与图4相结合显示如何把分区监视功能合并到逻辑分区调 度中的示例性实施例,特别是当它涉及在分配最小分区权利后替代或先占指派的分区或调度分区时。首先,图4所示的分区优先级排列序列显示对多种优先级排列因素的累积和利用,包括被用来设置和调节分区的优先级排序值的硬件检测的物理***性能度量。图6更详细地显示硬件检测的物理***性能度量,特别是与存储器访问性能有关的性能度量被确定和有形地用来表征每个分区的一个或多个分区调度优先级排列因素的计算机实施的处理过程。图7-9显示用于使用分区相关的存储器占用度量来确定优先级和调节指派窗口的计算机实施的处理过程。诸如图5和6所示的优先级排列表征和/或调度器调节可以与管理程序指派器一起使用,例如被合并到管理程序115内的指派器。然而,应当指出,这里描述的本发明特性和技术不一定限于任何一个或多个显示的实施例。本领域技术人员将容易看到和明白,确定和利用分区的优先级排序的过程的各个方面可被改变,而不背离本发明的精神和范围,而且,这里描述的机制和过程的基本方面可以与其它调度算法一起使用。
继续参照图4,生成具有基本优先级bp(Pi)402的分区Pi,它一开始可以是零值或者中性值,这样,它对分区调度/替代决定没有影响。基本优先级值bp(Pi)可以是可被管理程序115用来作出分区先占和/或替代决定的数值或其它定量值或指数。分区Pi的总的优先级值425优选地包括时间公平性分量,该分量动态地调节基本优先级bp(Pi)402。如图4所示,在时间t的当前优先级cp(Pi,t)406是对于每个时间量通过提升分区的基本优先级bp(Pi)402某个时间相关的增量d而计算的,它被累积地表示为优先级和值d∑tj 404。当前优先级cp(Pi,t)406因此包括基本优先级加上落在优先级和值d∑tj 404内的某个地方的增量公平性分量,取决于现在的时间间隔j。对于基于非性能度量的分区指派,逻辑分区的优先级等于当前优先级cp(Pi,t)406。
本发明提供分区调度机制,它还提供和包含分区相关的物理***性能度量来确定分区Pi的调度优先级425。这意味着对于使用共享的物理处理资源集合(处理器、存储器等等)在虚拟化***内运行的多个 逻辑分区,同时计算不同分区的优先级可以产生不同的数值。具体地,分区的与性能无关的优先级cp(Pi,t)406每隔一个调度时间间隔就用基于性能的因子Δp 418来调节420。基于性能的因子Δp 418代表一系列可能的特定数值中的一个数值,分区的优先级水平可以通过使用与所讨论的分区有关的***性能度量而增加或减小该数值。在一个实施例中,使用用于处理分区缓存占用值CFP(Pi)的可靠性因子计算模块ζ416来计算因子Δp 418。CFP(Pi)本身被计算为通过本发明的机制经由缓存占用计算模块Θ412代表的一个或多个逻辑函数被确定数量的分区Pi的缓存占用值。即,一组一个或多个分区相关的物理资源度量PRM(Pi)由缓存占用计算模块Θ412处理,以便确定对于确定分区调度优先级有用的指定的存储器占用值,例如CFP(Pi)。占用计算模块Θ412和可靠性因子计算模块ζ416确定基于性能的因子Δp 418。如图4所示,在时间t对于分区Pi的总优先级值因此是基本分区优先级、时间公平性调节和与分区相关联地测量的物理***度量的组合函数。
图5是根据本发明可以在用于替代被指派但暂停的分区的管理程序115内实施的分区指派器状态的高级框图表示。替代分区向量或替代队列505根据这里公开的方法由管理程序115生成和动态地调节。例如,在当前正在运行的分区在指派窗口时间量过去之前在当前指派窗口期间暂停处理时,替代队列505被访问以便确定绝对或相对替代优先级排序。替代队列505被组织为按优先级排列的替代目标LPa-LPn 的队列,其中每个目标包含或者链接到相应的分区控制块(PCB)502a-502n,每个分区控制块保留分区状态信息,例如分区的被配置和调节的指派调度状态和替代优先级状态,还有其他分区特定的数据。如图5所示,替代目标LPa-LPn可以从“max”(即,在可用的替代分区中的最高优先级)到“min”(即,在可用的替代分区中的最低优先级)进行优先级排列。替代队列505的部件可以有利地用来确定调度优先级,下面参照图6说明。
参照图6,图上显示根据本发明的、由用于确定分区调度优先级数值的分区监视单元204和管理程序115执行的步骤的高级流程图。 处理过程从步骤602和604开始,逻辑分区被初始化和识别,例如通过生成用于每个分区的相应的分区控制块,例如图5所示的分区控制块。对于每个分区设置基本替代优先级排列并使其递增,正如步骤606和608所示。管理程序115优选地以图4所示的方式设置和增加分区的替代优先级,其中时间公平性调度函数被用来以某种归一化的方式动态调节分区优先级数值。
在步骤610,逻辑分区在一个例子中根据由管理程序115指定的配置的指派窗口分配被指派。在分区配置窗口期间,基于硬件的跟踪装置和模块,例如在跟踪逻辑模块302内的装置,被用来与在指派窗口期间资源被分配到的各个逻辑分区相关联地跟踪一个或多个物理***资源的性能度量(步骤615)。性能度量跟踪在与诸如操作***中断的编程中断无关的硬件级别上被执行,以及优选地包括跟踪CPI以及其它物理资源处理度量。
如图6所示,跟踪物理资源度量包括多个子步骤,其中与指派的分区相关联地跟踪度量,以及其中硬件检测的度量被用来计算或者确定可被管理程序115用于分区替代或其它指派决定的调度优先级排序数值。如步骤612所示,使用硬件级逻辑和寄存器以具有记录时间增量Δtrec的记录速率收集和存储分区相关的物理资源度量,所述Δtrec小于由指派时间TDP定义的分区指派时间除以大于1的增量因子后得到的分数。根据和/或结合硬件检测的物理资源度量集合,计算分区相关的优先级值(步骤614)。分区相关的优先级值从硬件检测/存储的物理***度量来计算或者可以是检测/存储的度量本身。例如,参照图3所示的实施例,在步骤612收集的物理资源度量包括在指派分区向量308中收集的CPI值,在步骤614计算的优先级值包括在下面参照图8A和8B更详细地显示和描述的处理过程中根据CPI数值计算的存储器占用值。与在步骤615的性能度量确定同时发生,诸如在分区历史表305内显示的VAR值那样的可靠性因子优选地在用于分区的每个指派窗口处被计算和更新,如在步骤616所示的。
参照图8A,提供了包含在步骤615中的处理步骤的更详细的说明。 具体地,图8A显示诸如由用于确定被用于指派决定的存储器占用性能值的PMU 204和管理程序115执行的步骤的高级流程图。处理过程从分区指派步骤610开始,并进到步骤806,它显示CPI数据在指派分区的指派时间内的时间间隔点tn被确定和记录。在tn时收集的CPI数值与用于同一分区的以前记录的CPI值进行比较。以前记录的CPI值代表在同一个分区的指派时间内早先的点处确定的CPI值。在指派时间中各个点处收集的CPI数据的示例性图形表示被显示于图8B。指派时间开始和结束的点在图8B上分别表示为在由TDP表示的指派时间上的t0和tDP。在对于同一分区的一次或多次这样的指派中CPI数据被确定和记录所在的点被表示为trec0、trec1、trec2、trec3等。回到图8A的步骤808,在CPI数据值之间的比较可包括:例如,在时间trec2 记录的CPI数值与在时间trec1记录的CPI数值的比较。在优选实施例中,在对于给定的逻辑分区的不同指派时间上执行按不同时间增量的CPI数据确定。
本发明解决与在每次分区指派时重新建立存储器占用的需求有关的指派时的显著成本。在步骤808执行的比较的目的是确定由分区建立存储器占用所需要的时间。存储器占用建立确定包括确定拐角点,例如图8B上trec3所显示的点,在这一点处,CPI值与在前一指派时间的前一时间增量记录的CPI值相比变化小于指定的阈值。在图8B上,时间trec3代表这样的拐角点,在这一点,在trec3记录的CPI值与在trec2 记录的CPI值的差值小于阈值差值ΔCPITHRSHLD。占用时间Tfp因此是在t0与trec3之间。在步骤810示出关于在CPI数值之间的差值是否小于指定的阈值的判断。
响应于没有超过阈值CPI差值,在步骤806记录的CPI值(即,最后的CPI值)被记录(步骤812),并且,在步骤610返回到同一分区的下一次指派之前,对于下一个指派时间,使记录时间间隔递增(步骤814)。当诸如在trec3收集的CPI值与以前在trec2收集的CPI值之间的给定的比较导致满足阈值准则时,用于该分区的占用建立时间例如与分区的标识相关联地被记录在分区历史表305内(步骤816)。
回到图6,并前进到步骤618,管理程序115和/或PMU 204可以确定每个逻辑分区的指派时间利用。在步骤618的确定被用来把每个逻辑分区分类为使用几乎全部它的配置的指派时间分配的成批分区或者受到处理中断,其中在指派时间期间该分区必须等待外部事件的交互分区。被分类为成批分区的指派分区将利用几乎整个指派时间,而交互分区经受处理中断,例如此时处理暂停并且必须等待来自另一个进程的响应。如果给定分区的指派时间利用超过指定的阈值,在一个实施例中它是95%利用率,则分区被分类为成批分区(步骤618和622)。否则,如步骤618和620所示,分区被分类为交互分区。
指派时间利用分类被包括作为在如图5所示的每个分区的分区控制块内的字段,它可以被管理程序115用作调度优先级准则。例如,管理程序115可以把被识别为交互的分区排除在作为在替代队列505内的替代分区的合格分区以外(见图5)。而且,如下面参照图7说明的,指派时间利用分类可被管理程序使用来确定是否把指派窗口的剩余部分重新分配给已被先占或替代的原始分区。
确定分区调度优先级值的处理过程在步骤624和626结束,例如被存储在分区历史表305和PCB 502a-502n中的优先级数值被输入或被更新。如以上参照图3-5显示和说明的,硬件检测的性能度量与诸如在分区历史表305内的逻辑分区相关联,并且被管理程序115用来确定诸如由替代队列505建立的优先级排序。在优选实施例中,指派时间利用分类和性能度量确定可以在***启动期间执行,它们可以按时间测量(例如,5分钟)或按照遍历分区配置队列的指定的轮转次数。在收集至少初始的优先级排序数据集合后,管理程序115利用该数据用于指派分区的替代和可能的先占以及其它调度决定。
图7是显示根据本发明的由诸如在管理程序115内的指派器那样的指派器为平衡在逻辑分区之间的工作负荷所执行的步骤的高级流程图。处理过程从步骤702和710开始,管理程序115根据***配置的分区调度指派下一个集合的一个或多个分区。在当前的指派时间期间,包括用于指派分区的CPI和CLC的物理***资源度量被记录和更新 (步骤712),以及诸如在图6的步骤614计算得到的替代优先级排序值被更新(步骤713)。
如步骤714所示,管理程序115可以根据分区替代优先级排序数据确定一个给定的指派分区是否可以被先占。正如这里利用的,分区先占类似于并且包括在替代在指派窗口期间已放弃的指派分区时采用的许多相同的机制。差别在于,分区先占可能不要求被替代的分区已暂停处理作为触发这里描述的替代步骤的条件。如步骤714和720所示,响应于确定对于给定的指派分区根据诸如被包含在分区历史表305中的优先级排序值已满足预先规定的先占准则,管理程序115暂停指派的分区,并在指派窗口的剩余部分(可能是整体)内把***资源分配给选定的分区。替代分区根据替代优先级数据以和下面参照步骤718和图9描述的调度优先级排序步骤相同或类似的方式进行选择。管理程序115使用在替代队列505和分区控制块502a-502n内的优先级排序数据来确定下一个要指派的分区或者当前指派的分区是否将被所选择的替代分区先占。
如果先占准则不满足(步骤714)以及原先调度的分区利用它的整个指派分配时间(即,分区没有暂停处理)(步骤716),则管理程序指派/负荷平衡过程在步骤710继续进行下一个指派。
如果被指派的和未先占的分区在指派窗口期间暂停处理(步骤716),则管理程序115处理由替代队列505和/或分区控制块502a-502n关于可用分区所提供的替代优先级排序数据,以便确定预先规定的分区替代准则是否满足(步骤718)。
在步骤718显示的替代确定优选地包括评估当前空闲的逻辑分区的替代优先级值,以便确定在分区当中哪一个是合格的,适于替代现在暂停的分区。替代合格性确定过程根据所施加的限制,例如指派窗口的有限的剩余部分,来评估被包括在分区控制块502a-502n中的一个或多个分区替代优先级值,例如存储器占用值。例如,原先指派的分区具有分区窗口时间TDW,它对于IBM的POWER5体系结构是10毫秒。分区窗口时间TDW被指派增量TDPSTCH有效地分割,该指派增 量是用于分区的配置的最小运行时增量,因此是管理程序115可以替代或先占指派分区所采用的最小增量。在这些条件下,在步骤718的替代准则确定过程包括根据由TDPSTCH施加的限制和对于暂停分区的TDW的剩余部分来确定哪些可用的替代分区是合格的。
本发明包括指派选择特性,其保证一个规定水平的调度效率。即,参照图9,图上显示分区调度器在确定是否满足替代准则和以保证规定水平的处理效率的方式来选择替代分区时所执行的步骤的高级流程图。处理过程从步骤902和904开始,替代事件例如先占准则被满足或者指派分区暂停引发替代准则确定。在步骤718显示的替代准则确定操作包含子步骤906和908,用于使用可用分区的存储器占用优先级值以及指派窗口的剩余的可用部分来选择替代分区。
步骤906显示有关可用的替代分区的占用建立时间Tfp(可被记录到分区控制块和/或分区历史表305中)是否小于指派窗口的剩余部分Tremaining的确定操作。另外,在步骤906显示的确定操作利用可被设置为大于1的数值的可调节因子x来确定用于一个分区的Tfp值是否构成替代分区可以达到规定水平的处理效率的可用指派窗口时间Tremaining的足够小的部分。在一个实施例中,例如,管理程序115在步骤718根据替代逻辑分区是否具有满足关系式xTfp≤Tremaining的确定的存储器占用值Tfp做出替代判断,其中x是大于1的数值,优选地至少是10。
如果如步骤906和908所示,不满足替代优先级值评估准则,则该分区被排除为可能的替代。对于一个或多个分区执行步骤906,直至满足替代准则为止,然后处理过程在步骤910结束。
回到图7,响应于选择替代分区,管理程序115从被替代的分区释放指派窗口资源,并把资源分配给所选择的替代分区(步骤720)。如果被替代的分区已被分类为非交互的(即,成批的),如参照图5和6显示和描述的,则替代分区耗用剩余的指派窗口时间,并且处理过程回到下一个指派时间(步骤722和710)。然而,如果被替代的分区是交互分区(步骤722),则针对剩余的指派窗口时间的一个子集指派替代分 区(步骤723)。在替代指派时间结束后,指派窗口资源被重新分配给原先被替代的分区(步骤724),并且处理过程继续进行(步骤726)或结束(步骤728)。
图10显示根据本发明的在指派窗口内的分区调度。在图10所示的指派窗口被部分地定义为具有在tstart开始和在tfinish结束的配置的指派窗口时间TDW,它通过在管理程序115内的计数器部件(图上未直接显示)来实施,该计数器部件给管理程序提供分区活动在指定的指派窗口间隔上的定时中断。在所显示的实施例中,被表示为P1、P2、P3的分区由管理程序115在指派窗口内分别在时间tstart、t1和t2开始的交织的时间间隔上被指派。按照每逻辑分区调度的惯例,分区P1、P2、P3每个具有预先配置的指派时间权利,管理程序115使用这些权利用于调度,以保证分区收到它们各自的最小权利。
在所显示的实施例中,分区P1、P2、P3的最小权利在图10上被显示为分别在tstart-t1、t1-t2、t2-t3的时间。在权利时间后是t3-tfinish的剩余时间,在这段剩余时间内分区P1、P2、P3可以由管理程序115根据公平性和调度优先级排序因素来指派。而且,如上所述,分区可以暂停处理,图中示出分区P2在它的授予权利的指派时间内暂停处理。
图11是显示根据本发明的例如在图10所示的指派窗口期间分区调度调节的高级流程图。处理过程在步骤1102开始,接收到硬(即,与分区活动无关)中断,告知下一个指派窗口开始。在步骤1104,一个逻辑分区,例如分区P1、P2、P3之一,在容纳该分区的配置的周期权利的时间内被指派。参照图10,第一指派时间是对于分区P1从tstart 开始被指派规定数目的周期。
如果属于指派分区的逻辑处理器没有暂停处理(步骤1106),例如对于分区P1在tstart-t1被指派,并且还需要另外的权利分配(步骤1108),则下一个被调度的分区(例如,分区P2)被指派(步骤1104)。如果在分配最小权利(步骤1108)后的整个指派窗口时间被耗用(步骤1108),则处理过程回到步骤1102,用于下一个指派窗口时间。
除了指派成满足分区权利以外,管理程序115优选地利用优先级 因素,例如从分区相关的性能度量得出的存储器占用值,还有动态调度分区的其他调度试探法。管理程序115将由性能度量得出的优先级排序用于调度的一个情形在图11上被显示为在图10中所示的在分区P2已暂停处理的tsus处的暂停的逻辑处理器条件(步骤1106)。图11显示的其它这样的情形是在指派窗口内仍剩余额外周期的t3开始的授权后的调度(步骤1108和1110)。
响应于分区的暂停处理(步骤1106)或在指派窗口中还有额外的周期,管理程序115在包括以下的子步骤的步骤720开始指派。通过比较用于建立每个分区的存储器占用的时间与在指派窗口内剩余的时间来确定分区的指派合格性(步骤1112)。每个步骤1112合格的分区然后根据它们各自的占用建立成本被优先级排序,如在步骤1114显示的。例如,存储的统计结果表示每个分区建立存储器占用所需要的时间量。诸如以上参照图9说明的,存储器占用建立时间可被用来确定在剩余的有限的指派窗口时间下指派具体分区的相对效率。在步骤1114执行的优先级排序因此可包括图4和9所示的步骤。根据在步骤1114的优先级排序选择的分区被指派,如步骤1116所示。
所公开的方法可以使用对象或面向对象的软件开发环境利用软件来容易地实施,上述软件开发环境提供可以在多种计算机或工作站硬件平台上使用的便携式源代码。在本例中,本发明的方法和***可以被实施为嵌入在个人计算机上的例程,例如Java或CGI脚本,被实施为驻留在服务器或图形工作站上的资源,被实施为嵌入在专用源代码编辑器管理***中的例程。
虽然具体地参照优选实施例显示和描述了本发明,但本领域技术人员将会看到,可以作出在形式和细节方面的各种改变而不背离本发明的精神和范围。这些替换实施方案都属于本发明的范围。
Claims (13)
1.在计算机***中的用于在多个逻辑分区之间平衡对物理***资源的访问的方法,在采用***虚拟化分区的该计算机***中,所述多个逻辑分区中的每一个使用该计算机***的共享物理资源以与其它分区逻辑独立的方式运行,所述方法包括:
与一个或多个逻辑分区相关联地收集一个或多个物理***资源的性能度量;
根据分配的指派窗口的指派时间利用率对每个逻辑分区进行分类以得到每个逻辑分区的指派窗口利用类别;以及
在给定的物理***资源集合被预先配置成分配给一个逻辑分区的指派窗口期间,根据与替代逻辑分区相关联的收集的性能度量和该替代逻辑分区的指派窗口利用类别,将所述给定的物理***资源集合分配给该替代逻辑分区。
2.根据权利要求1所述的方法,还包括:
与各个相关的逻辑分区相关联地存储性能度量;以及
其中,所述的将所述给定的物理***资源集合分配给替代逻辑分区还包括:根据存储的性能度量选择所述替代逻辑分区。
3.根据权利要求1所述的方法,其中在给定的物理***资源集合被预先配置成分配给一个逻辑分区的指派窗口期间,根据与替代逻辑分区相关联的收集的性能度量和该替代逻辑分区的指派窗口利用类别,将所述给定的物理***资源集合分配给该替代逻辑分区还包括:
在指派窗口期间指派所述多个逻辑分区中的一个逻辑分区包括的逻辑处理器,其中所述指派包括分配预先规定的时间,在该时间期间物理***资源被分配以供所述一个逻辑分区使用;以及
响应于在预先规定的时间期间被指派的逻辑处理器暂停处理,在预先规定的时间的剩余部分内,选择另一个逻辑分区将物理***资源重新分配给它,所述选择根据与所述另一个逻辑分区相关联的收集的性能度量来执行。
4.根据权利要求1所述的方法,其中所述物理***资源包括一个或多个处理器和存储器资源的处理周期。
5.根据权利要求1所述的方法,其中,所述的将所述给定的物理***资源集合分配给替代逻辑分区还包括:如果给定逻辑分区的指派时间利用超过指定的阈值,则将该逻辑分区排除在作为在替代队列内的替代逻辑分区的合格逻辑分区以外。
6.根据权利要求1所述的方法,其中所述的与一个或多个逻辑分区相关联地收集一个或多个物理***资源的性能度量,是在物理***资源被分配给一个或多个逻辑分区的指派窗口期间执行的。
7.根据权利要求1所述的方法,还包括:利用性能度量来确定逻辑分区的存储器占用值,其中存储器占用值包括逻辑分区建立存储器占用的时间。
8.在计算机***中的用于在多个逻辑分区之间平衡对物理***资源的访问的***,在采用***虚拟化分区的该计算机***中,所述多个逻辑分区中的每一个使用该计算机***的共享物理资源以与其它分区逻辑独立的方式运行,该***包括:
用于与一个或多个逻辑分区相关联地收集一个或多个物理***资源的性能度量的装置;
用于根据分配的指派窗口的指派时间利用率对每个逻辑分区进行分类以得到每个逻辑分区的指派窗口利用类别的装置;以及
用于在给定的物理***资源集合被预先配置成分配给一个逻辑分区的指派窗口期间,根据与替代逻辑分区相关联的收集的性能度量和该替代逻辑分区的指派窗口利用类别,将所述给定的物理***资源集合分配给该替代逻辑分区的装置。
9.根据权利要求8所述的***,还包括:
用于与各个相关的逻辑分区相关联地存储性能度量的装置;以及
其中所述用于在给定的物理***资源集合被预先配置成分配给一个逻辑分区的指派窗口期间,根据与替代逻辑分区相关联的收集的性能度量和该替代逻辑分区的指派窗口利用类别,将所述给定的物理***资源集合分配给替代逻辑分区的装置还包括:
用于根据存储的性能度量选择所述替代逻辑分区的分区调度装置。
10.根据权利要求8所述的***,其中所述用于在给定的物理***资源集合被预先配置成分配给一个逻辑分区的指派窗口期间,根据与替代逻辑分区相关联的收集的性能度量和该替代逻辑分区的指派窗口利用类别,将所述给定的物理***资源集合分配给该替代逻辑分区的装置还包括:
用于在指派窗口期间指派所述多个逻辑分区中的一个逻辑分区包括的逻辑处理器的装置,其中所述指派包括分配预先规定的时间,在该时间期间物理***资源被分配以供所述一个逻辑分区使用;以及
用于响应于在预先规定的时间期间被指派的逻辑处理器暂停处理,在预先规定的时间的剩余部分内,选择另一个逻辑分区将物理***资源重新分配给它的装置,所述选择根据与所述另一个逻辑分区相关联的收集的性能度量来执行。
11.根据权利要求8所述的***,其中,用于在给定的物理***资源集合被预先配置成分配给一个逻辑分区的指派窗口期间,根据与替代逻辑分区相关联的收集的性能度量和该替代逻辑分区的指派窗口利用类别,将所述给定的物理***资源集合分配给替代逻辑分区的装置还包括:
用于如果给定逻辑分区的指派时间利用超过指定的阈值,则将该逻辑分区排除在作为在替代队列内的替代逻辑分区的合格逻辑分区以外的装置。
12.根据权利要求8所述的***,其中用于与一个或多个逻辑分区相关联地收集一个或多个物理***资源的性能度量的装置在物理***资源被分配给一个或多个逻辑分区的指派窗口期间收集所述性能度量。
13.根据权利要求8所述的***,还包括用于利用性能度量来确定逻辑分区的存储器占用值的装置,其中所述存储器占用值包括逻辑分区建立存储器占用的时间。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/692,338 | 2007-03-28 | ||
US11/692,338 US7617375B2 (en) | 2007-03-28 | 2007-03-28 | Workload management in virtualized data processing environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101276293A CN101276293A (zh) | 2008-10-01 |
CN101276293B true CN101276293B (zh) | 2015-02-25 |
Family
ID=39796314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810087397.7A Active CN101276293B (zh) | 2007-03-28 | 2008-03-27 | 在逻辑分区之间平衡物理***资源访问的方法和*** |
Country Status (2)
Country | Link |
---|---|
US (1) | US7617375B2 (zh) |
CN (1) | CN101276293B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11868805B2 (en) * | 2021-04-13 | 2024-01-09 | Red Hat, Inc. | Scheduling workloads on partitioned resources of a host system in a container-orchestration system |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8219995B2 (en) * | 2007-03-28 | 2012-07-10 | International Business Machins Corporation | Capturing hardware statistics for partitions to enable dispatching and scheduling efficiency |
US8156502B1 (en) * | 2007-06-08 | 2012-04-10 | Hewlett-Packard Development Company, L.P. | Computer resource allocation as a function of demand type |
US8635621B2 (en) * | 2008-08-22 | 2014-01-21 | International Business Machines Corporation | Method and apparatus to implement software to hardware thread priority |
US20100138829A1 (en) * | 2008-12-01 | 2010-06-03 | Vincent Hanquez | Systems and Methods for Optimizing Configuration of a Virtual Machine Running At Least One Process |
US8352952B2 (en) * | 2008-12-01 | 2013-01-08 | Citrix Systems, Inc. | Systems and methods for facilitating virtualization of a heterogeneous processor pool |
CN101754169B (zh) * | 2008-12-02 | 2013-01-23 | 中兴通讯股份有限公司 | 一种归属位置寄存器受理指令的业务管理方法及其*** |
US9135079B2 (en) * | 2009-10-21 | 2015-09-15 | International Business Machines Corporation | Dynamically assigning a portion of physical computing resource to logical partitions based on characteristics of executing logical partitions |
US8301840B2 (en) * | 2009-12-15 | 2012-10-30 | International Business Machines Corporation | Assigning cache priorities to virtual/logical processors and partitioning a cache according to such priorities |
US8443376B2 (en) | 2010-06-01 | 2013-05-14 | Microsoft Corporation | Hypervisor scheduler |
US8898664B2 (en) | 2010-06-01 | 2014-11-25 | Microsoft Corporation | Exposure of virtual cache topology to a guest operating system |
US9201677B2 (en) | 2011-05-23 | 2015-12-01 | Intelligent Intellectual Property Holdings 2 Llc | Managing data input/output operations |
US9003104B2 (en) | 2011-02-15 | 2015-04-07 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a file-level cache |
US8996807B2 (en) | 2011-02-15 | 2015-03-31 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a multi-level cache |
US8874823B2 (en) | 2011-02-15 | 2014-10-28 | Intellectual Property Holdings 2 Llc | Systems and methods for managing data input/output operations |
US8799522B2 (en) | 2011-06-10 | 2014-08-05 | International Business Machines Corporation | Executing a start operator message command |
US9037907B2 (en) | 2011-06-10 | 2015-05-19 | International Business Machines Corporation | Operator message commands for testing a coupling facility |
US8689240B2 (en) * | 2011-06-10 | 2014-04-01 | International Business Machines Corporation | Transmitting operator message commands to a coupling facility |
US8560737B2 (en) | 2011-06-10 | 2013-10-15 | International Business Machines Corporation | Managing operator message buffers in a coupling facility |
US8918797B2 (en) | 2011-06-10 | 2014-12-23 | International Business Machines Corporation | Processing operator message commands |
US9489222B2 (en) | 2011-08-24 | 2016-11-08 | Radware, Ltd. | Techniques for workload balancing among a plurality of physical machines |
US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
US9612966B2 (en) | 2012-07-03 | 2017-04-04 | Sandisk Technologies Llc | Systems, methods and apparatus for a virtual machine cache |
US10339056B2 (en) | 2012-07-03 | 2019-07-02 | Sandisk Technologies Llc | Systems, methods and apparatus for cache transfers |
US20140025890A1 (en) * | 2012-07-19 | 2014-01-23 | Lsi Corporation | Methods and structure for improved flexibility in shared storage caching by multiple systems operating as multiple virtual machines |
US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
US11182713B2 (en) | 2015-01-24 | 2021-11-23 | Vmware, Inc. | Methods and systems to optimize operating system license costs in a virtual data center |
US9983986B2 (en) | 2015-09-28 | 2018-05-29 | International Business Machines Corporation | Testing code response to injected processing errors |
CN105718539B (zh) * | 2016-01-18 | 2019-02-19 | 浪潮通用软件有限公司 | 一种数据库应用方法及装置 |
CN112711467B (zh) * | 2020-12-17 | 2023-10-10 | 北京科银京成技术有限公司 | 分区超时处理方法、装置、计算机设备及存储介质 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4843541A (en) * | 1987-07-29 | 1989-06-27 | International Business Machines Corporation | Logical resource partitioning of a data processing system |
US5222215A (en) * | 1991-08-29 | 1993-06-22 | International Business Machines Corporation | Cpu expansive gradation of i/o interruption subclass recognition |
US5691920A (en) * | 1995-10-02 | 1997-11-25 | International Business Machines Corporation | Method and system for performance monitoring of dispatch unit efficiency in a processing system |
US5765017A (en) * | 1997-01-13 | 1998-06-09 | International Business Machines Corporation | Method and system in a data processing system for efficient management of an indication of a status of each of multiple registers |
US6704766B1 (en) * | 1997-09-10 | 2004-03-09 | International Business Machines Corporation | Method and apparatus for dynamically controlling the execution of a request handler on a processor resource |
US6324621B2 (en) * | 1998-06-10 | 2001-11-27 | International Business Machines Corporation | Data caching with a partially compressed cache |
US6243788B1 (en) * | 1998-06-17 | 2001-06-05 | International Business Machines Corporation | Cache architecture to enable accurate cache sensitivity |
US6282570B1 (en) * | 1998-12-07 | 2001-08-28 | International Business Machines Corporation | Monitoring a large parallel database through dynamic grouping and sequential sampling |
US6598069B1 (en) * | 1999-09-28 | 2003-07-22 | International Business Machines Corporation | Method and apparatus for assigning resources to logical partition clusters |
US7051188B1 (en) * | 1999-09-28 | 2006-05-23 | International Business Machines Corporation | Dynamically redistributing shareable resources of a computing environment to manage the workload of that 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 |
US6880021B2 (en) * | 2001-09-28 | 2005-04-12 | International Business Machines Corporation | Intelligent interrupt with hypervisor collaboration |
US7313796B2 (en) * | 2003-06-05 | 2007-12-25 | International Business Machines Corporation | Reciprocity and stabilization in dynamic resource reallocation among logically partitioned systems |
US7392524B2 (en) * | 2004-04-06 | 2008-06-24 | International Business Machines Corporation | Method, system, and storage medium for managing computer processing functions |
US7281097B1 (en) * | 2004-06-30 | 2007-10-09 | Emc Corporation | Method of controlling the performance of a data storage system |
US7721047B2 (en) * | 2004-12-07 | 2010-05-18 | International Business Machines Corporation | System, method and computer program product for application-level cache-mapping awareness and reallocation requests |
JP4819369B2 (ja) * | 2005-02-15 | 2011-11-24 | 株式会社日立製作所 | ストレージシステム |
US7613897B2 (en) * | 2005-03-30 | 2009-11-03 | International Business Machines Corporation | Allocating entitled processor cycles for preempted virtual processors |
US20070226177A1 (en) * | 2006-03-23 | 2007-09-27 | International Business Machines Corporation | Evaluating a current partitioning of a database |
-
2007
- 2007-03-28 US US11/692,338 patent/US7617375B2/en active Active
-
2008
- 2008-03-27 CN CN200810087397.7A patent/CN101276293B/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11868805B2 (en) * | 2021-04-13 | 2024-01-09 | Red Hat, Inc. | Scheduling workloads on partitioned resources of a host system in a container-orchestration system |
Also Published As
Publication number | Publication date |
---|---|
US20080244213A1 (en) | 2008-10-02 |
US7617375B2 (en) | 2009-11-10 |
CN101276293A (zh) | 2008-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101276293B (zh) | 在逻辑分区之间平衡物理***资源访问的方法和*** | |
US7698531B2 (en) | Workload management in virtualized data processing environment | |
US8910153B2 (en) | Managing virtualized accelerators using admission control, load balancing and scheduling | |
JP6381956B2 (ja) | 動的仮想マシンサイジング | |
US7448037B2 (en) | Method and data processing system having dynamic profile-directed feedback at runtime | |
US20170212789A1 (en) | Allocation of processor resources in an emulated computing environment | |
US7334230B2 (en) | Resource allocation in a NUMA architecture based on separate application specified resource and strength preferences for processor and memory resources | |
US8219995B2 (en) | Capturing hardware statistics for partitions to enable dispatching and scheduling efficiency | |
US20040143833A1 (en) | Dynamic allocation of computer resources based on thread type | |
US8020164B2 (en) | System for determining and reporting benefits of borrowed computing resources in a partitioned environment | |
US8316365B2 (en) | Computer system | |
US20070169127A1 (en) | Method, system and computer program product for optimizing allocation of resources on partitions of a data processing system | |
JP2007512632A (ja) | アクティビティ情報を用いての仮想マシンの管理 | |
US20140373010A1 (en) | Intelligent resource management for virtual machines | |
JP2004030574A (ja) | 動的にキャッシュ・メモリの割り当てを行うプロセッサ集積回路 | |
US6587865B1 (en) | Locally made, globally coordinated resource allocation decisions based on information provided by the second-price auction model | |
US7698530B2 (en) | Workload management in virtualized data processing environment | |
JP2002202959A (ja) | 動的な資源分配をする仮想計算機システム | |
US9183061B2 (en) | Preserving, from resource management adjustment, portions of an overcommitted resource managed by a hypervisor | |
KR20060053929A (ko) | 정보 처리 장치, 정보 처리 방법 및 프로그램 | |
KR20100074920A (ko) | 멀티코어 시스템에서의 로드 밸런싱 장치 및 방법 | |
Yu et al. | Collaborative heterogeneity-aware os scheduler for asymmetric multicore processors | |
US8214837B2 (en) | Method, apparatus and system for dynamically allocating sequestered computing resources | |
US6829765B1 (en) | Job scheduling based upon availability of real and/or virtual resources | |
JPH11259316A (ja) | Cpu能力調整方法 |
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 |