CN100487659C - 用于优化分段资源分配的方法和设备 - Google Patents

用于优化分段资源分配的方法和设备 Download PDF

Info

Publication number
CN100487659C
CN100487659C CNB2006101425057A CN200610142505A CN100487659C CN 100487659 C CN100487659 C CN 100487659C CN B2006101425057 A CNB2006101425057 A CN B2006101425057A CN 200610142505 A CN200610142505 A CN 200610142505A CN 100487659 C CN100487659 C CN 100487659C
Authority
CN
China
Prior art keywords
subregion
attribute
subregions
strategy
resource
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
Application number
CNB2006101425057A
Other languages
English (en)
Other versions
CN1975679A (zh
Inventor
弗兰克·巴里尔洛德
马修·F·卡利
安尼塔·戈文德吉
巴拉吉·文卡塔·阿特雅姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1975679A publication Critical patent/CN1975679A/zh
Application granted granted Critical
Publication of CN100487659C publication Critical patent/CN100487659C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Abstract

公开了一种计算机实现的方法、设备和计算机程序产品,用于在数据处理系统中的多个分区之间优化计算资源的分段分配。定义多个处理属性。为第一个分区生成了一个策略。该策略包括对处理属性的定义。为第一个分区确定处理属性的当前值。策略和当前值随后被用来确定要分配给第一个分区的计算资源的分段部分。

Description

用于优化分段资源分配的方法和设备
技术领域
优选实施例一般涉及数据处理系统,更准确地说,涉及用于在多个分区之间优化单个资源的分段(fractional)资源分配的动态策略管理器方法、系统和计算机程序产品。
背景技术
数据处理系统(平台)中的逻辑分区(LPAR)功能允许单个操作系统(OS)的多个副本或多个不同的操作系统同时运行在单个数据处理系统平台上。为操作系统镜像运行在其中的分区分配了不相重叠的平台资源子集。这些平台可分配资源包括:具有中断管理区域的一个或多个体系结构不同的处理器、系统存储器区域和输入/输出(I/O)适配器总线插槽。分区的资源由平台的固件提供给OS镜像。
平台中运行的每个不同的OS或OS镜像相互被保护起来,使得一个逻辑分区中的软件错误不会影响任何其它分区的正确运行。这是通过分配由每个OS镜像直接管理的不相交的平台资源集合并提供用于确保各个镜像不能控制没有分配给它的资源的机制而实现的。此外,避免了在对分配给操作系统的资源的控制中产生的软件错误影响任何其它镜像的资源。因而,OS(或每个不同的OS)的每个镜像直接控制平台中可分配资源的一个不同集合。
关于LPAR系统中的硬件资源,这些资源由各个不同分区不相交地共享,分区自身不相交,每个分区看上去都像一台单独的计算机。例如,这些资源可以包括输入/输出(I/O)适配器、存储器DIMM、非易失性随机访问存储器(NVRAM)以及硬盘驱动器。LPAR系统中的每个分区都能被反复启动和关闭而不必重新启用(power-cycle)整个系统。
在这些现有技术的系统中,这些资源被完整地分配给逻辑分区。因而,一个完整的资源被作为单个单元分配给一个逻辑分区。然而,利用资源的虚拟化,现在可以向一个分区分配资源的若干分段。因而,一个物理资源可以被划分并被同时分配给多个分区。在这些系统中,单个资源的第一部分可以被分配给第一个分区,同时第二部分被分配给第二个分区,第三部分被分配给第三个分区。
在已知系统中,当一个资源变为可用时,该资源的各部分被平均分配给已经请求该资源的分区。该资源被平均划分,而不管系统管理员想执行的任何策略,也不管分区实际上是否正在使用该资源。该资源在请求用户之间被平均分配。通常,一个用户是一个逻辑分区。
例如,如果要向三个用户分配这个资源,该资源将被分为三份,每一份被给予其中一个用户。随后如果另一用户要请求该资源并且这个资源被选定要分配给这个新用户,该资源将被在所有四个当前用户之间平均划分。该资源将被重新分配,使得每个用户现在将得到该资源的四分之一而不是三分之一。
在一些已知系统中,资源是被以预留方法分配的。在这些系统中,按照先来先服务的原则分配资源。在这些系统中,用户在资源被分配给它之前必须等到该资源变为可用。
在其它系统中,即有时称为“按需(on-demand)”的系统中,当请求资源时分配资源。因而,当一个用户请求资源时,系统在必要时将通过重新分配已经分配给其它用户的资源而将资源分配给该用户。
因此,需要一种方法、设备和计算机程序产品,用于根据一个数据处理系统的策略和特定客户使用情况动态地分配该数据处理系统中的资源的各个分段。
发明内容
根据本发明的一方面,提供一种用于在数据处理系统中的多个分区之间优化计算资源的分段分配的计算机实现的方法。该方法可以包括:定义多个处理属性,所述处理属性包括定性和定量属性;为所述多个分区中的至少一个分区生成策略,所述策略包括所述多个处理属性的所述定义;为所述多个分区中的所述至少一个分区确定所述多个处理属性的当前值;利用所述定性属性和所述定量属性的排序来给所述定性属性和所述定量属性中的每一个属性指定占全部中的百分比;以及利用所述策略、所述当前值和所述百分比来确定要分配给所述多个分区中的所述至少一个分区的所述计算资源的分段部分。
根据本发明的另一方面,提供一种在数据处理系统中的设备,用于在所述数据处理系统中包括的多个分区之间优化计算资源的分段分配。该设备可以包括:多个处理属性,所述处理属性包括定性和定量属性;为所述多个分区中的至少一个分区定义的策略,所述策略包括对所述多个处理属性的所述定义;策略管理器,用于为所述多个分区中的所述至少一个分区确定所述多个处理属性的当前值;利用所述定性属性和所述定量属性的排序给所述定性属性和所述定量属性中每一个属性指定的占全部中的百分比;以及所述策略管理器用于利用所述策略、所述当前值和所述百分比来确定要分配给所述多个分区中所述至少一个分区的所述计算资源的分段部分。
附图说明
在所附权利要求中阐明了被认为是本发明特性的新颖性特征。但是,在结合附图阅读时参考下面对示范性实施例的详细说明,将最好地理解本发明自身以及它的优选使用方式、更多目标和优势。在附图中:
图1是包括优选实施例的计算机系统网络的示意图;
图2是包括优选实施例的计算机系统的框图;
图3是包括管理器(hypervisor)的数据处理系统的框图,在该管理器中可以实现本发明的优选实施例;
图4是包括优选实施例的逻辑分区的平台的框图;
图5示出了说明依照优选实施例生成多个属性的高级流程图;
图6说明了依照优选实施例为用户创建管理资源分配的策略;
图7示出了说明依照优选实施例针对特定用户的特定策略确定每个分区的份额的高级流程图;
图8示出了说明依照优选实施例分配资源的高级流程图;
图9示出了数据处理系统的框图,在该数据处理系统中依照优选实施例根据用户策略分配资源。
具体实施方式
优选实施例是动态策略管理器,该动态策略管理器根据一个或多个策略以及用户对资源的当前利用情况,动态并且自动地将数据处理系统中的资源的各个分段分配给这些用户。为一个或多个用户生成一个策略。例如,一个特定的项目可以是高优先级。在这种情况下,系统管理可以生成一个特定的策略以便将更大百分比的资源授予在该项目上工作的用户。
策略是通过选择特定属性并对其排序而生成的。在数据处理系统的处理期间通过选择不同的属性和/或通过修改属性的参数(如排序)可以动态、自动地修改策略。
动态策略管理器为每个用户确定用户相对份额属性。用户相对份额属性是通过分析对于每个用户的每个所选择的属性的当前值而确定的。另外,在为每个用户确定用户相对份额属性时,考虑了每个用户对资源的相对利用。
动态策略管理器随后将用户相对份额属性转换成对于每个用户的分区份额百分比。随后由管理器根据用户的分区份额百分比向用户正在其中执行的分区分配资源分段。
采用这种方式,通过根据各个分区的分区份额百分比在分区间划分资源而把资源分配到多个不同分区。
可选地,不是根据分区份额百分比划分单个资源,在决定将整个资源分配给哪个分区时也可以使用该优选实施例。高优先级的资源可被分配给有更高的用户相对份额属性的用户。高优先级资源可能是被频繁请求的资源、资源的更强大版本、或者系统管理员想要控制的任何其它资源。
用户相对份额属性可以由动态策略管理器在处理期间自动并且动态地更新。特定属性的当前值在处理期间被监控并被更新。用户相对份额属性随后在处理期间被连续更新,因而分区份额百分比在也被不断地更新。然后,当分配资源时,管理器使用上述不断更新的分区份额百分比。这样,可以动态更改分配给各个分区的资源百分比。
策略是通过选择一组定性和/或定量属性而生成的。对于每个用户,管理员定义一组定性和/或定量属性,其表示管理员想要给该用户确定优先级的方式。
定性属性是被赋予非数字值的属性。定性属性的格式为:
Private String[]names;
Private int[]ranks。
所有定性属性名都被保存在描述该属性中的数据的字符串数组中。与字符串名称数组对应的是描述每个命名属性的排序的“rank(排序)”数组。名字和其排序的下标在两个数组中相同。因而,举例来说,名称数组中第二个列出的名字对应于排序数组中第二个列出的排序。
定性属性的一个例子是“Development Platform(开发平台)”。“Development Platform”属性的示例性值可以是“POWER5”、“POWER4”和“Other(其它)”。因而,用户可能正在使用基于POWER5处理器集、POWER4处理器集或将被归类为“其它”的不同处理器集的平台。
随后由系统管理员根据系统管理员想给予优先的那个平台对这些不同的可能的平台进行排序。例如,系统管理员可能将POWER5平台排序为高于POWER4平台,而POWER4又高于所有其它平台。
在这种情况下,命令将是:
Names={POWER5,POWER4,other},
Ranks={1,2,3}
这意味着“POWER5”的排序是“1”,“POWER4”的排序是“2”,“Other”的排序是“3”。
定量属性是有数字值的属性。为每个定量属性定义了“最佳”可能值和“最差”可能值。最高的可能数字值不一定是“最佳”可能值,最低的可能数字值也不一定是“最差”可能值。
定量属性的一个例子是“资源利用百分比”属性。这种情况下的最佳值是100,这意味着用户在资源对该用户可用的全部时间内都访问了该资源。这种情况下的最差值是0,这意味着用户在资源对该用户可用的时间内完全没有访问该资源。
用户相对份额属性守护进程(daemon)由优选实施例提供,用于确定用户相对份额属性。用户相对份额属性随后被用来确定分区份额百分比。分区份额百分比是将被分配给用户正在其中执行的分区的资源百分比。用户相对份额属性守护进程通过针对用户评估正在被实现的策略中包括的属性的当前值而确定用户相对份额属性。
用户相对份额属性守护进程针对用户确定策略所指定的属性的当前值。一些属性由守护进程有规律地监控,用户的当前值由守护进程有规律地更新。
“资源利用百分比”属性是“被监控的”属性的一个例子。用户的资源利用百分比的当前值被有规律地测定。用户相对份额属性守护进程随后利用对于每个被监控的属性的更新的当前值来更新这个用户的用户相对份额属性。因而,该守护进程有规律地监控处理活动以确定用户当前是否正在访问特定的资源以及用户实际使用该资源的时间量。
针对数据处理系统中为其定义了策略的每个用户完成上述过程。可以同时实施若干策略。另外,可以同时监控为它们实施了一个或多个策略的若干用户。可以在相同的一个或多个策略中包括若干用户。
下面是优选实施例的一个例子:
存在对其将要实施一个特定策略的两个用户,即XX和YY。在要为用户XX和YY实施的策略中,已经选择包括两个属性:开发平台属性,下面称为“DevPlat”,和资源利用百分比属性,下面称为“PercUtilRes”。已经为PercUtilRes属性指定了“最佳”值“100”,以及“最差”值“0”。
对于DevPlat属性可能的非数字值是“POWER5”、“POWER4”和“other(其它)”。然后,系统管理员通过分配下列排序来对DevPlat属性的值进行排序:即POWER5=1,POWER4=2以及other=3。
然后,系统管理员通过分配下列排序来对所有属性一起进行排序,PercUtilRes=1,DevPlat=2。利用这些总体排序,分配了在全部中的下列百分比:DevPlat=2/3以及PercUtilRes=1/3。
然后,为用户XX和YY保存这个策略。
然后,为每个用户获得每个属性的当前值。下面是对于用户XX和YY的示例值:用户XX正在使用POWER4并且目前正在利用75%的资源。用户YY正在使用POWER5并且目前正在利用20%的资源。
然后,可以如下确定对于每个用户的用户相对份额属性:
对用户XX,PercUtilRes权重是(75)(1/100)=0.75。DevPlat权重是在3个中排序为2,因为用户XX正在使用排序为2的POWER4。排序1的值为1。排序2的值是0.67。排序3的值是0.33。因此,对于这个用户的DevPlat权重是0.67,因为用户XX正在使用排序为2的POWER4。对于用户XX的用户相对份额属性等于(对于DevPlat在全部中的百分比)(该用户的DevPlat权重)+(对于PercUtilRes在全部中的百分比)(该用户的PercUtilRes权重),它等于:(2/3)(0.67)+(1/3)(0.75)=0.696。
对用户YY,PercUtilRes权重是(20)(1/100)=0.20。DevPlat权重在3个中排序为1,因为用户YY正在使用排序为1的POWER5。因此,DevPlat权重是1,因为用户YY正在使用POWER5。对于用户YY的用户相对份额属性是(2/3)(1)+(1/3)(0.20)=0.733。
为更大的用户相对份额属性分配更大百分比的资源。因此,在分配资源时,将更大百分比的每个资源给予用户YY正在其中执行的分区。
图1是包括优选实施例的计算机系统网络的示意图。网络数据处理系统100是可以在其中实现优选实施例的计算机网络。网络数据处理系统100包含网络102,它是用来在网络数据处理系统100中连接在一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括诸如有线、无线通信链路或光缆等的连接。
在所示的例子中,服务器104和存储单元106一起与网络102相连。另外,客户机108、110和112也与网络102相连。这些客户机108、110和112可以是例如个人计算机、网络计算机或其它计算设备。在所示的例子中,服务器104向客户机108-112提供数据,如引导文件、操作系统镜像和应用。客户机108、110和112是到服务器104的客户机。网络数据处理系统100可以包括额外的服务器、客户机以及没有示出的其它设备。
在所示的例子中,网络数据处理系统100是英特网,网络102表示遍及全世界的使用TCP/IP协议族相互通信的网络和网关的集合。英特网的核心是主结点或主计算机之间高速数据通信线路的骨干,由成千上成个路由数据和消息的商业、政府、教育和其它计算机系统组成。
当然,网络数据处理系统100还可以被实现为多个不同类型的网络,比如内联网、局域网(LAN)、广域网(WAN)或无线网。图1作为示例性的,而不是作为对优选实施例的体系结构的限制。
图2是包括优选实施例的计算机系统的框图。计算机系统200可以是包括多个连接到系统总线206的处理器202和204的对称多处理器(SMP)系统。可替换地,可以采用单处理器系统。在所示的例子中,处理器204是服务处理器。同样连接到系统总线206的是存储控制器/高速缓冲存储器208,它提供了到本地存储器209的接口。I/O总线桥接器210与系统总线206相连并提供了到I/O总线212的接口。存储控制器/高速缓冲存储器208和I/O总线桥接器可以如图所示集成到一起。
与I/O总线212相连的外围部件互连(PCI)总线桥接器214提供到PCI本地总线的接口。多个调制解调器可以连接到PCI总线216。典型的PC总线实现将支持四个PCI扩展槽或内插(add-in)连接器。通过经板连接到PCI本地总线216的调制解调器218和网络适配器220,可以提供到其它计算机的通信链路。
附加PCI总线桥接器222和224为附加PCI总线226和228提供接口,从附加PCI总线226和228,可以支持附加的调制解调器或网络适配器。按这种方式,数据处理系统200提供了到多个网络计算机的连接。如图所示,存储映射的图形适配器230也可以直接或间接连接到I/O总线212。
诸如硬备驱动器232等存储设备可以通过I/O适配器卡233耦合到诸如总线228的PCI总线。硬盘驱动器232可以用任何类型的技术来实现。例如,硬盘驱动器232可以是SAS驱动器或SCSI驱动器。然后,适配器卡233根据硬盘驱动器232所支持的接口技术的类型将PCI总线映射为SCSI总线或SAS总线。
系统200中包括了其它存储设备,比如数字介质驱动器240.数字介质驱动器240通过I/O适配器卡242耦合到PCI总线226。当数字存储介质被插入到数字介质驱动器240时,可以利用数字介质驱动器240读取(即播放)存储在该数字存储介质(如CD-ROM或DVD-ROM)上的数据。在数字介质驱动器240中可以利用其它类型的数字存储介质以播放存储在该数字存储介质中的数据。
本领域技术人员将会理解,图2所示的硬件可以变化。例如,除所示硬件之外还可使用诸如光盘驱动器或类似设备的其它外围设鄂毕,或用它们代替所示硬件。所示的例子并不意味着对优选实施例的体系结构进行限制。
图3是包括管理器的数据处理系统300的框图,可在该数据处理系统300中实现优选实施例。系统300优选地是对称多处理(SMP)服务器计算机系统。SMP服务器计算机系统300包括可以被映射到用户应用(即由用户应用暂时拥有)的物理硬件设备以执行该应用。
SMP服务器计算机系统300包括物理SMP服务器302。物理SMP服务器302包括诸如处理器304、存储器306和I/O适配器308等的物理硬件设备。这些物理设备由管理器310管理。每个处理器304优选地都是能在处理器上并发执行多个不同线程的并发多线程(SMT)处理器。
虚拟服务器是有相同能力、接口和状态的物理服务器的代理。虚拟服务器由驻留在物理SMP服务器计算机系统300上的管理器创建。虚拟服务器对它的用户表现为物理SMP服务器:运行在其上的操作系统、中间件和应用软件。SMP服务器计算机系统300包括一个或多个虚拟服务器,如虚拟服务器312和312a.
每个虚拟服务器对它的软件都表现为包括可用于由该虚拟服务器独占使用的它自己虚拟处理器、存储器和I/O适配器。例如,虚拟服务器312包括虚拟处理器320、虚拟存储器322和虚拟I/O适配器324。虚拟服务器312a包括虚拟处理器320a、虚拟存储器322a和虚拟I/O适配器324a.
每个虚拟服务器支持它自己的软件环境,包括操作系统、中间件和应用。每个虚拟服务器的软件环境都不同于其它虚拟服务器的软件环境。例如,每个虚拟服务器所执行的操作系统各不相同。
例如,虚拟服务器312支持操作系统314、中间件316和应用318。虚拟服务器312a支持操作系统314a、中间件316a和应用318a。操作系统314和314a可以是相同或不同的操作系统。
虚拟服务器是定义服务器环境的服务器逻辑描述,该服务器环境对用户来说仿佛是可以用与物理服务器相同的方式访问并提供信息的物理服务器。为每个虚拟服务器定义的虚拟处理器、虚拟存储器和虚拟I/O适配器是物理处理器、存储器和I/O适配器的逻辑代替。
管理器310管理具有虚拟处理器、虚拟存储器和虚拟I/O适配器的虚拟服务器和被选定用来实现这些虚拟设备的物理硬件设备之间的映射。例如,当调度一个虚拟处理器时,由管理器310选择一个物理处理器(如物理处理器304之一)用来执行并实现那个虚拟处理器。管理器310管理物理设备的选择以及它们到虚拟设备的临时分配。
管理器310负责动态创建、管理和销毁虚拟SMP服务器。管理器310可以添加或删除整个虚拟处理器、虚拟I/O适配器和虚拟存储块。管理器310还负责动态资源分配、物理资源的分时共享管理以及在不涉及操作系统的情况下更改映射到处理器的物理资源。管理器310还能够在不希望共享的情况下将一个物理资源专门用于虚拟资源。管理器310还负责管理物理资源的添加或删除。管理器310使这些添加和删除对更上层的应用透明。
图4是包括优选实施例的按逻辑分区的平台的框图。数据处理系统420包括按逻辑分区的平台450。平台450包括分区的硬件452、分区管理固件(也称为管理器454)以及分区456-459。操作系统461-464可以是单个操作系统的多个副本或同时运行在平台450上的多个不同操作系统。
分区的硬件452包括多个具有SMT能力的处理器465-468、多个系统存储单元470-473、多个输入/输出(I/O)适配器474-481以及存储单元482。处理器465-468、系统存储单元470-473以及输入/输出(I/O)适配器474-481中的每一个都可被分配到多个分区456-459之一。分区的硬件452还包括服务处理器490。服务处理器490中包括非易失性存储设备491,比如NVRAM设备。
分区管理固件(管理器)454为分区456-459执行多个功能和服务以创建并实施对按逻辑分区的平台450的分区。管理器454是固件实现的与底层硬件等同的虚拟机。固件是存储在不需电能即可保存其内容的存储器芯片中的“软件”,所述存储器芯片是例如只读存储器(ROM)、可编程ROM(PROM)、可擦可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)和非易性性随机访问存储器(非易失性RAM)。因而,管理器454通过虚拟化按逻辑分区的平台450的所有硬件资源而允许独立的OS镜像461-461的同时执行。管理器454可以通过I/O适配器474-481将I/O设备以独占模式连接到单个虚拟机以供OS镜像461-464之一使用。
硬件管理控制台(HMC)480可以耦合到数据处理系统420中的服务处理器490。HMC480是耦合到服务处理器490的独立的计算机系统并且可由用户用来通过服务处理器490控制系统420的各种功能。
图5示出了说明依照优选实施例生成多个属性的高级流程图。如图所示该过程从块500开始,并且然后转到块502,块502说明了生成多个定性属性。接着,块504说明了生成多个定量属性。
该过程然后转到块506,块506说明了为每个定量属性分配“最佳”值。接下来,块506说明为每个定量属性分配“最差”值。然后,定量属性被在最佳和最差值之间排序。如图所示,该过程随后在块510结束。
图6说明了依照优选实施例为用户创建用于管理资源分配的策略。如图所示,该过程从块600开始,并且然后转到块602,块602说明了管理员选择一组定性和/或定量属性以在特定用户的特定策略中使用。接着,块604说明了管理员通过按照特定策略重要性的顺序对每个定量属性的所有可能的非数字值进行排序而为每个定性属性产生值排序。
接着,块606说明了管理员通过按照特定策略重要性的顺序对所有属性(定性及定量)一起进行排序而创建总的排序。随后该过程转到块608,块608说明了使用总的排序给每个属性分配占全部中的百分比。然后,块610说明了为这个用户保存这个策略。如图所示,该过程随后在块612结束。
图7示出的高级流程图说明依照优选实施例针对特定用户的特定策略确定每个分区的百分比份额。如图所示,该过程从块700开始,并且然后转到块702,块702说明了获取这个用户的策略。接着,块704说明了为这个用户策略中包括的每个属性确定当前值。然后,块706说明了利用该策略和该用户的当前属性值确定对于这个用户的用户相对份额属性。
然后,该过程转到块708,块708说明了利用用户相对份额属性为这个用户正在其中执行的分区确定分区份额百分比。然后,块712说明了确定该策略是否包括要被有规律地监控的属性。如果确定有至少一个要有规律地监控的属性,则过程就转到块716,块716说明确定需要有规律地监控的属性的当前值。然后,该过程回到块706.
再来看块712,如果确定在这个策略中没有需要有规律地监控的属性,则如图所示,该过程在块714结束。
图8示出了说明依照优选实施例分配资源的高级流程图。如图所示,该过程从块800开始,并且然后转到块802,块802说明了按照当前正在使用的策略选择要在分区之间分配的资源。接着,块804说明了管理器为各个分区确定分区份额百分比。
然后,块806说明了管理器通过用分区份额百分比在分区之间划分资源而向各个不同分区分配资源。如图所示,随后,该过程在块808结束。
图9说明了在其中依照优选实施例分配一部分资源的数据处理系统的框图。数据处理系统900包括一个或多个用户,如用户902和用户904.
用户可以是正在执行的任何进程、服务、应用、程序或子程序,或者是使进程、服务、应用、程序或子程序在数据处理系统900中执行的人、公司或实体。用户可以位于地理上相似或相异的位置。用户可以在相同的计算机系统中执行或者可以在完全分离的、不同的计算机系统中执行。每个用户可以在单个数据处理系统中它自己的逻辑分区中执行。
资源906中的一些或全部可以由各种用户共享,包括用户902和用户904。依照优选实施例,按照系统管理员的策略并根据每个用户对资源906中的一个或多个资源的实际使用情况而自动和动态地将资源906中的一个资源的分段分配给用户902、904。
系统管理员910可以创建策略以分配资源906中的一个资源的一部分。然后,系统管理员910定义用来实现该策略的定性和/或定量属性。定性和/或定量属性定义912由系统管理员生成,并且然后被存储在属性存储库914中。
用户相对份额守护进程916不断地执行以计算能够分配给每个用户的资源相对份额。用户相对份额守护进程916访问属性存储库914以获取属性及与特定策略指定的属性有关的信息。用户相对份额守护进程916首先为用户确定可以监控的每个属性的当前值。然后,用户相对份额守护进程使用策略和每个用户的当前属性值为该用户确定用户相对份额属性。
守护进程916将用户相对份额属性发送到转换器918,转换器918随后利用该用户相对份额属性来确定这个用户正在其中执行的分区的分区份额百分比。转换器918将该分区份额百分比提供给管理器908。管理器908随后通过根据对于每个用户902和904的分区份额百分比在用户902和904之间划分资源来分配资源906中的资源。
守护进程916持续监控特定属性对于一些用户的当前值,如属性监控920所示。守护进程916然后为那些用户更新它的用户相对分享份额属性。守护进程916将更新后的用户相对分享份额发送到转换器918,转换器918再次为每个用户正在其中执行的分区确定分区份额百分比。转换器918随后将更新后的分区份额百分比发送到管理器908,管理器908在必要的时候将根据更新后的分区份额百分比重新分配资源。
如块922所示,优选实施例是动态策略管理器,该动态策略管理器能够根据用户的当前资源利用情况并根据系统管理员定义的一个或多个策略动态来分配资源分段。
本发明采用全硬件实施例、全软件实施例或包含硬件及软件的实施例的形式。在优选实施例中,本发明是用软件实现的,该软件包括但不限于固件、常驻软件、微代码等。
此外,本发明采用可以从提供了由计算机或任何指令执行系统使用或结合计算机或任何指令执行系统使用的程序代码的计算机可用或计算机可读介质访问的计算机程序代码的形式。为了说明的目的,计算机可用或计算机可读介质可以是包含、存储、传递、传播或传输由指令执行系统、装置或设备使用或结合指令执行系统、装置或设备使用的程序的任何装置。
介质可以是电子的、磁的、光学的、电磁的、红外的或半导体系统(或装置或设备)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移除计算机磁盘、随机访问存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘目前的例子包括光盘-只读存储器(CD-ROM)、光盘-读/写(CD-R/W)和DVD。
适于存储和/或执行程序代码的数据处理系统将包括通过系统总线直接或间接与存储元件耦合的至少一个处理器。存储器元件可以包括在程序代码实际执行期间采用的本地存储器、大容量存储器、以及高速缓冲存储器,高速缓冲存储器为至少一些程序代码提供了临时存储以便减少执行期间必须从大容量存储器获取代码的次数。
输入/输出或I/O设备(包括但不限于键盘、显示器、指示设备等)可以与系统直接耦合或通过中间的I/O控制器与系统耦合。
网络适配器还可以与系统耦合以使数据处理系统能够通过中间的专用或公共网络与其它数据处理系统或远程打印机或存储设备耦合。调制解调器、电缆调制解调器和以太网卡只是目前可用的网络适配器中的一些。
为说明和描述起见已经给出了对优选实施例的说明,但这并不是为了穷举或以所公开的形式限制本发明。本领域的技术人员将明了很多改进和变化。选择并说明实施例是为了最好地解释本发明的原理、实际应用,以及使本领域的其它技术人员能够针对适合所思考的特定应用的带有不同改进的不同实施例理解本发明。

