响应分区工作负荷动态再分区计算机系统的装置和方法

文档序号:6403734阅读:132来源:国知局
专利名称:响应分区工作负荷动态再分区计算机系统的装置和方法
技术领域
本发明涉及管理计算机系统的方法和装置。更具体地,本发明涉及响应分区工作负荷动态再分区计算机系统的方法和装置。
背景技术
目前,许多计算机制造商设计具有分区能力的计算机系统。对计算机系统分区就是要把计算机系统的资源(即存储设备、处理器等)分成组;因此,允许多个操作系统(OS)在该计算机系统上并行执行。
对计算机系统进行分区可能是为了各种原因。第一,它可能是为了合并的目的进行的。通过只在一个计算机系统上运行多个以前驻留于不同计算机系统上的应用程序,将各种计算机系统明确地合并为一个,降低了(i)拥有系统的开销,(ii)系统管理要求和(iii)所占空间(footprint)的大小。
第二,进行分区可能是为了提供生产环境和测试环境的一致性。一旦一个新的OS或应用程序已经被测试和验证,可以简单地将测试分区指定为生产分区,并在需要时将资源转移到该生产分区。反过来,这激发了更多的信心,那就是已被成功测试的应用程序将按预期执行。
第三,对计算机系统进行分区可提供增加的硬件利用率。例如,当应用程序不能很好地伸缩到大量的处理器时,在各别的较小分区上运行该程序的多个实例可提供较佳的吞吐量。
第四,对系统进行分区可提供应用程序隔离。当应用程序运行于不同的分区时,它们被保证彼此互不干涉。因此,在一个分区发生故障时,其它分区将不受影响。而且,没有一个应用程序可能消耗过多量的硬件资源。因此,没有应用程序将因为缺乏硬件资源而无法运行。
最后,进行分区提供了增加的资源分配灵活性。具有在一段时间内变化的资源需求的工作负荷可更容易被管理,如果它正运行在一个分区上的话。也就是说,该分区可被容易地改变以满足该工作负荷的变化需求。
具有分区能力的计算机系统一般使用分区管理软件。分区管理软件通常与系统硬件相关联并且与嵌入在计算机系统内的一支持处理器交互作用。因此,分区管理软件不是运行在计算机系统上的OS的一部分。
虽然如此,众所周知,现代的计算机操作系统如国际商业机器公司(IBMTM)的Advanced Interactive ExecutiveTM(ATXTM)引入了硬件资源管理的各种方法。ATX的基本资源管理系统叫作工作负荷管理器(WLM)。WLM自动地把运行的进程指派给各类,然后依照为该类请求的资源共享的数量,试图使系统资源诸如CPU、存储器和盘I/O带宽可用。可选择地,WLM可强加可用于某一类的资源数量的最大限度。或者,WLM可为某一类预留最小数量的资源,即使该些资源没有被使用。其他的OS,如Sun的Solaris、Hewlett Packard的HP-UX等,也提供了类似的能力。
因此,硬件资源管理和计算机系统的动态分区是两个方案,它们可被用于使资源当需要时对特定工作负荷可用。资源管理软件,如WLM可被用于响应资源需求方面的短期起伏,而分区管理软件被用于基于长期需求提交资源。
目前,这两种方案(即资源管理软件和分区管理软件)不能以将它们的能力结合以实现最有效和最灵活的解决方案的方式相交互。例如,运行于具有一个处理器或CPU的分区上的关键应用程序可能持续地接近最大数量的CPU使用,即使其它的处理器可能处于空闲状态,例如在CPU没有被指派给一分区的情况下。在这种情况下,WLM将不能自己提供附加的CPU资源,但会要求分区管理软件将附加的CPU指派到该分区。当前,每当这种情况发生时,系统管理员就不得不重新对该计算机系统进行分区。让系统管理员处理这一任务将不会如计算机系统自动处理这一任务那样有效率。
因此,需要一种从运行于一个分区上的操作系统向分区管理软件传送有关资源需求高峰信息的装置和方法,从而该软件可以根据需要重新将附加资源指派给该分区。

