CN100397341C - 管理计算环境中的工作负载的方法和系统 - Google Patents

管理计算环境中的工作负载的方法和系统 Download PDF

Info

Publication number
CN100397341C
CN100397341C CNB008135339A CN00813533A CN100397341C CN 100397341 C CN100397341 C CN 100397341C CN B008135339 A CNB008135339 A CN B008135339A CN 00813533 A CN00813533 A CN 00813533A CN 100397341 C CN100397341 C CN 100397341C
Authority
CN
China
Prior art keywords
group
resource
subregion
computing environment
subregions
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 - Lifetime
Application number
CNB008135339A
Other languages
English (en)
Other versions
CN1391671A (zh
Inventor
杰弗里·库巴拉
杰弗里·尼克
彼得·约康姆
凯瑟琳·艾勒特
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
Priority claimed from US09/407,212 external-priority patent/US6587938B1/en
Priority claimed from US09/407,391 external-priority patent/US7007276B1/en
Priority claimed from US09/408,470 external-priority patent/US7051188B1/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1391671A publication Critical patent/CN1391671A/zh
Application granted granted Critical
Publication of CN100397341C publication Critical patent/CN100397341C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/5083Techniques for rebalancing the load in a distributed system
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种管理计算环境的工作负载的方法和系统。其中,动态地调整计算环境中可共享资源的分配,以平衡该环境的工作负载。跨越计算环境的多个分区中的两个或多个分区对工作负载进行管理,所述两个或多个分区最好设置成分区组。计算环境的至少一组包括计算环境的多个分区。分配可共享资源到所述组的分区,并作为一个组管理。所述管理包括动态地调整两个或多个分区中的至少一个分区的可共享资源的分配,以平衡两个或多个分区的工作负载目标。它的一个例子是管理在计算环境中的中央处理单元(CPU)资源。当计算环境的分区的CPU资源的分配被调整时,该分配自动地被调整。所述调整包括修改与该分区相关的处理器权重。

Description

管理计算环境中的工作负载的方法和系统
技术领域
本发明一般地涉及在计算系统内管理工作负载(workload),并且更具体地涉及在分区系统中管理工作负载。
背景技术
逻辑分区使得在单个实际机器或中央处理器组合体(CPC)内可以建立多个系统映象。每个系统映象能够以好像它是一个独立的计算系统地进行操作。即,每个逻辑分区能够独立地进行重新配置,初始化装载对于每个分区可能不同的操作系统,并且使用不同的输入/输出(I/O)设备以不同的软件程序进行操作。
在例如1986年1月14日授权的美国专利4564903、1989年6月27日授权的美国专利4843541、以及1996年10月8日授权的美国专利5564040中描述了逻辑分区计算系统的例子。
逻辑分区系统的商业实施例包括,例如,带有“处理器资源/系统管理器(PR/SMTM)”特性的
Figure C0081353300061
处理器,该特性在例如IBM(国际商用机器公司)1999年3月的出版物Processor Resource/Systems Manager Planning Guide(处理器资源/系统管理器计划指南)GA22-7236-04中有所描述。
逻辑分区系统的一个重要方面是在系统的分区内运行的工作负载的管理。在例如S/390的系统中,工作负载管理器用于在分区之内和分区之间管理工作负载。工作负载管理器通过移动工作到系统的物理资源,试图平衡多个分区的工作负载。然而,为了移动该工作,确保重新分配工作所需的数据在被移动的位置处是非常重要的。这经常需要限制工作的移动。由此,需要进一步改善在计算机系统中的工作负载管理。
发明内容
相应地,本发明提供一种如在所附权利要求中所定义的方法、系统和计算机程序。
在一个实施例中,该方法包括跨越计算环境的多个分区中的两个或多个分区管理工作负载,其中所述管理包括动态调节两个或多个分区中的至少一个分区的可共享资源的分配,使得可以平衡所述两个或多个分区的工作负载目标。
在本发明的另一个实施例中,管理计算环境的工作负载的方法包括跨越计算环境的多个分区中的两个或多个分区管理工作负载,其中所述两个或多个分区同时共享一可共享资源。所述管理包括动态调整两个或多个分区中的至少一个分区的可共享资源的分配。
本发明的优选实施例使得在工作负载管理器的指导下能够跨越逻辑分区对可共享资源进行动态再分配。这些资源包括例如:CPU资源、逻辑处理器资源、I/O资源、协处理器、信道资源、网络适配器、和存储器资源。典型地,根据工作负载目标,经由工作负载管理器(WLM)、系统复用体(sysplex)和PR/SM的组合,提供物理资源的动态调整,而不要求并行系统复用体的数据共享。
另外,在该优选实施例中,提供跨越逻辑分区(LPAR)的CPU资源的WLM动态管理,以及提供跨越LPAR的动态信道路径(CHPID)管理、在信道子系统中的基于I/O优先级队列的WLM、和跨越LPAR的存储器的WLM动态管理。在一个实例中,LPAR组通过基于优先级的资源分配,使得资源能够共享。
本发明的另一个实施例提供一种管理计算环境的分区组的方法,包括确定计算环境的一组多个分区。所述方法还包括确定要分配给所述组的可共享资源,其中所述可共享资源的至少一个分区分配给所述组的多个分区。
另一个实施例提供一种管理计算环境的分区组的方法,包括确定计算环境已经修改的组,其中所述组包括计算环境的多个分区;并且响应于所述确定,在所述组内动态调整组资源的分配。
在该优选实施例中,这些组的资源受到指派(scope),以确定分配哪些资源到特定组,并执行这些资源的分配。指派(scoping)在允许改变的资源上提供了句柄(handle),使得WLM能够对下一步作什么作出合适的决定。指派使得资源的子集在机器上以这样的方式提供,以至于该机器能够理解软件所想做的事情、并且该软件理解该机器的配置。
本发明的另一个优选实施例提供一种在计算环境中管理中央处理单元(CPU)资源的方法,包括确定分配CPU资源到计算环境的分区能够进行调整;并且跨越该分区和计算环境的另一个分区动态调整所述分配。
优选地,所述动态调整是响应于至少所述分区的工作负载目标的,并且得以跨越计算环境的多个分区执行。
在该优选实施例中,工作负载管理器跨越逻辑分区,通过动态调整与该逻辑分区相关的CPU处理器权重(weight)分配CPU资源。例如,WLM理解何时由于它正运行其内的分区的权重太低而造成重要的工作负载被延误。通过例如提高该分区的权重和降低其它分区的权重,WLM能够帮助该工作负载,由此对重要的工作负载提供额外的CPU能力。这使得当工作负载需求变化时,CPU资源可以动态地移动到所需的分区。
本发明还提供用于实现上述方法的计算机程序。该计算机程序一般地包括机器可执行的指令,它在计算机可用的介质上、或在机器可读的程序存储设备上进行编码,并且能够被包括作为计算机系统的一部分,或单独出售(可通过网络发送)。
本发明也提供对应于上述方法的系统,一般通过结合用于实现方法的计算机程序与合适的硬件而形成。
应该预计到这样的计算机程序和系统受益于与本发明方法相同的优选特性。
附图说明
现在将仅作为示例而结合附图详细描述本发明的各优选实施例。
图1a描述计算环境的一个例子;
图1b描述计算环境的另一实施例;
图2描述计算环境的其它部件;
图3描述逻辑分区组的一个例子;
图4a-4b描述与分区加入组相关的逻辑的一个例子;
图5描述与从组中移去分区相关的逻辑的一实施例;
图6描述与确定是否能够增加分区的权重以帮助该分区的受方(receiver)服务级别相关的逻辑的一个实施例;
图7描述与动态调整逻辑处理器的配置相关的逻辑的一个实施例;
图8描述信道子系统的一个实施例;
图9描述与选择要处理的I/O操作相关的逻辑的一个实施例;
图10描述与确定是否调整I/O配置相关的逻辑的一个实施例;
图11描述与图10中的数据收集相关的逻辑的一个实施例;
图12描述与图10中的平衡检查相关的逻辑的一个实施例;
图13a-13b描述与修正I/O配置的不平衡相关的逻辑的一个实施例;
图14描述与确定受影响的子系统相关的逻辑的一个实施例;
图15描述与设定明确的I/O速度目标相关的逻辑的一个实施例;以及
图16a-22c描述在确定熵(entropy)中使用的I/O配置的各种例子。
具体实施方式
提供了工作负载管理能力,使得计算环境的资源分配的动态调整能够平衡该环境的工作负载。在一个例子中,计算环境包括多个逻辑分区,并且工作负载是跨越两个或多个分区管理的。
参考图1a描述了使用工作负载管理能力的计算环境的一个实施例。计算环境100是基于例如由位于纽约、阿蒙克(Armonk)的国际商用机器公司提供的企业系统体系结构(Enterprise Systems Architecture,ESA)/390的。ESA/390在IBM于1997年6月的标题为“Enterprise Systems Architecture/390Principles of Operation”(ESA/390操作原理)、IBM出版号是SA22-7201-04的出版物中有描述。基于ESA/390的计算环境的一个例子是由国际商用机器公司提供的9672并行企业服务器(Parallel Enterprise Server)。
计算环境100包括:例如具有一个或多个中央处理器106(例如CP1-CP4)的中央处理器组合体(CPC)102、一个或多个分区108(例如,逻辑分区(LP1-LP4))、和至少一个逻辑分区管理器110,它们中的每一个描述如下。
中央处理器106是分配给逻辑分区的的实际处理器资源。具体地,每个逻辑分区108具有一个或多个逻辑处理器(为清晰起见,没有单独示出),它们每一个表示分配给该分区的实际处理器106的全部或部分。特定分区108的逻辑处理器可以专用于该分区(因而下层处理器资源106为该分区保留)、或与其它分区共享(因而下层处理器资源可用于其它分区)。
如在该具体例子中所示,逻辑分区LP1-LP4中的每一个作为独立系统工作,所述独立系统具有驻留的操作系统112(它在每个逻辑分区中可能是不同的)和一个或多个应用程序114。在一实施例中,操作系统112是由国际商用机器公司提供的OS/390TM或MVS/ESATM操作系统。
另外,每个操作系统(或其子集)包括用于管理在分区内和分区间的工作负载的工作负载管理器116。工作负载管理器116的一个例子是由国际商用机器公司提供的WLM。WLM在例如授权于1995年12月5日的5473773号美国专利、和授权于1997年10月7日的5675739号美国专利中有描述。
逻辑分区108是通过逻辑分区管理器110管理的,所述逻辑分区管理器110是由运行在处理器106上的微码(microcode)实现的。逻辑分区108(LP1-LP4)和逻辑分区管理器110的每一个包括一个或多个驻留在与中央处理器相关的各自中央存储部分中的程序。逻辑分区管理器110的一个例子是PR/SM。
在计算环境的另一个实施例中,两个或多个中央处理器组合体互相耦合形成一个系统复用体(sysplex),如图1b所示。作为一个例子,中央处理器组合体(CPC)102经由例如耦合装置122耦合于一个或多个其它CPC 120。
如在一个例子中所示,CPC 120包括多个逻辑分区124(例如,LP1-LP3),它们由逻辑分区管理器126管理。一个或多个逻辑分区包括可能具有工作负载管理器和一个或多个应用程序(为清晰起见,在该例子中未示出)的操作系统。另外,CPC 120包括多个中央处理器128(例如,CP1-CP3)、在多个逻辑分区间分配的资源。具体地,资源在每个分区的一个或多个逻辑处理器130之间分配。(在其它实施例中,每个CPC可以具有一个或多个逻辑分区和一个或多个中央处理器)。
耦合装置122(也称作结构化外部存储器(SES)处理器)包含可由中央处理器组合体访问的存储器,并执行由CPC中的程序请求的操作。该耦合装置用于在共享资源重新分配决定中使用的状态信息的共享。(在一实施例中,每个中央处理器组合体耦合多个耦合装置)。耦合装置的操作的情况在诸如Elko(专利)等处有详细描述,授权于1994年5月31日的5317739号美国专利、授权于1996年10月1日的5561809号美国专利、和授权于1998年1月6日的5706432号美国专利,并且这些专利和应用列举在此作为参考。
在一个实施例中,一个或多个中央处理器耦合于至少一个用于与I/O设备通信的信道子系统。例如,中央处理器200(图2)耦合于主存储器202和至少一个信道子系统204。信道子系统204进一步耦合于一个或多个控制单元206。控制单元接着耦合于一个或多个I/O设备208。
信道子系统控制在输入/输出设备与主存储器之间的信息流。它减轻中央处理单元直接与输入/输出设备进行通信的任务,并且使得数据处理能够与输入/输出处理同时进行。信道子系统使用一个或多个信道路径214作为在管理进出输入/输出设备208的信息流中的通信链路。
每个信道路径214包括例如信道子系统204的信道(CHN)210、控制单元206、以及在信道与控制单元之间的链路212。在其它实施例中,信道路径可以具有多个信道、控制单元、和/或链接。另外,在另一例子中,还可能具有一个或多个动态开关作为该信道路径的一部分。动态开关耦合于信道和控制单元,并提供物理地相互连接任何两个连在该开关上的链路的能力。关于信道子系统的进一步细节在授权于1996年6月11日的5526484号美国专利中描述。
在本发明的一个优选实施例中,各种物理资源是在一个或多个工作负载管理器控制下跨越计算环境的逻辑分区动态地重新分配的。该动态重新分配对应用子系统是透明的。例如,要重新分配的物理资源包括:CPU资源、逻辑处理器资源、I/O资源、协处理器、信道资源、网络适配器、和存储器资源。作为一个例子,协处理器是在CPC中提供特定功能的微处理器(除CPU外)。协处理器的例子包括:例如,信道子系统、网络适配器卡和密码协处理器。上述物理资源仅作为示例提供;其它可共享资源也可以重新分配。
为了便于资源的动态重新分配,在一个实施例中,逻辑分区成组在一起,以便在该组的分区之间共享资源。每个组在尺寸上能够在1个分区到n个分区之间变化(在一实施例中,一个或多个组包括一个或多个分区,但是小于计算环境的所有分区)。具体地,每个组包括例如,运行在机器的独立域中的一个或多个操作系统映象,这些映象由公共工作负载管理器功能管理,以分配工作负载和资源。在一个例子中,这些域是以逻辑分区模式运行的逻辑分区,并且操作系统是运行在逻辑分区中的OS/390。一组的逻辑分区可以是系统(例如,CPC)或系统复用体的分区的子集、整个系统或系统复用体、或可以是不同系统复用体(例如,在单个CPC上)或系统的分区。
在图3中描述了中央处理器组合体的两个逻辑分区组或簇的一实施例。如所示,有逻辑分区组A 300和逻辑分区组B 302,其中每一个包括一个或多个逻辑分区。逻辑分区的成组使得资源能够通过资源分配(例如,基于优先级的资源分配)在一个组的分区之间共享。
例如,可以共享的资源包括CPU资源、I/O资源、和存储器、还有协处理器或任何其它该机器可以提供的可共享资源。特定逻辑分区组可以或不可以访问特定机器的所有资源。事实上,可以定义多个逻辑分区组在单个机器上同时操作。为了有效地管理每个逻辑分区,组成特定逻辑分区组的资源被有效地指派(scope)到该组。
指派包括确定哪些资源可分配到每个组。具体地,指派定义限定哪些资源到组中,并能够由组管理。组成逻辑分区组的逻辑分区可以看作是资源的容器。这些容器存在于逻辑分区可得到的全部资源的集合的范围内。在一例子中,是在特定CPC上可用的资源的全集。
组成特定逻辑分区组(例如,逻辑分区组A)的逻辑分区被分配全部可共享资源的特定部分。例如,假定可共享资源是CPU资源。利用共享的CPU资源,包括在逻辑分区组A中的逻辑分区被分配全部中央处理器组合体CPU资源的特定部分。这些资源由在特定组内的逻辑分区、潜在地还有在其它逻辑分区组中的逻辑分区、和不包括在任何逻辑分区组中的逻辑分区共享。由此,试图对关于在组内移动资源(例如,从逻辑分区组中的一个分区到该组的另一个分区)作出决定的工作负载管理器将理解包括该组的资源,也理解较大的容器(例如CPC)包含什么。用于决定关于管理工作负载资源的测量反馈(例如,存储于耦合装置中的状态信息)应该足以理解如上用户定义的容器。
一旦建立了这种理解,工作负载管理器受控制改变在给定组的逻辑分区中的资源分配,这一般地以保持容器的尺寸(即,分配给逻辑分区组的资源)不变的方式进行。例如,假定要管理的资源是CPU资源,并且进一步假定每个逻辑分区被分配一表示优先级的CPU处理权重(processing weight)。为管理CPU的相对权重,在给定组中逻辑分区的相对权重的总和(sum)在经由例如工作负载管理器的受控改变之前和以后保持不变。这保留了用户指定的给所述组和出现在机器上的其它逻辑分区的资源分配。
尽管如上所述,在一些情形中,对于分区组,当这些资源不是被它们的指定所有者使用时,也需要和可能利用比所定义的容器多的资源。但是,只要这些资源的内容产生,则该资源就受到逻辑分区(LPAR)管理器根据所定义的容器尺寸(例如,在该例中的处理权重)进行的管理。然而,当不应该允许该组扩展超出它的容器时,也存在其它情形。对于指派,这也是可能的。其它资源可能需要被完全指派到单个组,以获得该资源使用的精确图画(picture)。以此方式的限制防止给定组以外的逻辑分区访问该资源。
另外,在逻辑分区组内,资源可用性的外部变化的影响也给予考虑。例如,用户可以经由一些外部装置(不在工作负载管理器的控制下)改变资源的分配。因为在机器上实际工作负载的变化、或在组之间和/或其它逻辑分区之间的事务优先级的改变,可以实现上述资源分配的改变。当作出这些改变时,工作负载管理器将理解这些改变,并且这些改变的影响将合理地分配。当组中加入或移去一个逻辑分区时,当加入或移去该组以外的其它一些逻辑分区时,或简单地,当受外部装置影响,处理权重变化时,改变可能发生。当执行这些外部改变时,可以改变该容器的尺寸,并且工作负载管理器现在是最新尺寸容器的管理器。
当分配给组的特定逻辑分区的资源由外部改变时,在组内也可能需要重新分配资源。例如,当从组中移去逻辑分区时,与该逻辑分区相关的处理权重也从组中移去。如果当前工作负载管理器为逻辑分区分配的权重大于被移去的逻辑分区的权重(即,初始的与该逻辑分区相关的处理权重),则在权重上的差异添加到该组中的其它逻辑分区。例如,所述添加与在组中的其它逻辑分区中权重的现存分配成比例进行。如果当前工作负载管理器为逻辑分区分配的权重小于该逻辑分区的初始权重,则在权重上的差从该组中的其它逻辑分区减去。再次,作为一个例子,所述减去与其它逻辑分区中权重分配成比例进行。
如上所述,指派组以在分配到组的资源和允许改变的资源上获得句柄,使得工作负载管理器能够对下一步作什么作出合适的决定。该指派确定各组,并且给该程序提供回该程序能够理解的信息。当修改组时,自动地调整资源以满足该修改。
在一个实施例中,对每个资源可以有不同的组(簇)。例如,当逻辑分区组B可以对应I/O资源时,逻辑分区组A可以对应CPU资源。然而,在其它实施例中,一个逻辑分区组也可能对应该资源的子集或全部。
为了建立LPAR组指派,在一例子中,逻辑分区确定它们自己到一个或多个分区组。参考图4a-4b描述了与加入组相关的逻辑的一个实施例。例如,为加入一个逻辑分区组,运行在逻辑分区中的操作系统(例如,OS/390)对LPAR管理器指示该逻辑分区要成为哪个LPAR组的一部分(步骤400)。作为一个例子,一指令用于传递LPAR组名到LPAR管理器。操作系统为每种类型的在LPAR组中可以管理的资源指定一名称。由此,如果存在其它资源(查询402),则指定其它名称。例如,一组名给予CPU资源,另一组名给予I/O资源。如果需要,可以为每个资源类型指定相同的LPAR组名。
通过OS/390的说明,或者在机器上建立了新的LPAR组(假设该逻辑分区是使用该名称的第一个逻辑分区),或者使得该逻辑分区加入到对应该资源类型的相同名称的现有LPAR组。例如,一旦该组名得以指定(步骤404,图4b),则确定它是否是新名称(查询406)。如果是,则创建新组(步骤408)。否则,加入现有组(步骤410)。此后,指派该资源到该组(步骤412)。
具体地,如果并且正当运行在LPAR组中的WLM确定它应该时,则对于那些要利用的逻辑分区,现在可以获得限定到LPAR组的组类型的资源。对于需要指派的LPAR组的特定类型的资源包括至少两个变形:附加资源和固定资源。
附加资源:在一些情形中,加入一个LPAR组就自然地增加资源到逻辑分区刚刚加入的那个LPAR组。它的一个例子是CPU处理权重,该权重由用户分配到例如在硬件控制台处的逻辑分区。当激活该逻辑分区时,该逻辑分区的当前(使用中)处理权重按该用户分配的权重初始化。当该逻辑分区加入对应CPU资源的LPAR组时,对应该逻辑分区的用户分配处理权重成为在LPAR组内可用的全部处理权重的一部分,并且由此,能够通过WLM在LPAR组内被重新分配。刚加入LPAR组的逻辑分区现在可以使用较大组(set)的刚对其作出贡献的LPAR组资源。
固定资源:在一些情形中,预定义一组资源属于一特定LPAR组。它的一个例子是受管理的(浮动)信道路径。受管理信道路径是一种其资源能够被重新分配以帮助实现工作负载目标的信道路径。由特定LPAR组使用的该组受管理信道路径经由I/O配置定义程序被初始定义,所述I/O配置定义程序将信道路径(CHPID)与LPAR组相关联。当一逻辑分区加入该LPAR组时,它现在被允许访问该组信道路径。该逻辑分区本身对该资源共享池(pool)没有任何影响。(该资源共享池仍然可以动态地改变,但是关键是当逻辑分区加入和离开LPAR组时,该资源没有进出变化)。
根据资源的类型,也能够为资源实施不同的LPAR指派。
附加资源:在LPAR组中的操作系统能够查询LPAR组的全组该类型资源。例如,对于CPU处理权重,这可以通过一指令完成。该操作系统学习LPAR组内的整组资源类型、到在该组中的逻辑分区的资源的分配、和在当前机器上可得到的资源共享池的完全尺寸。所有这些分量被用于理解有多少物理资源要分配到逻辑分区。该操作系统接着更新到该LPAR组内的逻辑分区的分配,以在组内重新分配资源。在一个例子中,该操作系统不允许改变分配到该LPAR组的资源的总量。LPAR管理器通过确保在更新中LPAR组的所有部分被占用、并且在LPAR组外没有逻辑分区的资源受到影响而实施。
固定资源:在LPAR组中的操作系统查询与该类型资源相关的LPAR组的该组资源。例如,利用受管理信道路径,为特定LPAR组定义的受管理信道路径的列表能够经由一指令从LPAR管理器中检索。LPAR管理器还筛选这些资源以保证它们只由适当的LPAR组利用。对于受管理信道,这意味着只允许受管理信道被联机配置到已经声明一LPAR组名的逻辑分区,所述LPAR组名与为该受管理信道所定义的组名匹配。
当一个是一LPAR组的一部分的逻辑分区被系统重新设置(reset)、重新IPL(re-IPLed)、或失活(deactivate)时,与一个或多个LPAR组有关的逻辑分区的任何关联(affiliation)被移去。参考图5描述了与从组中移去逻辑分区相关的逻辑的一实施例。作为重新设置的一部分,逻辑分区管理器从该逻辑分区中移去已声明的LPAR分区组名(步骤500)。接着,执行一个或多个其它动作,以根据该资源完成对该逻辑分区的LPAR组资源重新分配(查询502)。
如果该资源是附加资源,则下列情况发生:当一逻辑分区加入LPAR组时,被添加到LPAR组的这样的资源被从该LPAR组中移去(步骤504)。这可能涉及到该类型资源的当前分配到该LPAR组的剩余成员的调整。例如,在处理权重的情形中,离开组的逻辑分区的初始处理权重现在从该LPAR组的指派中移去。如果WLM已经改变该逻辑分区的当前处理权重,则需要进行调整。如果该逻辑分区的当前处理权重大于它的初始处理权重,则在两者之间的差与它们的当前处理权重成比例地对剩余LPAR组成员重新分配。如果该逻辑分区的当前处理权重小于它的初始处理权重,则在两者之间的差与它们的当前处理权重成比例地从剩余LPAR组成员中移去。这些调整的结果为得到的LPAR组重新建立处理权重容器。
在另一方面,如果该资源是固定资源,则下列情况发生:这样的资源被简单地从正在被重新设置的该逻辑分区的配置中移去(步骤506)。例如,对于受管理信道路径,该信道路径从正在被重新设置的逻辑分区中被重新配置。这又再次重新建立以下条件:只有该LPAR组成员才能访问该LPAR组资源。
还应该注意到,在一LPAR组环境中,由WLM管理的一些资源可能不需要进行组指派。这样的资源的一个例子是对于逻辑分区的联机路径中央处理器(CP)的数量。在一LPAR组中的特定逻辑分区的有效行为能够被联机到该逻辑分区的的逻辑CP的数量显著地影响。该逻辑分区已经定义和/或联机的逻辑CP的数量是逻辑分区是否在LPAR组中的一个特征,所以该资源没有真正成为较大的资源共享池的一部分。因而它的在LPAR组中的影响是:它能够相对另一个成员改变何种类型工作负载能够有效地在一个LPAR组成员中运行。
在一例子中,在多个逻辑分区之间要共享的资源是CPU资源。通过动态地调整一个或多个与该逻辑分区有关的相对处理权重,OS/390工作负载管理器跨越逻辑分区重新分配CPU资源。WLM理解何时由于它在其中运行的分区的权重太低造成重要的工作负载被延误。通过提高该分区的权重和降低另一个分区的权重,WLM能够帮助该工作负载,由此对重要的工作负载提供额外的CPU能力。当工作负载需求变化时,CPU资源可以动态地移到它们所需的分区。
在一实施例中,逻辑分区权重的WLM管理的指派是一逻辑分区组。例如,WLM调整逻辑分区权重,但是保持在组中的分区的权重的总和不变。保持总和不变,使分配到该组的全部CPU资源相对于在相同的实际计算机上的其它独立组保持一致。由此,当WLM提高一个分区的权重时,它降低在同一组中其它分区的权重。
逻辑分区权重的管理是对针对WLM目标的资源分配技术的提高,所述针对WLM的目标的资源分配技术在例如授权于1995年12月5日的5473773号美国专利、授权于1997年10月7日的5675739号美国专利中有描述。
如在这些专利中所述,通过调整CPU分配优先级,WLM控制在逻辑分区内的CPU资源的分配。CPU分配优先级在服务级别(service class)级被分配给工作。然而,存在各种情况,在其中分配优先级的调整无助于服务级别,例如:
1)该服务级别已经单独位于许可给非系统工作的最高CPU分配优先级上。
2)改变CPU分配优先级以帮助该服务级别,将对其它具有相等或较高重要性的服务级别上产生大的负面影响。
由此,当WLM发现一服务级别由于CPU延迟而未达到它的目标时,该目标不能通过调整CPU优先级得到帮助,WLM考虑调整与该失败服务级别相关的分区的权重。
对WLM正在考虑给其分配额外资源的服务级别,被称为受方服务级别。当WLM发现由于在给定分区上CPU延迟,受方服务级别未达到目标时,该目标不能为上面所列原因得到帮助,WLM考虑提高该分区的权重。参考图6,WLM采用的确定是否能够提高分区的权重以帮助受方服务级别的逻辑的一个实施例被描述如下:
1.估计(project)提高分区权重对受方级别的影响(步骤600)。提高分区权重增加了分区的CPU能力。因为假定在受方级别中的工作的CPU需求是不变的,增加分区的CPU能力将减少该受方服务级别需要的该能力的百分比。对受方服务级别的益处的估计是基于受方服务级别和该系统需求上的其它工作两者在可获得的CPU能力百分比的这种减少。
2.在该逻辑分区组中发现另一个分区作为要降低其权重的候选者(步骤602)。该分区称为候选供方分区(candidate donor partition)。例如,通过降低该分区的权重,寻找一分区,在该分区中最不重要的工作可能被影响,从而选择出候选供方分区。
3.利用运行在降低其权重的候选供方分区上的工作,估计在所有服务级别上的影响(步骤604)。降低候选供方分区的权重减少了候选供方分区的CPU能力。在CPU能力上的该减少意味着与运行在候选供方分区上的工作相关的服务级别的CPU需求、作为该候选供方的能力的百分比将增加。降低该候选供方的权重负面影响的估计是基于在可获得的这些服务级别需要的CPU能力的百分比上的这种增加。
4.确定是否在权重上的该变化具有净(net)值(查询606)。即,基于所涉及的服务级别的目标和重要性,对受方服务级别的益处超过了对在候选供方分区上的工作的负面影响。
5.如果调整该权重有净值,实现所建议议的对该分区权重的改变(步骤608)。如果不存在净值,则确定是否存在更多的候选供方分区(查询610)。如果是,选择另一个候选供方分区(步骤612)。并且从步骤3(步骤604)处理继续。如果不存在更多的候选供方分区,则处理结束(步骤614)。
为使运行在一分区上的WLM能够估计改变关于运行在另一个分区上的工作的分区权重的影响,每个分区可对共享数据结构进行访问,所述结构包括关于在组中每个逻辑分区的性能数据。该分区级性能数据包括,例如:
·根据服务级别,运行在分区上的工作的CPU需求;
·每个服务级别对它在该分区上的目标作得多好;
·对于该分区的由CPU分配优先级的CPU使用率。
在本发明的在OS/390系统中实现的一个优选实施例中,该共享数据结构
在耦合装置上被建立和维持。然而,其它数据共享方法也能够用来实现该数据结构,比如消息发送(messaging)或共享磁盘。
以上所述是用于动态重新分配计算环境的CPU资源的能力。例如,通过动态调整逻辑分区权重,该资源被跨逻辑分区重新分配。
除了动态调整计算环境的CPU资源以外,也可以动态调整逻辑处理器资源。
一个逻辑分区是利用一个或多个逻辑处理器配置的,所述逻辑处理器被分配在中央处理器组合体的实际中央处理单元上以执行工作。为使一分区能够消耗它所分配的CPU能力,足够的逻辑处理器被配置到该逻辑分区。例如,考虑运行在带10个CPU的CPC上的逻辑分区A的情形。如果工作负载管理器分配给逻辑分区A 50%的CPC能力,则逻辑分区A需要至少配置5个逻辑处理器。(5个逻辑处理器能够运行在5个CPU或CPC能力的50%上。)如果逻辑分区A随后应该被分配95%的CPC能力,则接着逻辑分区A将配置给10个逻辑处理器。由于WLM能够利用静态定义的逻辑处理器配置,动态调整分配到逻辑分区A的能力,所以10个逻辑处理器被分配给逻辑分区A以容纳所有可能的能力分配。然而,如果逻辑分区A被分配给例如只有20%的CPC容量,则从静态定义的逻辑处理器中引出两个问题:1)10个逻辑处理器中的每一个将平均地允许以比率仅为0.2的实际CPU能力(10个CPC的20%除以10个逻辑处理器等于每个逻辑处理器0.2个CPU)去消耗实际CPU资源。这将严重地限制其吞吐量由单任务控制(gate)的工作负载,因为该单任务将仅能够以0.2倍的实际CPU能力去执行--这经常被称为短引擎效应(short engine effect);2)当必须管理10个逻辑处理器时,软件和硬件效率被显著降低,此时仅需要两个逻辑处理器。
为了解决上述不足,不再静态定义逻辑分区的配置,而代之以动态调整。在一个例子中,正是WLM管理该分区并作出动态调整。WLM能够为计算环境(或在一LPAR组内)的每个逻辑分区作这些。参考图7,描述了与动态调整逻辑处理器的配置相关的逻辑的一个实施例。
首先,给一逻辑分区配置所要求的最小数目的逻辑处理器,以允许它消耗通过工作负载管理器分配给该逻辑分区的能力(如果太大,则是实际在使用的能力)(步骤700)。当该逻辑分区的容量配置(或容量使用)改变时(查询702),作出一个评估以确定配置到该逻辑分区的逻辑处理器数量是否应该改变(步骤704)。在一个例子中,配置到该逻辑分区的逻辑处理器数量保持接近于需要的实际CPU的数量,以提供分配给逻辑分区(或由其使用)的CPC容量。由此,每个逻辑处理器以接近于实际CPU的能力执行,并且要管理的逻辑处理器的数量被最小化。
为了评估是否要改变逻辑配置,在一个例子中使用以下等式:
L=floor[max(W,U)×P+1.5]  假定L的最大值=P,
其中,L=配置到一逻辑分区的逻辑处理器的数量;
W=分配到该逻辑分区的CPC容量的百分比;
U=当前正由该逻辑分区使用的CPC容量的百分比;和
P=在CPC上的实际CPU的数量(步骤705)。
基于P、W、和U的当前值,以例如规则的和频繁的间隔(例如,每10秒)通过工作负载管理器评估L。使用一些阈值确定对应该逻辑分区的L的实际值(L-act)是否应该提高或降低。如果新的经计算的L值(L-calc)高于L-act的当前值(查询706),则将L-act提高到L-calc(步骤708)。否则,如果L-calc的是比L-act低2或2以上的值(查询710),则设置L-act为L-calc减1(步骤712)。如果L-calc是等于L-act或比L-act小1的值,该逻辑分区的L-act值不作改变(步骤714)。通过使用这些阈值,避免了由于小的工作负载的波动而在L-act上不必要的变化,同时仍然响应于工作负载的能力需求的快速增加。
为进一步说明,考虑以下例子:假定P=10,W=U=24%。逻辑处理器的静态配置将要求L(静态)=10,以处理如果W增加到大于90%的情形。然而,在本发明的一个优选实施例中:L(动态)=floor[max(.24,.24)×10+1.5]=3。由此,在该例子中,L(静态)将约束单任务以0.24的实际CPU执行,而L(动态)允许单任务以0.80的实际CPU执行,由此在由单任务控制的工作负载的处理量上提供了233%的增加。另外,在该例子中,由于仅有三个逻辑处理器要管理,而不是L(静态)所需的10个逻辑处理器,所以软件和硬件效率显著地得到提高。
要管理的计算环境的另一个可共享资源是诸如I/O资源的异步资源。具体地,在协处理器(例如,信道子系统)内的I/O操作或请求要受到管理。该管理包括对I/O操作进行优先级排队,使得具有较高优先级的I/O操作较快地得到处理,和/或分配给具有较高优先级的I/O操作以更多的信道带宽。
在当代大规模多程序计算系统中,长运行处理,比如对应读、写、和控制所连接的I/O设备的I/O操作的启动和执行,一般地是通过利用几个独立操作的计算单元而实现的(见图8)。例如,在中央处理器800上执行的程序可以请求到所连接设备804的I/O操作;然而,到所连接设备的I/O操作的实际启动和执行是通过通常称为信道子系统802的一个或多个分开和独立执行的处理器共同工作来完成的。一般利用异步I/O处理方法学,以便为与较长运行的I/O设备同时执行的其它任务优化和高效使用中央处理器。即,最小化总体处理器开销、处理时间和处理器等待时间,不然这种处理器等待时间就是为了访问和读/写所连接设备的I/O设备所需要的。对这样的方法学进行设计,在大的多程序系统中,获得I/O操作与其它处理器工作的执行的最大重叠或并发。
在这样的异步I/O处理系统中,中央处理器利用一I/O指令启动请求I/O操作的程序的执行,所述I/O指令是比如S/390的START SUBCHANNEL(开始子信道)指令。这样的指令典型地负责:
1.将该I/O操作请求添加(即,En-queue(加入队列))到一信道子系统I/O工作队列上;和
2.信令发送该异步执行的信道子系统,以处理该I/O工作队列。
接着,中央处理器被释放以执行其它工作/指令,并且不直接涉及所请求的到I/O设备的I/O操作的实际执行。
由于1)上述处理的异步特性,2)中央处理器和信道子系统处理器的独立操作,3)与中央处理器的执行速度相比较而言相对长的I/O操作执行时间,和4)事实上,当一程序请求一I/O操作时,信道子系统资源(比如,连接设备到该信道子系统的信道路径)的一些或全部可能正忙于执行其它操作,有很大可能多个I/O请求将同时添加到信道子系统I/O工作队列上。即,通过中央处理器,以比信道子系统的能力更快的速度,去执行STARTSUBCHANNEL指令,从而执行所请求的I/O操作。由此,持续地引起未决(pending)I/O操作请求的N级深度I/O工作队列。
为了处理该未决I/O请求,包括该信道子系统的微处理器检测它们各自的I/O工作队列(见图8),从这些队列中移去(de-queue)一个或多个I/O请求,并且试图启动该移去的I/O请求到它们各自的I/O设备。该活动(activity)的启动取决于在该信道子系统内的相关微处理器和工作队列。例如,作为一个或多个中央处理器START SUBCHANNEL信号的结果,与中央处理器交互的信道子系统I/O处理器在当它不忙于执行其它工作时,可以周期性地启动该处理,或两者的结合。
参考图8描述了信道子系统的各种工作队列的一个实施例。如上所述,通过例如START SUBCHANNEL指令,I/O请求可添加到I/O处理器工作队列806中。接着通过I/O处理器808,I/O请求从该I/O处理器工作队列中移去。从I/O处理器中移去的该请求通过I/O处理器添加到信道处理器工作队列810中。其后,这些请求通过信道处理器812被移去,并添加到控制单元工作队列814中。该信道处理器接着从该控制单元工作队列中移去那些经由信道路径要发送到控制单元并最终发送到I/O设备的请求。
当前,在S/390系统的系列产品中,信道子系统移出队列(de-queue)和工作启动处理是在先入先出(FIFO)基础上执行的。假定未决工作队列的平均深度是相对浅的,并且该I/O工作未决时间在持续时间上保持相对短(即,在各种I/O工作队列中的未决I/O请求的平均数量没有引起总体I/O反应时间的显著延长,所述I/O反应时间对应与重要性高和/或实时的关键程序相关的I/O操作),则该处理在实现逻辑上是最简单的,是试图优化吞吐量,并且在过去曾经是可接受的用于在各种异步处理单元之间的工作转换的策略。
然而,在提供应用程序/程序优先级功能以为了支持用户及时处理关键或时间相关工作的需求的操作系统中,当FIFO工作队列的平均深度增加时,用于未决I/O请求的FIFO处理策略逐渐变得不可接受。例如,结合IBM企业存储器服务器使用的并行访问能力增加了在信道子系统中的平均队列深度。这典型地是由于该事实:重要性较低或时间上较不关键的I/O请求在FIFO工作队列中可能排队在更重要的请求之前,并由此将在更关键的I/O请求之前被启动。经常有非关键工作执行那些较长时间周期占用资源的I/O,增加了更重要的工作所遭受的延误。这典型地导致对于更重要的I/O请求的延误的可能性增加了。
在延误时间上的增加,也叫作I/O未决时间(当与中央处理器速度相比时,它可能是总体实时延误,也可能是相对时间延误),经常是由于信道子系统和所连接设备不能保持不影响关键I/O请求及时完成的I/O执行速度引起的。(即,不能保持不会导致在重要性高/时间关键的程序的执行时间上不可接受的延长的执行速度。)如上所述,当使用FIFO工作处理方法学时,在关键I/O请求的总体I/O反应时间上的不可接受的延长的可能性增加了。当中央处理器的速度和数量以比所连接的I/O设备和其它所要求的信道子系统单元增加的速度更快的速度增加时,延误的可能性会进一步扩大,其中所述信道子系统单元是比如连接该设备的信道路径。一般地,在当代大系统环境中,中央处理器速度的增长率对I/O速度的增长率的不均衡性持续地增长,导致关键工作的排队延误可能性增加和I/O反应时间(或者实时,或是相对时间)变长。
为了最小化由于例如在信道子系统中的排队延误而被延长的对于重要性高和时间关键I/O操作的I/O反应时间的频率,定义一个优先级处理技术,用于处理一个或多个信道子系统的未决I/O工作队列。
在两个独立执行处理器或进程之间的优先级处理技术的实现的例子包括如下:
1.加入队列处理器(或进程)使用优先级排序技术,基于程序(例如,WLM)指定的优先级号,添加I/O请求到信道子系统I/O工作队列(具体队列取决于处理的阶段)。信道子系统接着使用FIFO技术从该工作队列中移去第一、最高优先级I/O请求;或
2.加入队列处理器(或进程)使用FIFO加入队列技术,添加I/O请求到I/O工作队列的队尾。信道子系统使用优先级选择技术,接着在工作队列中搜索所有I/O请求单元,并且移去和处理带有最高的程序被指定优先级号的I/O请求。
FIFO加入队列技术(技术#2)要求较少的指令,并且由此允许中央处理器去更快地完成I/O请求调度处理。这释放中央处理器去更快地执行其它工作。对于在各种包括信道子系统的微处理器之间的加入队列/移出队列处理,该技术通常根据哪一个参与处理器最受它的处理能力和及时性要求约束进行选择。即,如果加入队列处理器是最受约束的,则选择第二种技术。如果移出队列处理器是最受约束的,则通常选择第一种技术。
不论这些技术中的哪一种得到实施,结果是信道子系统基于优先级方法学,而不是基于到达时间或FIFO方法学,对未决I/O请求的启动和执行给予优先级。
另外,在一实施例中,不论使用加入队列还是选择技术,将使用各种标准进行优先级排队和/或选择要处理的请求。在一实施例中,这些标准包括如下:
1.基于程序指定的优先级号,选择未决I/O请求,其中每个不同的编
号对应唯一的优先级级。例如,将提供顺序的唯一编号的范围,并且编号的总范围等于或大于要求优先级区分的不同工作类别的总数目。例如,如果系统提供能够同时执行N种不同操作系统、比如可能是典型的S/390系统的能力,则信道子系统优先级技术将提供N个或更多不同优先级级。每个优先级级,从最低到最高,或反之,将用0到N-1范围的唯一编号表示。
2.使用一种不考虑它们的优先级、施加“公平(fairness)”到所有被加入队列的
请求的技术,进行未决I/O请求的优先级选择。例如,由于不相称的大编号的较高优先级请求被较长时间地提供给信道子系统,为了最小化可能发生的较低优先级请求过长时间未受到处理,通常需要这种方法。公平选择也可以根据其它考虑,施加到平等优先级的未决请求。例如,对已经被移出队列、未成功被启动、以及一次或多次地与其它还未被选择的平等优先级请求一起被重新排队的未决请求提供公平。参考图9描述了这样的技术。该技术同时施加优先级和公平到多个不同类别的未决请求。
3.外部用户/操作者控制用于:
1)全局地启用/禁止优先级处理技术。如果优先级技术是不必要的、或不足以接纳一个非典型程序执行环境,则可以要求该控制去迫使对未决请求进行FIFO处理。
2)对于提供多个逻辑分区的并发执行的系统,一种外部控制使用户能够对与给定逻辑分区相关的I/O请求指定“缺省”优先级值。这可用于当执行在该逻辑分区中的操作系统未被设计去对它的I/O请求指定优先级值的时候,但是它仍然成功地与执行在其它逻辑分区中的已指定I/O优先级的其它操作系统争用。
3)对于提供多个逻辑分区的并发执行的系统,一种外部控制使用户能够对每个逻辑分区从信道子系统提供的值的全集中指定优先级值的最大和最小范围的一个子集。该控制用于当执行在独立逻辑分区的多个操作系统独立地使用I/O优先级、并且不告知其它使用分区的时候。即,允许基于优先级的由每个使用分区启动的请求的分离。
对于上述项目3.2和3.3,在一个实施例中,中央处理器为以一种对操作在该分区的程序透明的方式在该逻辑分区中执行的程序、隐含地分配了用户指定的缺省优先级值或用户指定的最大/最小允许优先级。在S/390系统中,这能够通过结合逻辑分区管理器(系统管理程序(hypervisor))和中央处理器START SUBCHANNEL指令而完成。
当操作于逻辑分区中的程序执行START SUBCHANNEL时,为了启动一个I/O操作,在中央处理器中START SUBCHANNEL指令的解释执行,从开始解释执行(SIE,Start Interpretive Execution)状态描述(SD,StateDescription)表中,隐含地获得缺省优先级编号和最大/最小允许优先级编号。当它执行SIE指令去放置该分区进入执行状态(Execution State)时,该表通过逻辑分区系统管理程序创建和装载到中央处理器中。STARTSUBCHANNEL指令的解释执行,接着使用SIE状态描述表的缺省和最大/最小优先级值,去隐含地设置合适优先级值到I/O请求,而不需要涉及操作在该逻辑分区中的程序。
当执行在逻辑分区中的程序没有指定优先级值时,STARTSUBCHANNEL解释分配用户指定的缺省优先级值到I/O请求。当执行在逻辑分区中的程序在它执行START SUBCHANNEL时确实指定优先级编号的时候,START SUBCHANNEL的解释执行将程序指定的优先级值与在状态描述表中的系统管理程序指定的最大/最小优先级值作比较。当程序指定的优先级值小于系统管理程序指定的最小值时,来自状态描述表中的该最小值隐含地取代程序指定的值。当程序指定的优先级值大于系统管理程序指定的最大值时,来自状态描述表中的该最大值隐含地取代程序指定的值。
优先级选择技术能够使用零个或更多上述标准得以估计。参考图9描述了使用至少一些上述标准的、用于选择要处理的请求的一种技术的一个实施例。
首先,未决工作队列受到访问(步骤900)。例如,或者I/O处理器工作队列、或者信道处理器工作队列、或者控制单元工作队列受到访问。由此被移出队列的未决请求的计数递增1(例如,DQCOUNT=DQCOUNT+1)(步骤902)。
接着,确定要处理哪一类未决请求(步骤904)。在一实施例中,所选类别等于类别的号DQCount MODULUS(DQ计数模)。由此,因为在该例中有四个类别,所以所选类别等于DQCount MODULUS 4。如果结果是0,则任何优先级的第一请求被移出队列(步骤906)。然而,如果所选类别是1,则选择以前未移出队列的第一最高优先级请求(步骤908)。另外,如果结果是2,则选择以前被移出队列并且未成功启动的第一最高优先级请求(步骤910)。然而,如果结果是3,则选择以前未移出队列的第一任何优先级请求(步骤912)。由此,该所选请求被移出队列并处理(步骤914)。
如上所述,是在协处理器中异步请求的优先化机制。尽管根据I/O请求和信道子系统描述了该例子,这些仅作为示例。该方法同样可应用到其它异步请求和多个协处理器。另外,尽管上述例子是根据排队描述的,类似的优先化机制也可用于调整在信道上资源(例如,带宽)的分配,它能够并发地执行多个操作,给出多个信道资源到较高优先级的操作,而不是每个事务平等地运行。
另外,尽管参考逻辑分区化的系统在本文描述了各种例子,I/O优先级能力在不具有或不支持逻辑分区的系统内是可用的。
作为进一步的益处,能够动态地改变计算环境的I/O配置(例如,信道路径配置),以便移动可得到的资源到它所需要的地方或不需要人为干涉地移去多余的信道资源。这将降低在配置I/O、增强总体系统可用性、充分利用所安装的信道、和使用工作负载的相对优先级去分配可得到的I/O能力等方面所要求的技术。在一实施例中,在进行改变之前,一个或多个因素被察看,以便确定进行“最佳”改变。这些因素包括:例如,对响应时间、或I/O速度的影响;对完成特定工作负载目标的响应时间的影响;目的端口正被占用;得到的可用性特性(例如,添加无单点故障的共有路径);以及得到的I/O配置的复杂性(或,熵)。
参考图10-14详细描述了与动态调整I/O配置相关的逻辑的一个实施例。首先,通过例如计算环境的工作负载管理器部件,以例如每隔10秒的固定安排时间间隔开始,调用基础平衡处理。基础平衡处理的作用是:(利用浮动(即,受管理)定义信道)均匀地跨越子系统(例如,逻辑控制单元)连续地平衡I/O速度;确保所有设备能够通过两个或多个最好是无单点故障的共有路径进行访问;以及在硬件故障以后重新平衡子系统。该处理包括两部分:数据采集(collection)(图10,步骤1000);和平衡检查(步骤1002)。数据采集是在该环境的每个逻辑分区内每个时间段运行一次(假定该环境被逻辑分区化,或如果未被逻辑分区化则在每个系统内);以及平衡检查每个成组的LPAR每个间隔仅运行一次(再次假定成组)。
通过在任一系统中WLM每个时间段仅调用基础平衡技术一次这样的事实,可获得该处理的数据采集部分的编序。另外,当更新所采集的信息时,使用了版本号检查。例如,存储在耦合装置中的控制块被编序以更新所采集的信息。这些控制块可进行组级的数据采集,它允许在相同CPC上跨越组的各成员的信道的管理。
为了平衡检查连续进行,使用了利用专门为此目的的组指派的编序。典型地,当在数据采集后马上调用平衡时,组一级编序被请求。如果获得编序,则平衡处理继续进行;如果未获得编序,则平衡检查在成组的LPAR中已经在发生,并且在该时间段内不需要再次运行。
参考图11,进一步描述了图10的数据采集处理。在一实施例中,对每个定义的子系统(例如,逻辑控制单元),测量数据被采集和更新(步骤1100)。该测量数据包括:例如,连接时间、未决时间、子系统占用、设备占用、目的端口占用时间、以及目的端口占用计数。经更新的测量数据存储于在处理器的存储器内的控制块、以及在比如耦合装置的共享存储器内的控制块中。
在更新该测量数据之后,计算每个子系统的缺省目标I/O速度(步骤1102)。该I/O速度指示是否需要或期望额外信道带宽。作为一个例子,该缺省目标I/O速度由连接时间进行加权。为了执行该计算,在一个例子中,采取下列步骤:对于每个由DCM管理的子系统,除了在过去的时间段中该子系统所经受的连接时间量以外,还可获得当前或实际速度。接着,用该连接时间乘以该I/O速度得到一个结果。接着,各子系统的结果相加得到一个总和。接着,将该总和除以总连接时间,以确定经连接时间加权的缺省目标I/O速度。
回到图10,在执行时间收集之后,如本文所述,执行平衡检查(步骤1002)。参考图12描述了与平衡检查相关的逻辑的一个实施例。首先,执行编序以确定在此时是否应该执行平衡检查(查询1200)。如果获得组一级编序的企图没有成功,则不执行平衡检查的逻辑(步骤1202)。然而,如果获得编序,则对这些在它们目标范围外的子系统进行搜索(步骤1204)。
例如,获得了所有子系统的实际I/O速度,并接着取平均值。(在一例子中,仅有那些由动态CHPID管理(DCM)管理的子系统包括在该平均值中)。一旦该平均值得以确定,一范围就创建了。在一例子中,该范围是例如加或减去平均值的5%。由此,每个子系统的目标I/O速度被与该目标范围进行比较。如果没有指定目标I/O速度,则使用该缺省目标I/O速度。作为比较的结果,创建了两个列表(步骤1206)。列表之一包括超出该目标范围的那些子系统、而另一个包括那些未达到该范围的那些子系统。在每一种情形中,最近(例如,在最后10秒内)已经被修改的子系统被从该列表中除去。
接着,未达到目标的列表被排序(sort)(步骤1208)。在一例子中,使用WLM排序该列表,因为WLM负责确定哪一个子系统是最重要的。由此,WLM以WLM愿意它们运行的次序将子系统排序。
在对该列表进行排序以后,通过例如将能力从欠利用子系统变换为过利用子系统,在该列表上的一个或多个子系统得以运行(步骤1210)。能够在分配时间内运行的同样多的子系统受到调整。
参考图13a-13b,描述了与调整能力相关的逻辑的一个实施例。首先,从该列表中选择一子系统(图13a,步骤1300)。在一例子中,它是在所选的列表上的第一子系统。由此确定目的端口占用是否是个问题(查询1302)。具体地,确定争用(contention)(例如,目的端口占用时间)是否为高,并且如果是,则根据与其连接的各种接口对它进行变化。如果在所有接口上,目的端口占用为高,则表示需要添加另一个信道路径。然而,如果它仅在一个接口上为高,则信道路径移动到另一个接口(步骤1304)。由此,现有路径从具有过度目的端口占用时间的接口移动了到另一个接口,并且处理通过实现该改变继续进行(图13b,步骤1306)。如何实现该改变的例子的描述见授权于1993年10月的5257379号美国专利、授权于1993年10月的5257368号美国专利、和授权于1993年6月的5220654号美国专利。
在该改变实现以后,确定是否存在其它子系统不在该目标范围(查询1308)。如果不存在,则不平衡校正的处理得以完成。然而,如果有其它子系统不在该范围内,则处理继续从步骤1300“SELECT NEXT SUBSYSTEM INTHE LIST(在列表中选择下一个子系统)”开始(图13a)。
回到查询1302,如果问题不是因为争用,则处理如下文所述继续。
具体地,在一例子中,确定要添加到该子系统中的可能的信道路径(步骤1310)。该确定包括在物理拓扑内检查能够到达该特定子系统的所有信道,并且接着,对于每个信道,确定到达该子系统的可能方式(路径)。路径是通过硬件单元连接和包括信道和子系统两者的连接性排列。所有这些路径(或如果需要,子集)都包括在该可能路径中。
类似地,确定要移去的可能路径(步骤1312)。作为一例子,如果在相同信道上存在多个子系统,则连接到该共享子系统的路径之一被考虑作为移去的候选。
其后,确定该改变将影响哪个子系统(步骤1314)。另外,指示要改变的配置的复杂性的熵指数,也如下所述得到确定。
参考图14描述了与确定受影响的子系统相关的逻辑的一个实施例。首先,子系统的子系统控制块(SSCB)列表和信道的CHPID列表被清零待随后使用(步骤1400)。其后,信道路径标识从与所建议信道相关的决定选择块(DSB)中被取回,并添加到CHPID列表中(步骤1402)。具体地,每个路径具有与其相关的决定选择块。该决定选择块是一种包括各种信息的控制块,所述信息包括:例如,信道路径的标识(CHPID)、指示与该信道路径相关的逻辑控制单元的子系统控制块(SSCB)指针(pointer)、以及受影响的SSCB阵列。每个SSCB阵列包括连接到该子系统的所有信道。
其后,将所有与要协助的该SSCB相关的CHPID也添加到该CHPID列表中(步骤1404)。具体地,从指示将要协助的SSCB的DSB中取回SSCB指针。接着,将所有在SSCB中的CHPID添加到CHPID列表中。
其后,对于在该列表中的每个CHPID,将与该信道路径相关的SSCB添加到SSCB列表中(步骤1406)。在一实施例中,从一指示连接到每个CHPID的信道路径表中获得该信息。
接着,确定是否有SSCB被添加到该列表中(查询1408)。如果是如此,则对于在该列表中的每个SSCB,已经不在该CHPID列表中的CHPID被添加(步骤1410),如上述步骤1404一样。
其后,进一步确定是否有CHPID被添加到该列表中(查询1412)。如果有更多的CHPID被添加到该列表中,则处理继续从步骤1406开始。然而,如果没有SSCB或CHPID被添加到该列表中(查询1408、1412),则对于在该列表中的每个SSCB,创建一个DSB阵列单元(步骤1414)。即,将每个SSCB添加到该受影响的SSCB的阵列中。另外,每个阵列单元是用实际和目标I/O速度、在目标和实际I/O速度之间的当前增量(delta)、和SSCB指针来更新的(步骤1416)。
回到图13a,除了以上所述,计算每个路径的可用性指数(步骤1316)。在一例子中,可用性指数是一个指示所建议路径具有多少与到信道子系统的现有路径一样的单点故障的数字。如果要添加一信道路径,则期望它没有单点故障。如果要删除一信道路径,则典型地选择带有最多单点故障的路径。
接着估计对受影响(effected)系统的影响(步骤1318)。具体地,在一实施例中,察看在每个子系统上的当前负荷,以确定如果进行改变会有多么不同。使用这些信息,选择最佳选项(步骤1320)。为了选择最佳选项,可能考虑的各种因素包括例如以下:
·哪一选项移动最接近目标的子系统?
·哪一选项提供最佳可用性?
·哪一选项提供最佳对称性(最小熵)?
·该选项是否将减少路径的总数目低于2?
·该选项是否将违反任何显性目标(WLM能够提供显性目标用于取代缺省目标)?
·该选项是否将违反任何结构上的限制?
·该选项是否将违反由安装所定义的配置?
·该选项是否将试图使用当前不可用的资源?
在一特定实施例中,首先,去掉在任何情况下都不能实现的任何决定选择块(DSB)。这将包括:例如,那些违反结构上的限制的、那些减少路径的总数目低于2的、那些违反由安装所定义的配置的(例如,使用多于在定义中所允许的最大数目的浮动信道路径)、和那些试图使用当前不可用的资源(例如,试图使用当前不可用端口)的。(该功能能够在处理中较早地被运行,因而不能对从来被选择的DSB进行可用性指数和估计的对子系统的影响的计算)。
如果当前仅有一个到子系统的路径(可能在系统启动以后或故障以后不久),则选择一具有最佳可用性指数的路径。如果有多于一个的路径具有相等的可用性指数,则选择具有最低熵指数的那个路径,所述熵指数将在目标I/O速度目标内移动目标子系统。如果存在多于一个的路径,选择它的总估计增量(从DSB中求出的“∑估计增量”)是最小的那个路径。
如果当前有多于一个的到子系统的路径,则寻找具有最佳可用性指数的DSB的组。搜索使目标子系统在目标I/O速度的容许值内并具有最低熵指数的选项的组。如果存在多于一个的路径,则选择它的总估计增量(从DSB中求出的“估计增量总和”)是最小的那个路径。
如果没有这样的选项,则寻找带有次一个最佳可用性指数的路径的组。并再次尝试。
如果没有任何使子系统在容许值内的选项,则选择一个使子系统离目标最近的选项,而不考虑它的可用性指数和熵指数。(上述用于选择最佳选项的技术仅作为示例,可以进行各种增加、删除和修改,并且可使用任何合适的技术去选择最佳选项)。
在试图选择最佳选项之后,确定是否能够不影响带有显性目标的子系统而获得新目标(查询1322)。即,是否是将负面影响带有已由WLM设置的显性目标的子系统的最佳选项。如果不是,则调用工作负载管理器去选择适当的路径(步骤1324)。特别地,工作负载管理器拾取该路径并选择用于供方(donor)的新目标。
接着,或如果能够不负面影响带有显性目标的子系统而获得新目标,则可以实现该改变(步骤1306),并且处理继续从查询1308开始,确定是否存在不在目标范围的其它子系统。
如上所述,WLM能够设置用于取代缺省平均I/O速度目标的显性I/O速度目标。在一实施例中,当WLM发现该服务级别不符合它的目标时,WLM就设置一显性目标。参考图15描述了与设置显性子系统I/O速度目标相关的逻辑的一个实施例。
首先,确定I/O是否正在引起最大延误(查询1500)。如果否,则完成当前目标的处理。然而,如果I/O正在引起最大延误,则应试图进行I/O优先级调整(步骤1502)。其后,确定是否该服务级别符合它的目标(查询1504)。如果该服务级别现在符合它的目标,则处理完成。然而,如果服务级别还不符合它的目标,则对该服务级别正在使用的、并具有低的I/O速度的子系统进行搜索(步骤1506)。对于找出的一个或多个子系统,设置新的子系统I/O速度目标(步骤1508)。在一例子中,它通过对当前目标增加所定义的量来设置,并接着估计在子系统上的影响。如果该影响是足够的(例如,高于受方值),则处理完成。如果不是,则再次增加该目标,并且重复进行处理。
以上详细描述的是提供I/O配置的动态调整的动态CHPID管理(DCM)。DCM与WLM有益地组合,使得决定能够使用对工作负载和目标的理解来作出。另外,DCM允许跨越多个分区的(例如,分区组的)信道的管理。这样使得在需要它们时可以添加资源,而移去过多的资源。
如上所述,选择带有动态CHPID管理(DCM)的最佳信道添加到子系统(或从子系统移去)。为了做到这些,一个或多个属性受到查验,包括例如,得到的I/O配置的复杂性(或熵)。
经增加的熵引起I/O配置变得过度复杂,导致:在DCM的处理上的过多的时间、由于过多数量的子系统受到影响而造成的不精确结果、在性能报告上的复杂性、和在问题确定上的复杂性。由此,在本发明的一个优选实施例中,提供一种能力以确定不同选择的相对熵,使得当选择配置该如何调整时,该相对熵可以连同诸如I/O速度和可用性等其它考虑因素进行考虑。
为确定相对熵,计算相对熵指数。例如,在正在添加一个路径的情形中,该相对熵指数是在得到的配置中信道和子系统的总和。另外,在正在删除一个路径的情形中,该相对熵指数反映的是在删除该路径后互连到该目标子系统的信道和子系统的集合。它不包括将不再在该集合中的信道和子系统。
为了计算每个选项的熵程度,假定决定已实现,使用了连接在一起的信道和子系统的数量。该熵技术的一个基本前提是计算一种指数,该指数能够对两个或多个所建议拓扑进行比较,并确定哪个更对称、或具有更小的熵。其目的是避免大的互联拓扑,所述大的互联拓扑被怀疑将造成I/O速度技术不精确,和将使人们在事实发生后,由于过于复杂的拓扑而更难于分析性能问题。
参考各种例子描述了熵确定技术的一个实施例。例如,图16a描述了配置1600的一个实施例,该配置1600包括连接到两个子系统1604的两个信道1602。如果子系统22需要额外的资源,它能够从至少两处获得资源。它能够或者从信道1、或者从信道3接收资源。如果它从信道3获得资源,则得到的配置现在具有三个信道和两个子系统(图16b)。这给出该配置的熵指数是5,(3+2)。然而,如果子系统22从信道1接收额外的资源(图16c),则得到的配置具有不比原来更多的信道或子系统,并且得到的熵指数是2。在该例子中,第二选项具有最小的熵。
考虑另一个例子。在图17a描述的例子中,子系统23需要额外的资源。它可从信道2或4获得。如果使用了信道2(图17b),则得到的熵指数是5,(即,在一个配置中三个信道互联到两个子系统;信道4未计入,因为它未连接)。如果使用了信道4(图17c),则得到的熵指数是3。由此,第二选项具有最小的熵。
接着,考虑该配置被分开的情形,以确定这如何影响熵。
参见图18a,如果系统23具有过多的容量,则可能要移去信道2或3。如果移去信道2(图18b),则该配置被分开,并且两个配置的熵指数都下降。如果移去信道3(图18c),则仍然是一个配置,但是带有比原指数更低的熵指数。这表明在一实施例中,将该配置分开的决定,如对半分开,将导致两个不太复杂的网络,是较好的选择。
对于删除,如果已知现存配置(图19a)的指数、还有包含现有(图19b的右边)的子系统的所建议配置的指数,则通过相减,能够计算其它配置(图19b的左边)的指数。在该例子中,该其它配置的指数等于2(4-3=1和2-1=1,所以1+1=2)。如果相减的结果导致子系统或信道的数量是0,如在图19c中,则熵已经被降低,不需要分开该配置。(例如,两个子系统-两个子系统=0)。在一实施例中,优选分开。
在下列例子中,子系统23拥有过多的资源(图20a),可以移去信道2或3。如果移去信道3(图20b),则得到的熵指数是7。如果移去信道2(图20c),则该配置被分为两个配置,其中现有配置(带子系统23的配置)的熵指数是5,和得到的第二配置的熵指数是3。在一实施例中,优选分开该配置。
现在考虑另外的例子,以确定是否所期望的删除仅是寻求分开,而不是得到的熵值。
在图21a描述的例子中,子系统23拥有太多的带宽。可以移去信道2或4。如果移去信道2(图21b),则获得新的熵指数是6,而得到的第二配置的熵指数是3。如果移去信道4(图21c),则获得新的熵指数是5,而得到的第二配置的熵指数是4。带有熵指数是5和4的配置是较好的选择。所以在一实施例中,与分开的类型也有关系。
在图22a描述的例子中,子系统23需要额外的资源。可以从信道2中移去子系统21(图22b),给予子系统23所有信道2的资源;或者可以从信道4中移去子系统25(图22c),给予子系统23所有信道4的资源。
如果从信道2中移去子系统21,则得到的熵指数是7,并且得到的第二配置的熵指数是2。如果从信道4中移去子系统25,则得到的熵指数现在是6,并且得到的第二配置的熵指数是3。在一实施例中,第二选择似乎较好,因为该分开更接近于平均。
为了计算哪个选项更接近于对半分(即,“平均”),确定在该新熵指数与得到的第二配置的熵指数之间在信道和子系统的数量上的差值。在该例中,第一种选择导致熵指数是7和2,所以差值是5(即,对称指数)。第二种选择导致熵指数是6和3,所以差值是3。在该例中,具有较低差值的选择是最佳选择。
最后,在一实施例中,将除去没有移动该子系统更接近于目标I/O速度的选项。另外,通过将在得到的配置上互联的信道和子系统的总数相加去计算熵指数。如果该熵指数没有改变,该改变是对称的。一般地选择具有最低熵指数的配置。避免选择带有多于8个信道的配置,即使这意味着选择一个带有较高熵指数的配置。如果没有可替换的,则选择带有多于8个信道的配置,并且希望在下一个时间段上该配置将分开。
虽然根据I/O配置描述了上述各种实施例,本文所述的性能等同地可应用到其它网络,比如存储区域网,以及其它网络。
以上描述的是管理计算环境的资源的各种机制。实际可共享资源是跨越计算环境的逻辑分区进行管理的。将逻辑分区成组,通过例如基于优先级的资源分配,使得资源能够共享。该资源共享包括:例如,跨越LPAR的CPU资源的动态管理、跨越LPAR的动态CHPID管理、在信道子系统中的I/O优先级排队、以及跨越LPAR的存储器的动态管理。
在一例子中,系统的工作负载管理器至少是部分地对该管理负责。该可共享资源在透明于应用程序子系统的工作负载管理器指导下被动态地重新分配。根据监视活动和用户目标,将该资源提供给所需的分区。另外,经由例如WLM、系统复用体(sysplex)、和PR/SM的组合,根据工作负载目标,动态地对实际资源进行调整,而不需要并行系统复用体数据共享。
在上述实施例中,描述了各种计算环境和系统。应该认识到,这些仅是作为示例,并且并未试图限制本发明的范围。同样地,本文描述的流程图也仅是作为示例。这些图表或步骤(或操作)可能存在许多变化。例如,所述步骤可能以不同的次序恰当地执行,或可以增加、删除或修改所述步骤。