Claims (13)

1.一种用于在数据处理系统中的多个分区之间优化计算资源的分段分配的计算机实现的方法,所述方法包括:
定义多个处理属性,所述处理属性包括定性和定量属性;
为所述多个分区中的至少一个分区生成策略,所述策略包括所述多个处理属性的所述定义;
为所述多个分区中的所述至少一个分区确定所述多个处理属性的当前值;
利用所述定性属性和所述定量属性的排序来给所述定性属性和所述定量属性中的每一个属性指定占全部中的百分比;以及
利用所述策略、所述当前值和所述百分比来确定要分配给所述多个分区中的所述至少一个分区的所述计算资源的分段部分。
2.依照权利要求1所述的方法,还包括:
在处理期间持续监控所述当前值;
响应于为所述多个分区中的所述至少一个分区确定所述多个处理属性的不同值,在处理期间修改所述分段部分。
3.依照权利要求1所述的方法,还包括:
为所述多个分区的第一多个分区生成第二策略;
为所述多个分区的所述第一多个分区中的每一个分区确定所述多个处理属性的第二当前值;
利用所述第二策略、所述第二当前值以及所述百分比来确定要分配给所述多个分区的所述第一多个分区中的每一个分区的所述计算资源的分段部分;以及
对于所述多个分区的所述第一多个分区中的每一个分区,将所述计算资源的分段部分分配给所述多个分区的所述第一多个分区中的每一个分区,所述多个分区的所述第一多个分区中的所述每一个分区正在所述计算资源的分段部分中执行。
4.依照权利要求1所述的方法,还包括:
所述定性属性中的每个属性都有非数字值。
5.依照权利要求1所述的方法,还包括:
按照所述策略的重要性顺序对所述定性属性和所述定量属性一起排序。
6.依照权利要求1所述的方法,还包括:
按照所述策略的重要性顺序对所述定性属性中每个属性的每个可能的值进行排序;
为所述定量属性中的每个属性选择一个最佳值;
为所述定量属性中的每个属性选择一个最差值;
对所述最佳值和所述最差值之间的所述定量属性进行排序;
按照所述策略的重要性顺序对所述定性属性和所述定量属性一起进行排序;
利用对于所述定性属性中每个属性的每个可能的值的所述排序、所述最佳值、所述最差值、以及所述定性属性和所述定量属性一起的所述排序,来确定要分配给所述多个分区中所述至少一个分区的所述计算资源的所述分段部分。
7.依照权利要求1所述的方法,还包括:
选择要分配给所述多个分区中的第一组分区的第二资源;
取回要用于给所述多个分区中的所述第一组分区分配所述第二资源的第二策略;
识别由所述第二策略定义的第二多个处理属性;
为所述多个分区的所述第一组分区确定第二当前值;
利用所述第二策略、所述第二当前值和所述百分比,来确定要分配给所述多个分区的所述第一组分区中每一个分区的所述第二资源的分段部分。
8.一种在数据处理系统中的设备,用于在所述数据处理系统中包括的多个分区之间优化计算资源的分段分配,所述设备包括:
多个处理属性,所述处理属性包括定性和定量属性;
为所述多个分区中的至少一个分区定义的策略,所述策略包括对所述多个处理属性的所述定义;
策略管理器,用于为所述多个分区中的所述至少一个分区确定所述多个处理属性的当前值;
利用所述定性属性和所述定量属性的排序给所述定性属性和所述定量属性中每一个属性指定的占全部中的百分比;以及
所述策略管理器用于利用所述策略、所述当前值和所述百分比来确定要分配给所述多个分区中所述至少一个分区的所述计算资源的分段部分。
9.依照权利要求8所述的设备,还包括:
所述策略管理器用于在处理期间持续监控所述当前值;
响应于为所述多个分区中的所述至少一个分区确定所述多个处理属性的不同值,所述策略管理器用于在处理期间修改所述分段部分。
10.依照权利要求8所述的设备,还包括:
为所述多个分区的第一多个分区定义的第二策略;
所述策略管理器为所述多个分区的所述第一多个分区中的每个分区确定所述多个处理属性的第二当前值;
所述策略管理器利用所述第二策略、所述第二当前值和所述百分比来确定要分配给所述多个分区的所述第一多个分区中的每一个分区的所述资源的分段部分;以及
所述数据处理系统包括CPU,该CPU执行的代码用于对于所述多个分区的所述第一多个分区中的每一个分区,将所述计算资源的分段部分分配给所述多个分区的所述第一多个分区中的每一个分区,所述多个分区的所述第一多个分区中的所述每一个分区正在所述计算资源的分段部分中执行。
11.依照权利要求8所述的设备,还包括:
按照所述策略的重要性顺序一起排序所述定性属性和所述定量属性。
12.依照权利要求8所述的设备,还包括:
按照所述策略的重要性顺序排序的对于所述定性属性中的每个属性的每个可能值;
对于所述定量属性中每个属性的最佳值;
对于所述定量属性中每个属性的最差值;
在所述最佳值和所述最差值之间排序所述定量属性;
按照所述策略的重要性顺序一起排序所述定性属性和所述定量属性;
所述策略管理器利用对于所述定性属性中每个属性的每个可能值的所述排序、所述最佳值、所述最差值、以及所述定性属性和所述定量属性一起的所述排序,来确定要分配给所述分区中所述至少一个分区的所述计算资源的所述分段部分。
13.依照权利要求8所述的设备,还包括:
要分配给所述多个分区中的第一组分区的第二资源;
要用于给所述多个分区中的所述第一组分区分配所述第二资源的第二策略;
所述策略管理器识别由所述第二策略定义的第二多个处理属性;
所述策略管理器为所述多个分区的所述第一组分区确定第二当前值;
所述策略管理器利用所述第二策略、所述第二个当前值和所述百分比确定要分配给所述多个分区的所述第一组分区中每一个分区的所述第二资源的分段部分。
CNB2006101425057A 2005-10-27 2006-10-27 用于优化分段资源分配的方法和设备 Expired - Fee Related CN100487659C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/260,625 US8327370B2 (en) 2005-10-27 2005-10-27 Dynamic policy manager method, system, and computer program product for optimizing fractional resource allocation
US11/260,625 2005-10-27