发明内容
本发明提供一种方法、系统和装置,用于响应工作负荷需求动态对分区的计算机系统进行再分区。在一个实施例中,一监视软件被用于监视所有分区中的所有资源上的工作负荷。如果某分区中的某资源上的工作负荷被确定超过最大阈值,则类似的资源被增加到该分区上。优选地,该类似资源是未被指派或未被分配的资源。然而,如果没有类似的未分配的资源,那么该类似资源可能来自具有不只一个这些类似资源(例如CPU、I/O插槽等)、或者具有比正使用的资源数量更多的资源(例如存储器、带宽等)并且这些资源上的工作负荷处于最小阈值内的另一分区。
在另一个实施例中,一工作负荷时间安排表被存储在工作负荷配置文件(profile)中。如果某一分区的任何资源中的被安排的工作负荷将超过最大阈值,则在该被安排的工作负荷之前,附加的类似资源将被指派给该分区。再次地,只要可能,优选地使用未分配出的资源作为附加资源。但如果没有可用的未分配出的资源,则可使用来自于馈赠分区的类似资源,只要馈赠分区能够这样做(即馈赠分区具有不只一个该类似资源或者具有比正在使用的资源数量更多的资源且在馈赠分区中不存在超过阈值的被安排的工作负荷)。


在所附权利要求中陈述了被认为是本发明的特点的新颖特征。然而,通过结合附图参考下面对示例实施例的详细描述,将对本发明自身及其优选的使用模式、进一步的目的和优点有更好的理解,其中
图1是根据本发明的分布式数据处理系统的示例方框图;图2是根据本发明的服务器装置的示例方框图;图3是根据本发明的客户端装置的示例方框图;图4说明了计算机系统逻辑上的多个分区;图5说明了属于每个分区的资源被注册到其中的映射表;图6显示了图5的更改的映射表;图7为可与本发明一起使用的过程的流程图。
具体实施例方式
现参照附图,图1显示了可在其中实现本发明的数据处理系统的网络的图示表示。网络数据处理系统100是一个计算机网络,本发明可实现于其中。网络数据处理系统100包含网络102,其是媒介,用于提供在网络数据处理系统100内连接在一起的各种设备和计算机之间的通信链路。网络102可包括连接,如有线、无线通信链路、或者光缆。
在所显示的例子中,服务器104与存储单元106一起连接到网络102。另外,客户机108、110和112连接到网络102。这些客户机108、110和112可以是例如个人计算机或者网络计算机。在所显示的例子中,服务器104向客户机108、110和112提供数据,如引导文件、操作系统映像和应用程序。客户机108、110和112是相对于服务器104的客户机。网络数据处理系统100可包括未示出的附加的服务器、客户机和其他设备。在所显示的例子中,网络数据处理系统100是因特网,其中网络102代表使用TCP/IP系列协议相互通信的网络和网关的全世界集合。在因特网的核心是主节点或主计算机之间的高速数据通信线路的主干,其中这些主节点和主计算机包括数以千计路由数据和消息的商业的、政府的、教育的和其他的计算机系统。当然,网络数据处理系统100也可以实现为若干不同类型的网络,诸如内联网、局域网(LAN)或广域网(WAN)。图1旨在作为例子,不作为本发明的体系结构限制。
参照图2,显示了根据本发明优选实施例的数据处理系统的方框图,该数据处理系统可实现为服务器,如图1中的服务器104。数据处理系统200可以是对称多处理器(SMP)系统,包括有多个连接于系统总线206的处理器202和204。可选择地,也可以使用单处理器系统。同样连接到系统总线206的是存储器控制器/高速缓存208,其向本地存储器209提供接口。I/O总线桥210连接于系统总线206,并向I/O总线212提供接口。存储器控制器/高速缓存208和I/O总线桥210可被集成在一起,如所显示的那样。
外围部件互连(PCI)总线桥214连接于I/O总线212,向PCI局部总线216提供接口。多个调制解调器可被连接到PCI局部总线216。典型的PCI总线实现将支持四个PCI扩展槽或者外接连接器。图1中到网络计算机108、110和112的通信链路可通过调制解调器218和网络适配器220来提供,其中调制解调器218和网络适配器220通过外接板连接到PCI局部总线216。
附加PCI总线桥222和224为附加PCI局部总线226和228提供接口,附加的调制解调器或网络适配器可以从附加PCI局部总线226和228得到支持。以这种方式,数据处理系统200允许到多个网络计算机的连接。存储器映射的图形适配器230和硬盘232也可直接或间接地连接到I/O总线212,如所显示的那样。
本领域普通技术人员将理解图2显示的硬件可以变换。例如,其他的外围设备,如光盘驱动器等也可以附加于或者替代所显示的硬件。所显示的例子不意味着是对本发明的体系结构限制。
图2显示的数据处理系统可以是,例如IBM e-Server pSeries系统,其是位于纽约Armonk的IBM的产品,运行Advanced InteractiveExecutive(ATX)操作系统或Linux操作系统。
现参照图3,其示出了说明本发明可在其中实现的数据处理系统的方框图。数据处理系统300是客户端计算机的一个例子。数据处理系统300使用外围部件互连(PCI)局部总线体系结构。尽管所显示的例子使用了PCI总线,但其他总线结构,如加速图形端口(AGP)和工业标准体系结构(ISA)也可以使用。处理器302和主存储器304通过PCI桥308与PCI局部总线306连接。PCI桥308也可包括集成的存储器控制器和用于处理器302的高速缓存。到PCI局部总线306的附加连接可以通过直接部件互连或通过外接板来实现。在所显示的例子中,局域网(LAN)适配器310、SCSI主机总线适配器312和扩展总线接口314通过直接部件连接被连接到PCI局部总线306。相反地,音频适配器316、图形适配器318和音频/视频适配器319通过插入到扩展槽中的外接板与PCI局部总线306连接。扩展总线接口314为键盘和鼠标适配器320、调制解调器322和附加存储器324提供连接。小型计算机系统接口(SCSI)主机总线适配器312为硬盘驱动器326、磁带驱动器328和CD-ROM驱动器330提供连接。典型的PCI局部总线实现将支持3或4个PCI扩展槽或外接连接器。
一个操作系统运行于处理器302上并用于协调和提供图3中数据处理系统中的各部件的控制。该操作系统可以是可购买到的操作系统,如可从微软公司获得的Windows 2000。面向对象的编程系统,如Java,可与操作系统一起运行并提供来自在数据处理系统300上执行的Java程序或应用的对操作系统的调用。“Java”是Sun Microsystems公司的商标。操作系统、面向对象的操作系统及应用或程序的指令位于存储设备如硬盘驱动器326上,并可被加载到主存储器304中以供处理器302执行。
本领域普通技术人员将理解,图3中的硬件可依照具体实现而变换。其他的内部硬件或外围设备,如快闪ROM(或等效的非易失性存储器)或光盘驱动器等,可用于附加于或者取代图3中所示的硬件。并且,本发明的过程可被用到多处理器数据处理系统。
作为另一个例子,数据处理系统300可以是单机系统,其被配置成无需依赖于某种类型的网络通信接口便可引导,不论数据处理系统300是否包含有某种类型的网络通信接口。作为进一步的例子,数据处理系统300可以是个人数字助理(PDA)设备,其配有ROM和/或快闪ROM以提供用于存储操作系统文件和/或用户生成的数据的非易失性存储器。
图3中所显示的例子和上述的例子不意味着体系结构限制。例如,数据处理系统300除采用PDA形式之外也可是笔记本计算机或手持计算机。数据处理系统300也可是信息亭或Web设备(Web appliance)。
本发明提供了一种响应工作负荷对计算机系统进行动态再分区的装置和方法。本发明可以对图1的客户机系统108、110和112是本地的或者对服务器104是本地的或者对服务器104和客户机108、110和112都是本地的。因此,本发明可驻留在计算机系统使用的任何数据存储介质(如软盘、压缩光盘、硬盘、ROM、RAM等)上。
图4说明了计算机系统的多个分区。分区1 410有两(2)个处理器、两(2)个I/O插槽并使用一百分比的存储装置。分区2 420使用一(1)个处理器、五(5)个I/O插槽并且还使用较小百分比的存储装置。分区3 430使用四(4)个处理器、五(5)个I/O插槽并且使用较大百分比的存储装置。计算机系统的区域440和450没有被指派给分区且未被使用。注意,在图4中只示出了支持一个操作系统所需的资源的子集。
如图所示,当计算机系统被分区时,它的资源被在这些分区中划分。未指派到分区的资源没有被使用。更具体地,一个资源可以或属于单个分区或根本不属于任何一个分区。如果资源属于某分区,那么它被该分区知道并且仅被该分区访问。如果资源不属于任何分区,它既不被任何分区知道也不被任何分区访问。注意,一个CPU可以被两个或更多个分区共享。在这种情况下,该CPU将花费相等数量的时间对来自不同分区的数据进行处理。
计算机系统确保被指派给一个分区的资源不被另一分区所使用,这是通过被分区管理软件管理的映射表来实现的。图5示出了这样的映射表。图5中,CPU1和CPU2、存储单元1至存储单元50(即M1-M50)和输入/输出I/O插槽4和I/O插槽5被映射到分区1500。同样地,CPU3、M51-M75和I/O插槽6至I/O插槽10被映射到分区2502,及CPU4至CPU7、M76-M150和I/O插槽11至I/O插槽15被映射到分区3504。如前面提到的,最后的CPU(图4的CPU8)、一些存储单元和I/O插槽1至I/O插槽3、I/O插槽16至I/O插槽20没有被指派给任何分区(见图4),因此没有出现在该表中。然而,分区管理软件知道它们存在但目前没有被指派到任何分区。
注意,图4和图5被用作示例并且不应当被视作是限制性的。事实上,一些现存的计算机系统能够支持达十六(16)个分区,每个分区包含至少一个CPU、一千兆字节的存储区和一个I/O插槽。
如前面提到的,分区管理软件可以运行在一个单独的支持处理器上。使用该软件,系统管理员通过指定将专用于每个分区的CPU数量、存储区数量和特定的I/O插槽来定义这些分区。在动态分区过程中,管理员能从某一分区增加和移除处理器、存储区和/或I/O插槽而无需中断在该分区上运行的软件。系统管理员也可启动或停止运行于任何分区上的OS。所有这些可通过使用图形用户接口(GUI)或资源管理软件命令语言来实现。但不管在哪种情况下,这都是人工过程。
目前,运行于分区上的OS没有向资源管理软件发送任何关于该分区正使用着的资源的信息。管理员可打开一终端并通过各种OS命令接收关于被一个分区使用的资源的使用信息。例如,管理员可能想要查明正处理一个大的批作业的分区是否正使用最大百分比(如95%)的所分配CPU资源。如果是,管理员可返回资源管理软件界面以指派额外的CPU到该分区。如果该批作业运行不频繁(如一月一次),那么一旦该大的批作业完成管理员就将所述额外的CPU返回给它们所取自的分区。
本发明监视运行于分区中的资源管理软件以确定资源是否正以接近或超过资源管理软件的表中指定的最大值的值被使用。如果检测到持续超过一个时间段阈值的资源过负荷,则资源管理软件可定位或者没被分配的或者分配了但未被使用的资源,并自动将它们指派或重新指派给过负荷分区。
例如,假设当资源管理软件在监视分区的资源利用时确定了正运行着CPU密集的大的批作业的分区2,已经在过长的时间量(即由系统管理员设置的时间量阈值)内使用了95%的CPU3的处理能力(95%等于或超出也由系统管理员设置的CPU上的工作负荷量的阈值),则资源管理软件可分配未使用的CPU(如图4中的CPU8)给分区2。因此,图5将被修改为如图6所示。
通过循环于系统内的所有分区上,资源管理软件可监视这些分区。为监视某一分区,资源管理软件可打开进入该分区的虚拟终端会话,并重复执行命令以返回该分区中的每一资源的使用状态。如果注意到超额的资源需求持续了预定的时间量,则资源管理软件可从另一分区重新分配类似的未充分利用的资源,或者如果可获得类似的未指派资源,则将该资源分配给该分区。
可选地或附加于上述本发明的实施例,资源管理软件可向工作负荷管理软件(即WLM)发出命令以改变目标、最小或最大资源值。例如,如果被指派到某一分区的CPU数量加倍,则被许可用于一类进程的CPU使用的最大百分比可被降低。换言之,这类进程可使用较大的资源池的较小片段。
进一步地,通过基于时间的和基于日期的配置文件,预料资源需求的高峰期是可能的。在这种情况下,资源管理软件可在高峰期之前重新部署资源,且然后在高峰期结束之后或者该些资源上的工作负荷达到了最小阈值或者预定的时间段过去之后,将资源重新指派回到它们原始的分区。在上述每月执行的批作业的例子中,基于日期的和基于时间的配置文件可指定刚好在每个月该批作业将要运行之前,运行该作业的分区才将接收额外的CPU、存储区和/或I/O插槽。该配置文件也可指定在该批作业终止运行后,将增加的资源返回给它们原始的分区。
图7是可被用作动态指派或重新指派资源给过负荷分区的过程。当计算机系统被开启或者当管理员运行该过程(步骤700)时,过程开始。该过程运行时,它不断监视被指派给分区的所有资源的工作状态。当它注意到对某一资源的需求超出了系统管理员设置的阈值时,它检查看在计算机系统中是否存在类似的未被指派给任何一个分区的资源。如果存在,它将该类似资源指派给具有过负荷资源的分区。当作业完成或当对该过负荷资源的需求下降到最小阈值时,它从该分区释放该资源(步骤702、704、706、708和710)。
如果不存在目前没有指派给任何分区的类似资源,则执行检查以确定是否存在被指派给一分区的、或空闲的或在一最小阈值下运行的类似资源。如果存在空闲的资源或在最小阈值下运行的资源,则该资源被重新指派给具有过负荷类似资源的分区。然而,在重新指派该资源之前,执行检查以确定该类似资源将从中被借出的该分区中有不只一个这样的类似资源。如果没有,则该资源将不被重新分配。如果资源被重新分配到具有过负荷资源的分区,则一旦作业终止或在预定的时间段过去之后,该资源将从该分区被释放并被重新指派给原始分区(步骤712、708、710、714、716和718)。
本发明的说明已基于说明和解释的目的被呈现,且并不意味着是穷举的和以所公开的形式限制本发明。许多修改和变换对本领域普通技术人员来说是明显的。被选出和描述的实施例是为了更好地解释本发明的原理、其实际应用,并使本领域的其他普通技术人员理解本发明可具有适合于所构想的特定使用的各种修改的各种实施例。
权利要求
1.一种响应工作负荷对分区的计算机系统动态再分区的方法,该分区的计算机系统的每个分区具有多个资源,该方法包括以下步骤确定分区中资源上的工作负荷是否超出了最大阈值;及若确定了该工作负荷超出了最大阈值,则自动向该分区分配一类似资源。
2.权利要求1的方法,其中所述类似资源是没有被分配给任何分区的资源。
3.权利要求2的方法,其中所述类似资源在所述工作负荷已降到最小阈值之后从该分区上被释放。
4.权利要求1的方法,其中所述类似资源是被分配给另一个分区的、具有在一个特定阈值内的工作负荷的多个类似资源之一。
5.权利要求4的方法,其中所述类似资源在工作负荷已降到最小阈值之后从该分区被释放并被重新指派给该另一个分区。
6.一种响应工作负荷对分区的计算机系统动态再分区的方法,该分区的计算机系统的每个分区具有多个资源,该方法包括以下步骤为每个分区创建一个工作负荷配置文件,该配置文件具有工作负荷和工作负荷时间安排表;及若在原始指派给一分区的资源上的工作负荷将要超出最大阈值,则在该工作负荷发生之前,自动向该分区分配额外的资源。
7.权利要求6的方法,其中所述资源之一是处理器。
8.权利要求7的方法,其中所述资源的另一个是存储空间。
9.权利要求8的方法,其中所述资源的又一个是I/O插槽。
10.权利要求9的方法,其中所述额外的资源未被指派给任何分区。
11.权利要求10的方法,其中所述额外资源在所述工作负荷已降到最小阈值之后被从该分区释放。
12.权利要求9的方法,其中所述额外资源是被分配给一个或多个其他分区的、具有未超出特定阈值的被安排工作负荷的多个类似资源的一部分。
13.权利要求12的方法,其中所述额外资源在该工作负荷已降到最小阈值之后从该分区上被释放并重新分配给所述一个或多个分区。
14.一种用于响应工作负荷对分区的计算机系统动态再分区的、计算机可读介质上的计算机程序产品,该分区的计算机系统的每个分区具有多个资源,该计算机程序产品包括用于确定分区中资源上的工作负荷是否超出了最大阈值的代码手段;及若确定了该工作负荷超出了最大阈值,则自动向该分区分配一类似资源的代码手段。
15.一种用于响应工作负荷对分区的计算机系统动态再分区的、计算机可读介质上的计算机程序产品,该分区的计算机系统的每个分区具有多个资源,该计算机程序产品包括为每个分区创建一个工作负荷配置文件的代码手段,该配置文件具有工作负荷和工作负荷时间安排表;及若在原始指派给一分区的资源上的工作负荷将要超出最大阈值,则在该工作负荷发生之前,自动向该分区分配额外的资源的代码手段。
16.一种用于响应工作负荷对分区的计算机系统动态再分区的装置,该分区的计算机系统的每个分区具有多个资源,该装置包括确定分区中资源上的工作负荷是否超出了最大阈值的装置;及若确定了该工作负荷超出了最大阈值,则自动向该分区分配一类似资源的装置。
17.一种用于响应工作负荷对分区的计算机系统动态再分区的装置,该分区的计算机系统的每个分区具有多个资源,该装置包括为每个分区创建一个工作负荷配置文件的装置,该配置文件具有工作负荷和工作负荷时间安排表;及若在原始指派给一分区的资源上的工作负荷将要超出最大阈值,则在该工作负荷发生之前,自动向该分区分配额外的资源的装置。
18.一种被分区的且具有用于响应工作负荷动态再分区其自身的代码数据的计算机系统,该分区的计算机系统的每个分区具有多个资源,该计算机系统包括至少一个用于存储所述代码数据的存储装置;及至少一个用于处理所述代码数据以确定分区中资源上的工作负荷是否超出了最大阈值,且若确定了该工作负荷超出了最大阈值,则自动向该分区分配一类似资源的处理器。
19.一种被分区为多个分区的且具有用于响应工作负荷动态再分区其自身的代码数据的计算机系统,该分区的计算机系统的每个分区具有多个资源,该计算机系统包括至少一个用于存储所述代码数据的存储装置;及至少一个用于处理所述代码数据以为每个分区创建一个工作负荷配置文件,该配置文件具有工作负荷和工作负荷时间安排表,及若在原始指派给一分区的资源上的工作负荷将要超出最大阈值,则在该工作负荷发生之前,自动向该分区分配额外的资源的处理器。
全文摘要
本发明提供了一种响应工作负荷需求对分区的计算机系统动态再分区的方法、系统和装置。在一个实施例中,一监视软件用于监视所有分区中所有资源上的工作负荷。如果某一分区中某一资源上的工作负荷被确定超出了最大阈值,则一类似资源将被分配给该分区。该类似资源优选是未指派或未分配的资源。然而,来自其它分区的资源也可能被使用。在另一实施例中,工作负荷时间安排表被存储在工作负荷配置文件中。若一分区的任何资源中的安排的工作负荷将要超出最大阈值,则在该安排的工作负荷之前,额外的类似资源将被分配给该分区。
文档编号G06F9/50GK1636191SQ03804285
公开日2005年7月6日 申请日期2003年2月5日 优先权日2002年2月21日
发明者J·A·奥尔福德 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1