Claims (35)

1.一种管理计算环境的工作负载的方法,所述方法包括:
管理跨越所述计算环境的多个分区中的两个或多个分区的工作负载;和
所述管理包括动态调整所述两个或多个分区中的至少一个分区的可共享资源的分配,以使得所述两个或多个分区的工作负载目标得到平衡。
2.根据权利要求1所述的方法,其中所述动态调整是在所述至少一个分区内对工作处理透明地执行的。
3.根据任一在先权利要求所述的方法,其中所述可共享资源包括中央处理单元资源、逻辑处理器资源、输入/输出资源、信道资源、协处理器、网络适配器、和存储器中的至少一种。
4.根据权利要求1所述的方法,其中所述动态调整包括将所述可共享资源的至少一部分从一个分区移动到至少一个其它分区。
5.根据权利要求1所述的方法,其中所述动态调整包括基于优先级,管理所述两个或多个分区中的所述可共享资源。
6.根据权利要求1所述的方法,其中所述动态调整包括基于百分比分配,在所述两个或多个分区中分配所述可共享资源,其中所述两个或多个分区的每一个分区被分配所述可共享资源的一部分。
7.根据权利要求1所述的方法,其中所述分区是逻辑分区。
8.根据权利要求1所述的方法,其中所述动态调整至少部分地由所述计算环境的至少一个工作负载管理器控制。
9.根据权利要求1所述的方法,其中所述动态调整无需数据共享而得以执行。
10.一种管理计算环境的工作负载的方法,所述方法包括:
确定所述计算环境的多个分区的一个组;和
通过确定将要分配给所述组的可共享资源,对分区组进行管理,其中所述可共享资源的至少一部分被分配给所述组的所述多个分区。
11.根据权利要求10所述的方法,其中所述一个或多个分区包括一例或多例至少一种操作系统。
12.根据权利要求10-11中任一权利要求所述的方法,还包括将所述一个或多个分区的至少一个分区加入所述组。
13.根据权利要求12所述的方法,其中所述加入影响了可分配给所述组的所述可共享资源的所述至少一部分。
14.根据权利要求10所述的方法,还包括将一个分区从所述组中移去。
15.根据权利要求14所述的方法,其中所述移去影响了可分配给所述组的所述可共享资源的所述至少一部分。
16.根据权利要求10所述的方法,其中所述确定包括确定多个含一个或多个分区的组。
17.根据权利要求10所述的方法,还包括重新调整所述组的至少一个分区的所述可共享资源的所述至少一部分的分配。
18.根据权利要求17所述的方法,还包括确保所述重新调整不影响所述组的所述可共享资源的所述至少一部分的总量。
19.根据权利要求10所述的方法,还包括确保允许所述可共享资源被分配到所述组。
20.一种管理计算环境的工作负载的方法,所述方法包括:
确定所述计算环境的一个组已经被修改,其中所述组包括所述计算环境的多个分区;和
响应于所述确定,通过在所述组内动态调整所述组的资源的分配,对分区组进行管理。
21.根据权利要求20所述的方法,其中所述动态调整维持在所述组内所述资源的总体分配。
22.根据权利要求20所述的方法,还包括由所述组临时地利用超过为所述组所分配的量的所述资源的量。
23.根据权利要求22所述的方法,还包括:
确定存在对所述资源的争用;和
重新调整过去被分配给所述组的量的所述量。
24.一种在计算环境内管理工作负载的方法,所述方法包括:
确定对所述计算环境的分区的CPU资源的分配将被调整;和
跨越所述分区和所述计算环境的另一个分区,动态地调整所述分配。
25.根据权利要求24所述的方法,其中所述动态调整是响应至少所述分区的工作负载目标。
26.根据权利要求24或25所述的方法,其中所述动态调整包括修改分配到所述分区的第一CPU处理器的权重、和分配到所述另一个分区的第二CPU处理器的权重。
27.根据权利要求26所述的方法,其中所述修改包括:
增加所述第一CPU处理器的权重;和
减少所述第二CPU处理器的权重。
28.根据权利要求27所述的方法,其中所述第一CPU处理器权重增加的量等于所述第二CPU处理器权重减少的量,其中所述第一CPU处理器权重与所述第二CPU处理器权重的和保持不变。
29.根据权利要求24所述的方法,其中所述分区和所述另一个分区是在所述分区组内。
30.根据权利要求24所述的方法,其中所述分区包括一个或多个服务级别的工作,并且其中所述确定包括:
估计在增加与所述分区相关的处理器权重对所述一个或多个服务级别的被选择服务级别的影响;
估计在降低所述另一个分区的处理器权重对所述另一个分区的一个或多个服务级别的影响;和
确定是否对所述被选择服务级别的益处超过对所述另一个分区的工作的负面影响,其中在当该益处超过该负面影响时进行调整。
31.根据权利要求24所述的方法,还包括选择所述另一个分区,其中所述选择是基于在所述另一个分区内将要执行的工作的重要性。
32.一种管理计算环境的工作负载的系统,所述系统包括:
用于管理跨越所述计算环境的多个分区中的两个或多个分区的工作负载的装置;和
用于所述管理包括动态调整所述两个或多个分区中的至少一个分区的可共享资源的分配的装置,其中所述两个或多个分区的工作负载目标得到平衡。
33.一种管理计算环境的工作负载的系统,所述系统包括:
用于确定所述计算环境的多个分区的一个组的装置;和
用于通过确定将要分配给所述组的可共享资源以管理分区组的装置,其中所述可共享资源的至少一部分被分配给所述组的所述多个分区。
34.一种管理计算环境的工作负载的系统,所述系统包括:
用于确定所述计算环境的一个组已经被修改的装置,其中所述组包括所述计算环境的多个分区;和
用于响应于所述确定、通过在所述组内动态调整所述组的资源的分配以管理分区组的装置。
35.一种在计算环境内管理工作负载的系统,所述系统包括:
用于确定到所述计算环境的分区的CPU资源的分配将被调整的装置;和
用于跨越所述分区和所述计算环境的另一个分区、动态调整所述分配的装置。
CNB008135339A 1999-09-28 2000-09-28 管理计算环境中的工作负载的方法和系统 Expired - Lifetime CN100397341C (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US09/407,391 1999-09-28
US09/407,212 1999-09-28
US09/407,212 US6587938B1 (en) 1999-09-28 1999-09-28 Method, system and program products for managing central processing unit resources of a computing environment
US09/407,391 US7007276B1 (en) 1999-09-28 1999-09-28 Method, system and program products for managing groups of partitions of a computing environment
US09/408,470 1999-09-28
US09/408,470 US7051188B1 (en) 1999-09-28 1999-09-28 Dynamically redistributing shareable resources of a computing environment to manage the workload of that environment

Publications (2)

Publication Number Publication Date
CN1391671A CN1391671A (zh) 2003-01-15
CN100397341C true CN100397341C (zh) 2008-06-25

Family

ID=27410700

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008135339A Expired - Lifetime CN100397341C (zh) 1999-09-28 2000-09-28 管理计算环境中的工作负载的方法和系统

Country Status (14)

Country Link
EP (1) EP1256039B1 (zh)
JP (1) JP3872343B2 (zh)
CN (1) CN100397341C (zh)
AT (1) ATE283512T1 (zh)
AU (1) AU7437600A (zh)
BR (1) BRPI0014350B1 (zh)
CA (1) CA2382017C (zh)
CZ (1) CZ20021093A3 (zh)
DE (1) DE60016283T2 (zh)
ES (1) ES2228607T3 (zh)
HU (1) HU228286B1 (zh)
IL (2) IL148728A0 (zh)
PL (1) PL365894A1 (zh)
WO (1) WO2001023974A2 (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4292693B2 (ja) * 2000-07-07 2009-07-08 株式会社日立製作所 計算機資源分割装置および資源分割方法
US7203719B2 (en) * 2001-08-22 2007-04-10 International Business Machines Corporation Method and system to measure distributed system's relative size
JP2003067351A (ja) * 2001-08-28 2003-03-07 Nec System Technologies Ltd 分散型コンピュータの構成制御システム
US6738886B1 (en) 2002-04-12 2004-05-18 Barsa Consulting Group, Llc Method and system for automatically distributing memory in a partitioned system to improve overall performance
US6694419B1 (en) 2002-04-12 2004-02-17 Barsa Consulting Group, Llc Method and system for automatically measuring partition memory needs in a partitioned computer system
US6968441B1 (en) 2002-04-12 2005-11-22 Barsa Consulting Group, Llc Method and system for managing interdependent resources of a computer system
US7290260B2 (en) 2003-02-20 2007-10-30 International Business Machines Corporation Dynamic processor redistribution between partitions in a computing system
JP2005165813A (ja) * 2003-12-04 2005-06-23 Matsushita Electric Ind Co Ltd 分散計算機システム管理方法
JP2006079495A (ja) * 2004-09-13 2006-03-23 Hitachi Ltd ストレージシステム及び論理区画の設定方法
JP4503470B2 (ja) 2005-03-17 2010-07-14 富士通株式会社 サーバ管理装置及び計算機サーバ
DE102005014717B4 (de) 2005-03-31 2022-09-29 Fujitsu Technology Solutions Intellectual Property Gmbh Computersystem und Verfahren zur Aufteilung und Zuteilung von Rechenleistung innerhalb eines Computersystems
US7844709B2 (en) * 2006-09-20 2010-11-30 International Business Machines Corporation Method and apparatus for managing central processing unit resources of a logically partitioned computing environment without shared memory access
US20090055831A1 (en) * 2007-08-24 2009-02-26 Bauman Ellen M Allocating Network Adapter Resources Among Logical Partitions
US8209687B2 (en) 2007-08-31 2012-06-26 Cirba Inc. Method and system for evaluating virtualized environments
US7739434B2 (en) 2008-01-11 2010-06-15 International Business Machines Corporation Performing a configuration virtual topology change and instruction therefore
US7734900B2 (en) 2008-01-11 2010-06-08 International Business Machines Corporation Computer configuration virtual topology discovery and instruction therefore
US7487506B1 (en) 2008-01-16 2009-02-03 International Business Machines Corporation Autonomous management of system throughput
CN101778428B (zh) * 2009-01-14 2013-07-24 电信科学技术研究院 一种确定时频资源的方法、系统和装置
CN101819540B (zh) * 2009-02-27 2013-03-20 国际商业机器公司 在集群中调度任务的方法和系统
CN101706743B (zh) * 2009-12-07 2012-09-05 北京航空航天大学 一种多核环境下的虚拟机调度方法
US8869160B2 (en) * 2009-12-24 2014-10-21 International Business Machines Corporation Goal oriented performance management of workload utilizing accelerators
US8589941B2 (en) * 2010-04-23 2013-11-19 International Business Machines Corporation Resource affinity via dynamic reconfiguration for multi-queue network adapters
US9253016B2 (en) 2010-11-02 2016-02-02 International Business Machines Corporation Management of a data network of a computing environment
US8966020B2 (en) 2010-11-02 2015-02-24 International Business Machines Corporation Integration of heterogeneous computing systems into a hybrid computing system
US8984109B2 (en) 2010-11-02 2015-03-17 International Business Machines Corporation Ensemble having one or more computing systems and a controller thereof
US8959220B2 (en) 2010-11-02 2015-02-17 International Business Machines Corporation Managing a workload of a plurality of virtual servers of a computing environment
US9081613B2 (en) 2010-11-02 2015-07-14 International Business Machines Corporation Unified resource manager providing a single point of control
CN102063331B (zh) * 2011-01-07 2013-04-17 同济大学 用于空间计算并行化的自适应负载平衡方法
CN103974149A (zh) * 2013-02-01 2014-08-06 鼎点视讯科技有限公司 分配带宽方法及装置
CN103279389B (zh) * 2013-04-28 2016-06-22 中国工商银行股份有限公司 一种主机批量负载的调度方法以及调度系统
US9715268B2 (en) * 2015-05-08 2017-07-25 Microsoft Technology Licensing, Llc Reducing power by vacating subsets of CPUs and memory
US10334334B2 (en) * 2016-07-22 2019-06-25 Intel Corporation Storage sled and techniques for a data center
CN106371922A (zh) * 2016-08-29 2017-02-01 成都支付通卡友电子商务有限公司 动态负载平衡批量处理系统
US10452436B2 (en) * 2018-01-03 2019-10-22 Cisco Technology, Inc. System and method for scheduling workload based on a credit-based mechanism
US10922139B2 (en) * 2018-10-11 2021-02-16 Visa International Service Association System, method, and computer program product for processing large data sets by balancing entropy between distributed data segments

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530860A (en) * 1992-05-15 1996-06-25 Fujitsu Limited Virtual computer control system effectively using a CPU with predetermined assignment ratios of resources based on a first and second priority mechanism
US5659786A (en) * 1992-10-19 1997-08-19 International Business Machines Corporation System and method for dynamically performing resource reconfiguration in a logically partitioned data processing system
EP0917056A2 (en) * 1997-11-04 1999-05-19 Digital Equipment Corporation A multi-processor computer system and a method of operating thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991257A (ja) * 1995-09-25 1997-04-04 Nec Corp Cpu管理方式
US5925102A (en) * 1997-03-28 1999-07-20 International Business Machines Corporation Managing processor resources in a multisystem environment in order to provide smooth real-time data streams, while enabling other types of applications to be processed concurrently
US6647508B2 (en) * 1997-11-04 2003-11-11 Hewlett-Packard Development Company, L.P. Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530860A (en) * 1992-05-15 1996-06-25 Fujitsu Limited Virtual computer control system effectively using a CPU with predetermined assignment ratios of resources based on a first and second priority mechanism
US5659786A (en) * 1992-10-19 1997-08-19 International Business Machines Corporation System and method for dynamically performing resource reconfiguration in a logically partitioned data processing system
EP0917056A2 (en) * 1997-11-04 1999-05-19 Digital Equipment Corporation A multi-processor computer system and a method of operating thereof

Also Published As

Publication number Publication date
HUP0301326A2 (en) 2003-08-28
BR0014350A (pt) 2003-07-29
DE60016283D1 (de) 2004-12-30
EP1256039A2 (en) 2002-11-13
JP3872343B2 (ja) 2007-01-24
HU228286B1 (en) 2013-02-28
DE60016283T2 (de) 2005-12-01
WO2001023974A3 (en) 2002-09-12
IL148728A (en) 2007-08-19
AU7437600A (en) 2001-04-30
ES2228607T3 (es) 2005-04-16
CN1391671A (zh) 2003-01-15
CZ20021093A3 (cs) 2002-06-12
JP2003514270A (ja) 2003-04-15
CA2382017C (en) 2007-06-26
PL365894A1 (en) 2005-01-10
WO2001023974A2 (en) 2001-04-05
BRPI0014350B1 (pt) 2017-03-21
IL148728A0 (en) 2002-09-12
ATE283512T1 (de) 2004-12-15
EP1256039B1 (en) 2004-11-24
CA2382017A1 (en) 2001-04-05

Similar Documents

Publication Publication Date Title
CN100397341C (zh) 管理计算环境中的工作负载的方法和系统
KR100420421B1 (ko) 계산환경의 논리 프로세서들을 관리하는 방법, 시스템 및 기록매체
KR100419680B1 (ko) 계산 환경의 코프로세서 내에서의 비동기 i/o 요청들의 관리 방법 및 시스템과 기록 매체
KR100420420B1 (ko) Cpu 자원 관리 방법 및 시스템과 기록 매체
US7051188B1 (en) Dynamically redistributing shareable resources of a computing environment to manage the workload of that environment
KR100420419B1 (ko) 계산 환경의 분할들의 그룹들을 관리하는 방법, 시스템 및 기록 매체
US6519660B1 (en) Method, system and program products for determining I/O configuration entropy
US7734676B2 (en) Method for controlling the number of servers in a hierarchical resource environment
US20060069761A1 (en) System and method for load balancing virtual machines in a computer network
EP0568002B1 (en) Distribution of communications connections over multiple service access points in a communications network
EP0459134A2 (en) Dynamic load balancer for shared data base transaction processing
JPH08249291A (ja) マルチシステム資源キャッピング
US7568052B1 (en) Method, system and program products for managing I/O configurations of a computing environment
Elsharkawey et al. Mlrts: multi-level real-time scheduling algorithm for load balancing in fog computing environment
JPH10207847A (ja) 分散システムにおける自動負荷分散方式
JPH04302036A (ja) 負荷分散方式
Hui et al. A delay scheduling strategy for dynamic load balancing schedulers

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
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20080625