Publications (2)

Publication Number Publication Date
CN1975679A CN1975679A (zh) 2007-06-06
CN100487659C true CN100487659C (zh) 2009-05-13

Family

ID=37998128

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101425057A Expired - Fee Related CN100487659C (zh) 2005-10-27 2006-10-27 用于优化分段资源分配的方法和设备

Country Status (2)

Country Link
US (1) US8327370B2 (zh)
CN (1) CN100487659C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104519119A (zh) * 2013-09-27 2015-04-15 国际商业机器公司 虚拟化的云环境中异构迁移会话的反应性节流

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7757033B1 (en) 2004-02-13 2010-07-13 Habanero Holdings, Inc. Data exchanges among SMP physical partitions and I/O interfaces enterprise servers
US7633955B1 (en) 2004-02-13 2009-12-15 Habanero Holdings, Inc. SCSI transport for fabric-backplane enterprise servers
US7873693B1 (en) 2004-02-13 2011-01-18 Habanero Holdings, Inc. Multi-chassis fabric-backplane enterprise servers
US7843906B1 (en) 2004-02-13 2010-11-30 Habanero Holdings, Inc. Storage gateway initiator for fabric-backplane enterprise servers
US8868790B2 (en) 2004-02-13 2014-10-21 Oracle International Corporation Processor-memory module performance acceleration in fabric-backplane enterprise servers
US7685281B1 (en) 2004-02-13 2010-03-23 Habanero Holdings, Inc. Programmatic instantiation, provisioning and management of fabric-backplane enterprise servers
US7990994B1 (en) * 2004-02-13 2011-08-02 Habanero Holdings, Inc. Storage gateway provisioning and configuring
US8713295B2 (en) 2004-07-12 2014-04-29 Oracle International Corporation Fabric-backplane enterprise servers with pluggable I/O sub-system
US7945913B2 (en) * 2006-01-19 2011-05-17 International Business Machines Corporation Method, system and computer program product for optimizing allocation of resources on partitions of a data processing system
US8351200B2 (en) * 2007-11-19 2013-01-08 International Business Machines Corporation Convergence of air water cooling of an electronics rack and a computer room in a single unit
US8443363B1 (en) * 2008-05-30 2013-05-14 Symantec Corporation Coordinated virtualization activities
US8458717B1 (en) 2008-09-23 2013-06-04 Gogrid, LLC System and method for automated criteria based deployment of virtual machines across a grid of hosting resources
US9811097B2 (en) * 2009-04-16 2017-11-07 Darpa Environmental control of liquid cooled electronics
US7907406B1 (en) 2009-09-28 2011-03-15 International Business Machines Corporation System and method for standby mode cooling of a liquid-cooled electronics rack
US8285729B2 (en) * 2009-12-15 2012-10-09 International Business Machines Corporation Reducing overheads in application processing
US9047135B2 (en) * 2010-01-22 2015-06-02 International Business Machines Corporation Qualitative assignment of resources to a logical partition in a multipartitioned computer system
US8514575B2 (en) 2010-11-16 2013-08-20 International Business Machines Corporation Multimodal cooling apparatus for an electronic system
US8274790B2 (en) 2010-11-16 2012-09-25 International Business Machines Corporation Automatically reconfigurable liquid-cooling apparatus for an electronics rack
US9288117B1 (en) 2011-02-08 2016-03-15 Gogrid, LLC System and method for managing virtual and dedicated servers
US8880657B1 (en) 2011-06-28 2014-11-04 Gogrid, LLC System and method for configuring and managing virtual grids
US8612990B1 (en) * 2011-10-25 2013-12-17 Google Inc. Prioritized rate scheduler for a storage system
US8817474B2 (en) 2011-10-31 2014-08-26 International Business Machines Corporation Multi-rack assembly with shared cooling unit
US8760863B2 (en) 2011-10-31 2014-06-24 International Business Machines Corporation Multi-rack assembly with shared cooling apparatus
CN102693161B (zh) * 2012-05-16 2014-04-16 武汉大学 一种并行的土地资源质量评价因子空间量化方法
US9778856B2 (en) 2012-08-30 2017-10-03 Microsoft Technology Licensing, Llc Block-level access to parallel storage
US8925333B2 (en) 2012-09-13 2015-01-06 International Business Machines Corporation Thermoelectric-enhanced air and liquid cooling of an electronic system
US9009424B2 (en) 2012-10-29 2015-04-14 International Business Machines Corporation Data placement for loss protection in a storage system
CN103023963B (zh) * 2012-10-31 2017-03-08 浪潮集团有限公司 一种用于云存储资源优化分配的方法
US20150169373A1 (en) * 2012-12-17 2015-06-18 Unisys Corporation System and method for managing computing resources
US11422907B2 (en) 2013-08-19 2022-08-23 Microsoft Technology Licensing, Llc Disconnected operation for systems utilizing cloud storage
US9104600B2 (en) 2013-08-22 2015-08-11 International Business Machines Corporation Merging direct memory access windows
US9092365B2 (en) 2013-08-22 2015-07-28 International Business Machines Corporation Splitting direct memory access windows
US9798631B2 (en) 2014-02-04 2017-10-24 Microsoft Technology Licensing, Llc Block storage by decoupling ordering from durability
US10996989B2 (en) 2016-06-13 2021-05-04 International Business Machines Corporation Flexible optimized data handling in systems with multiple memories
US10965525B1 (en) * 2016-06-29 2021-03-30 Amazon Technologies, Inc. Portable data center for data transfer

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471677A (en) * 1992-06-24 1995-11-28 Matsushita Electric Industrial Co., Ltd. Data retrieval using user evaluation of data presented to construct interference rules and calculate range of inputs needed for desired output and to formulate retrieval queries
US6658391B1 (en) * 1999-12-30 2003-12-02 Gary A. Williams Strategic profiling
US7219069B2 (en) * 2001-05-04 2007-05-15 Schlumberger Resource Management Services, Inc. System and method for creating dynamic facility models with data normalization as attributes change over time
US6807542B2 (en) * 2001-08-14 2004-10-19 International Business Machines Corporation Method and apparatus for selective and quantitative rights management
US7660887B2 (en) * 2001-09-07 2010-02-09 Sun Microsystems, Inc. Systems and methods for providing dynamic quality of service for a distributed system
US7565398B2 (en) * 2002-06-27 2009-07-21 International Business Machines Corporation Procedure for dynamic reconfiguration of resources of logical partitions
US20040015976A1 (en) * 2002-06-28 2004-01-22 Sun Microsystems, Inc., A Delaware Corporation Optimized distributed resource management system with digital signature
US20040138944A1 (en) * 2002-07-22 2004-07-15 Cindy Whitacre Program performance management system
US20040122725A1 (en) * 2002-12-19 2004-06-24 Ge Financial Assurance Holdings, Inc. System and method for generating a strategic marketing plan for enhancing customer relations
JP4119239B2 (ja) * 2002-12-20 2008-07-16 株式会社日立製作所 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム
US7028157B2 (en) * 2003-04-24 2006-04-11 International Business Machines Corporation On-demand allocation of data structures to partitions
US7310646B2 (en) * 2003-05-09 2007-12-18 I2 Technologies Us, Inc. Data management system providing a data thesaurus for mapping between multiple data schemas or between multiple domains within a data schema
US7493650B2 (en) * 2003-07-01 2009-02-17 Portauthority Technologies Inc. Apparatus and method for ensuring compliance with a distribution policy
US7281045B2 (en) * 2004-08-26 2007-10-09 International Business Machines Corporation Provisioning manager for optimizing selection of available resources

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104519119A (zh) * 2013-09-27 2015-04-15 国际商业机器公司 虚拟化的云环境中异构迁移会话的反应性节流
CN104519119B (zh) * 2013-09-27 2018-03-09 国际商业机器公司 用于节流在虚拟化的云计算环境中同时运行并且共享相同资源集合的多个异构迁移会话的方法及系统

Also Published As

Publication number Publication date
US8327370B2 (en) 2012-12-04
CN1975679A (zh) 2007-06-06
US20070101334A1 (en) 2007-05-03

Similar Documents

Publication Publication Date Title
CN100487659C (zh) 用于优化分段资源分配的方法和设备
US10873623B2 (en) Dynamically modifying a cluster of computing nodes used for distributed execution of a program
US10467051B2 (en) Support of non-trivial scheduling policies along with topological properties
US9715408B2 (en) Data-aware workload scheduling and execution in heterogeneous environments
US9280390B2 (en) Dynamic scaling of a cluster of computing nodes
US9826031B2 (en) Managing distributed execution of programs
US9092266B2 (en) Scalable scheduling for distributed data processing
US8260840B1 (en) Dynamic scaling of a cluster of computing nodes used for distributed execution of a program
US9459850B2 (en) Adaptive cloud aware just-in-time (JIT) compilation
Liu et al. Multi-objective scheduling of scientific workflows in multisite clouds
US8321558B1 (en) Dynamically monitoring and modifying distributed execution of programs
RU2569805C2 (ru) Виртуальная архитектура неоднородной памяти для виртуальных машин
US9276987B1 (en) Identifying nodes already storing indicated input data to perform distributed execution of an indicated program in a node cluster
CN100405305C (zh) 在逻辑分区的计算机中恢复临时资源的设备和方法
US9348586B2 (en) Method and system for migrating a plurality of processes in a multi-platform system based on a quantity of dependencies of each of the plurality of processes to an operating system executing on a respective platform in the multi-platform system
CN101221517B (zh) 在数据处理系统的分区之间交易资源的装置、系统和方法
US9672545B2 (en) Optimizing license use for software license attribution
CN101159596B (zh) 用于布置服务器的方法和设备
US20080221855A1 (en) Simulating partition resource allocation
Hashem Optimisation Model for Scheduling MapReduce Jobs in Big Data Processing
Ibrahim Abaker Optimisation model for scheduling MapReduce jobs in big data processing/Ibrahim Abaker Targio Hashem
Shwartz et al. Managing system capabilities and requirements using rough set theory

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090513

Termination date: 20181027

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