CN101004695A - 动态改善逻辑分区的存储器亲和性的装置和方法 - Google Patents
动态改善逻辑分区的存储器亲和性的装置和方法 Download PDFInfo
- Publication number
- CN101004695A CN101004695A CNA2007100015967A CN200710001596A CN101004695A CN 101004695 A CN101004695 A CN 101004695A CN A2007100015967 A CNA2007100015967 A CN A2007100015967A CN 200710001596 A CN200710001596 A CN 200710001596A CN 101004695 A CN101004695 A CN 101004695A
- Authority
- CN
- China
- Prior art keywords
- logical partition
- memory affinity
- node
- partition
- resources
- 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.)
- Granted
Links
- 238000005192 partition Methods 0.000 title claims abstract description 197
- 238000000034 method Methods 0.000 title claims description 30
- 230000007246 mechanism Effects 0.000 claims description 16
- 230000008859 change Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5033—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
在包括多个节点和多个逻辑分区的计算机系统中,动态分区管理器应逻辑分区的请求计算当前存储器亲和性和可能的存储器亲和性,以便帮助逻辑分区判定节点之间的资源再分配是否可改善逻辑分区的存储器亲和性。如果可以,逻辑分区请求由动态分区管理器进行资源再分配,从而改善逻辑分区的存储器亲和性。
Description
技术领域
本发明一般涉及计算机系统,并具体涉及包含多个节点上的多个逻辑分区的计算机系统。
背景技术
特定计算机系统上硬件和软件的组合定义了一计算环境。不同的硬件平台和不同的操作系统因此提供了不同的计算环境。近些年来,工程师们认识到,通过将计算机系统资源逻辑分区为不同的计算机环境,可在同一物理计算机系统上提供不同的计算环境。IBM开发的iSeries计算机系统是支持逻辑分区的计算机系统的一个例子。如果希望在iSeries计算机系统上进行逻辑分区,则安装分区管理器代码(在IBM术语中称为“管理程序”),其允许在同一平台上定义不同的计算环境。一旦安装了分区管理器,可创建定义不同计算环境的逻辑分区。分区管理器管理逻辑分区,以保证它们可共享计算机系统中的所需要的资源,而同时维持由逻辑分区定义的分立的计算环境。
逻辑分区领域中较新的发展支持在逻辑分区运行时动态分配资源,并支持在计算机系统中跨多节点定义逻辑分区。在逻辑分区运行时动态分配资源的能力产生了与逻辑分区中的存储器亲和性(memory affinity)有关的问题。逻辑分区的存储器亲和性在这里被定义为每节点逻辑分区的存储器与每节点逻辑分区的处理器的比率。当逻辑分区可能跨节点时,存储器亲和性具有重要意义,这是因为节点中的逻辑分区中的处理器对同一节点上的存储器的访问远远快于对不同节点上的存储器的访问。出于这个原因,我们想要确保节点上的各处理器具有对应的存储器。如果这一点是可能的,则可获得理想的存储器亲和性。
当逻辑分区被最初启动时,分区管理器典型地创建具有理想存储器亲和性的逻辑分区,这意味着在每个节点上每个处理器具有对应量的存储器,或者,如果不能获得理想的存储器亲和性,对所有逻辑分区具有类似的存储器亲和性。但是,应注意,资源的动态再分配可对一个或多个逻辑分区的存储器亲和性产生负面影响。随着时间的推移,逻辑分区的存储器亲和性可能下降到对逻辑分区性能具有显著负面影响的点。在没有对资源分配进行动态调节以便改善逻辑分区中的存储器亲和性的方法的情况下,由于资源动态分配引起的存储器亲和性下降可能导致逻辑分区不具有所希望的性能。
发明内容
根据优选实施例,在包括多节点和多逻辑分区的计算机系统中,动态分区管理器应逻辑分区的请求计算当前的存储器亲和性和可能的存储器亲和性,以便帮助逻辑分区判断节点间的资源再分配是否可改善逻辑分区的存储器亲和性。如果可以,逻辑分区请求由动态分区管理器进行资源再分配,以便改善逻辑分区的存储器亲和性。
通过阅读下面对附图所示本发明优选实施例更为具体的描述,可明了本发明的上述以及其他特征和优点。
附图说明
下面将结合附图介绍本发明的优选实施例,其中,相同的标号表示相同的元素,并且:
图1为根据优选实施例的装置的框图;
图2为逻辑分区之前的示例计算机系统的框图;
图3为示出了图2所示资源到四个不同的逻辑分区的示例分配的表;
图4为示出了在图3所示逻辑分区之后图2中的计算机系统的一个合适的示例配置的框图;
图5为示出了资源再分配之后的图4中的计算机系统的框图,所述资源再分配导致两个逻辑分区的、不够理想的存储器亲和性;
图6示出了基于图5所示配置计算LP1的当前存储器亲和性分数的公式;
图7示出了基于图5所示配置计算LP4的当前存储器亲和性分数的公式;
图8示出了LP3被移除后的、图5中的计算机系统;
图9示出了在改善LP1与LP4的存储器亲和性的尝试中、所建议的在图8所示计算机系统中的资源再分配;
图10示出了基于图9所示所建议的资源再分配计算LP1的可能的存储器亲和性分数的公式;
图11示出了基于图9所示所建议的资源再分配计算LP4的可能的存储器亲和性分数的公式;
图12为根据优选实施例的第一方法的流程图;以及
图13为根据优选实施例的第二方法的流程图。
具体实施方式
优选实施例对逻辑分区评估当前存储器亲和性,基于建议的资源再分配评估可能的存储器亲和性,并且如果对于该逻辑分区可能的存储器亲和性大于当前的存储器亲和性,则自动开始所建议的资源再分配。通过动态跟踪其存储器亲和性并进行调节,优选实施例避免了可能由于多逻辑分区中资源动态再分配引起的存储器亲和性的显著下降。
参照图1,计算机系统100为根据本发明优选实施例的装置的一种适当的实施方式。计算机系统100为IBM eServer iSeries计算机系统。然而,本领域技术人员将会明了,本发明的机制和装置同样适用于能够被逻辑分区的任何计算机系统,无论该计算机系统是复杂的多用户计算装置、单用户工作站还是嵌入式控制系统。如图1所示,计算机系统100包含一个或多个处理器110、主存储器120、大容量存储接口130、显示器接口140以及网络接口150。这些系统部件通过系统总线160的使用被互连。大容量存储接口130用于将大容量存储设备例如直接存取存储设备155连接到计算机系统100。一种特定类型的直接存取存储设备155是可读可写CD-RW驱动器,其可向CD-RW195存储以及从CD-RW195读取数据。
根据优选实施例的主存储器120包含数据121、动态分区管理器122以及在图1中示为124A、......、124N的多个逻辑分区124。数据121代表作为输入到计算机系统100的任何程序或从计算机系统100的任何程序输出的任何数据。动态分区管理器122是一种复杂的程序,其包含管理计算机系统100的资源的低级代码。这些资源中的一些为处理器110、主存储器120、大容量存储接口130、显示器接口140、网络接口150以及系统总线160。动态分区管理器122包括存储器亲和性计算机制123,该机制允许动态分区管理器122基于当前资源分配计算当前的存储器亲和性,以及基于建议的资源再分配计算可能的存储器亲和性。动态分区管理器122优选地创建N个逻辑分区124。每个逻辑分区124优选为包含相应的操作系统与相应的存储器亲和性代理,操作系统在图1中被示为操作系统125A至125N,存储器亲和性代理在图1中被示为存储器亲和性代理126A至126N。
每一逻辑分区中的操作系统是多任务操作系统,例如为i5/OS、AIX或Linux,但本领域技术人员将会明了,本发明的精神和范围不限制于任何一个操作系统。可使用任何合适的操作系统。每一逻辑分区中的操作系统可以与其他逻辑分区中的操作系统相同,或者可以为全然不同的操作系统。因此,一个逻辑分区可运行i5/OS操作系统,而而不同的逻辑分区可运行i5/OS的另一实例,该另一实例可能为不同的版本或者具有不同的环境设置(例如时区或语言)。每一逻辑分区中的操作系统甚至可以与i5/OS不同,只要其与硬件兼容(例如AIX或Linux)。以这种方式,逻辑分区可在同一物理计算机系统上提供完全不同的计算环境。
图1所示的逻辑分区125A-125N位于主存储器120中。然而,本领域技术人员将会想到,逻辑分区是包括存储器以外的资源的逻辑构造。逻辑分区典型地指定了存储器的一部分,以及处理器能力和其他系统资源的分配。因此,一个逻辑分区可被定义为包括两个处理器和存储器120的一部分。然后,另一个逻辑分区可被定义为包括三个其他的处理器和存储器120的一不同部分。图1所示的逻辑分区象征性地表示逻辑分区,其可包括位于计算机系统100中的存储器120以外的系统资源。还要注意的是,动态分区管理器122优选地位于与逻辑分区分立的存储器和硬件中,并包含对于逻辑分区不是直接可用的设施和机制。
每一逻辑分区包含对应的存储器亲和性代理,在图1中示为存储器亲和性代理126A、......、126N。每一逻辑分区中的存储器亲和性代理可请求动态分区管理器122使用其存储器亲和性计算机制123基于当前资源分配判定当前存储器亲和性,并基于建议的资源再分配判定可能的存储器亲和性。如果可能的存储器亲和性大于当前的存储器亲和性,逻辑分区可请求动态分区管理器122提供所建议的资源再分配。通过这种方式,逻辑分区可动态监视其存储器亲和性,并可对资源分配动态地进行调节,以便改善其存储器亲和性。
计算机系统100利用公知的虚拟寻址机制,该机制使得计算机系统100的程序能够表现为好像它们仅可访问单个大的存储实体而不是访问多个较小的存储实体,例如主存储器120以及DASD设备155等。因此,尽管数据121、动态分区管理器122以及逻辑分区124A、......、124N被示为位于主存储器120中,本领域技术人员可以明了,这些项目不必同时全部完全包含在主存储器120中。应当注意的是,这里所用的术语“存储器”一般地指计算机系统100的整个虚拟存储器,并可包含连接到计算机系统100的其他计算机系统的虚拟存储器。
处理器110可由一个或多个微处理器和/或集成电路构建。处理器110执行存储在主存储器120中的程序指令。主存储器120存储处理器110可访问的程序和数据。当计算机系统100启动时,处理器110起初执行构成动态分区管理器122的程序指令。
尽管计算机系统100被示为仅包含单个处理器和单个系统总线,本领域技术人员将会明了,本发明可使用具有多处理器和/或多总线的计算机系统实现。另外,在优选实施例中使用的接口各自包含分立的、充分编程的微处理器,其用于从处理器110卸载计算密集的处理。然而,本领域技术人员将会明了,本发明同样适用于简单地使用I/O适配器执行类似功能的计算机系统。
显示器接口140用于将一个或多个显示器165直接连接到计算机系统100。这些显示器165-其可能是非智能(即哑的)终端或可充分编程的工作站-用于允许系统管理员和用户与计算机系统100通信。然而,注意,尽管提供了显示器接口140以支持与一个或多个显示器165的通信,计算机系统100不是一定需要显示器165,因为与用户以及其他过程的所有需要的交互可通过网络接口150发生。
网络接口150用于将其他计算机系统和/或工作站(例如图1中的175)通过网络170连接到计算机系统100。无论计算机系统100可被如何连接到其他计算机系统和/或工作站,无论网络连接170是使用现今的模拟和/或数字技术还是通过未来的某种网络机制完成,本发明同样适用。另外,许多不同的网络协议可用于实现网络。这些协议是允许计算机通过网络170通信的专用计算机程序。TCP/IP(传输控制协议/网际协议)是合适的网络协议的一个例子。
在这一点上,值得注意的是,尽管已经并将继续在全功能的计算机系统的情境中介绍本发明,本领域技术人员将会明了,本发明能够作为多种形式的程序产品被分发,且无论用于实际进行这种分发的、计算机可读信号承载介质的具体类型,本发明同样适用。合适的计算机可读信号承载介质的示例包括:可记录类型的介质,例如软盘和CD RW(例如图1中的195);以及传输类型的介质,例如数字和模拟通信链路。注意,优选的信号承载介质是有形的。
参照图2,示出了示例计算机系统200,其包括四个节点200A、200B、200C与200D。每一节点包括四个处理器和四吉字节的存储器。因此,节点200A包括四个处理器210A和4GB的存储器220;节点200B包括四个处理器210B和4GB的存储器220B;节点200C包括四个处理器210C和4GB的存储器220C;以及节点200D包括四个处理器210D和4GB的存储器220D。
现在假设图2所示的硬件需要根据图3中的表300分配给逻辑分区。逻辑分区1(LP1)被定义为包括八个处理器和8GB存储器;LP2被定义为包括四个处理器和4GB存储器;LP3被定义为包括两个处理器和2GB存储器;以及LP4被定义为包括两个处理器和2GB存储器。
假设图2中的一个节点包括图1所示的动态分区管理器122,该管理器在计算机系统200起初被加电时初始化逻辑分区。假设出于本示例的目的,节点之一中的动态分区管理器如图4中的计算机系统400所示的那样配置逻辑分区。注意,每个节点中的四个处理器被分配给逻辑分区中的一个,且每个节点中的4GB的存储器也被划分和分配给逻辑分区。注意,存储器被典型地按块-这里被称为逻辑存储块-分配给逻辑分区。现有技术中的分区管理器允许系统管理员指定各逻辑存储块的大小。对于本示例,假设256MB的逻辑存储块大小,这意味着四个逻辑存储块等于1吉字节的存储器。出于图中方便的目的。图4所示的大存储块为一吉字节的块,这意味着图4中的每一存储块包括四个逻辑存储块。
再次参照图4,节点200A上的四个处理器中的三个,即处理器412A、414A与416A被分配给LP1。以类似的方式,存储块422A、424A与426A被分配给LP1。第四处理器418A被分配给LP2,第四存储块428A也是如此。在节点200B上,两个处理器即处理器412B和414B,被分配给LP1;一个处理器416B被分配给LP2;以及一个处理器418B被分配给LP3。以类似的方式,存储块422B和424B被分配给LP1;存储块426B被分配给LP2;以及存储块428B被分配给LP3。
在节点200C上,一个处理器412C被分配给LP1;两个处理器414C和416C被分配给LP2;以及一个处理器418C被分配给LP3。以类似的方式,存储块422C被分配给LP1;存储块424C和426C被分配给LP2;以及存储块428C被分配给LP3。在节点200D上,两个处理器412D与414D被分配给LP1;以及两个处理器416D和418D被分配给LP4。以类似的方式,存储块422D和424D被分配给LP1;以及存储块426D和428D被分配给LP4。
由于逻辑分区的存储器亲和性是每节点该逻辑分区的存储器与每节点该逻辑分区的处理器的比率,从图4所示的分配可以看出,各个逻辑分区具有理想(即100%)的存储器亲和性,因为对于任何逻辑分区在每个节点上的每个处理器,在同一节点上有对应的1GB存储块。注意,图4所示计算机系统400的配置被假设为是处理器和存储器分配在特定时间点上例如刚好在初始程序加载(IPL)之后的状态。
由于计算机系统400在一个节点上包含如图1所示的动态分区管理器122,计算机系统400中存储器和处理器的分配可能随时间变化,由此对一个或多个逻辑分区的存储器亲和性产生负面影响。对于图5所示计算机系统500的配置,情况正是如此,该图示出了:节点200C中的处理器412C被再分配给LP4而不是LP1,如412C周围的粗线方框所示。图5中的其他处理器或存储器分配不改变,且与图4所示相同。结果,在LP1与LP4中的处理器与存储器之间存在不匹配,从而由于图5所示的再分配,导致LP1与LP4中的存储器亲和性的降低。
动态分区管理器122包括存储器亲和性计算机制123,该机制使用下面的公式为逻辑分区计算存储器亲和性:
其中,n=所选逻辑分区使用的节点数量
PMn=在该节点上所选逻辑分区的存储器的百分比
PCn=在该节点上所选逻辑分区的处理器的百分比
PRn=在该节点上所选逻辑分区的总资源的百分比,其等于(PMn+PCn)/2。
该公式用于返回0与100之间的数,该数表示一逻辑分区的存储器亲和性的百分比或分数。现在使用该公式,如图6所示计算LP1的存储器亲和性分数。注意,如果节点没有分配给所关注逻辑分区的处理器,或者如果节点具有分配给所关注逻辑分区的一个或多个处理器但没有存储器被分配给所关注逻辑分区,则该节点的亲和性分数被定义为零。因此,由于节点2(200C)上没有处理器被分配给LP1,对于LP1的节点2亲和性分数为零,如图6所示。存储器亲和性是各节点计算的总合,从而基于图5所示的分配对于LP1产生总体存储器亲和性分数91.38。现在如图7所示使用相同的公式为LP4计算存储器亲和性分数,从而对于LP4产生总体存储器亲和性分数55.61。尽管对于LP1与LP4的存储器亲和性分数小于100,这些逻辑分区不能使用任何措施来增加它们的存储器亲和性,因为所有的处理器与存储块已被分配。因此,直到可被分配给LP1或LP4的资源变得可用,不能做任何改变。
现在假设LP3被移除,这导致用于LP3的处理器和存储器被释放出来并可用于分配给三个仍然存在的逻辑分区中的一个。在图8所示计算机系统800中,通过将节点200B中的处理器418B与存储器428B标为“U”-其表示“未分配的”,以及将节点200C中的处理器418C与428C标为“U”,将这一点示出。既然存在可用的资源,逻辑分区可以判定将资源中的一个或多个分配给逻辑分区是否将增加该逻辑分区的存储器亲和性。
此时,LP1可认识到,它可以通过用节点1(200B)上未分配的存储块418B替换节点2(200C)上分配给LP1的存储块422C来改善其存储器亲和性。LP4也可通过将它的某些存储器从节点3(200D)上的存储块428D交换为节点2(200C)上的某未分配存储块428C来改善其存储器亲和性。因此,图9中的计算机系统900中示出了一个可能的、建议的资源再分配。注意,该建议的再分配仅向LP4分配了1GB块428C中的一半,而另一半未被分配。对于节点200D是类似的,其中,1GB块428D中的一半被分配给LP4,而另一半未被分配。这种分割分配是可行的,因为图9所示每一1GB存储块由四个256 MB逻辑存储块组成。这允许1GB块428C中的四个逻辑存储块中的两个被分配给LP4,而1GB块428C中剩余的两个逻辑存储块未被分配。对于节点200D中的块428D是类似的。使用上面相同的公式,现在可对所建议的资源再分配计算LP1与LP4的存储器亲和性分数,以观察资源再分配是否改善了存储器亲和性。
在图10中示出对于图9所示建议的资源再分配的、LP1的存储器亲和性分数,从而对于LP1产生总体存储器亲和性分数94.96。在图11中示出对于图9所示建议的资源再分配的、LP4的存储器亲和性分数,从而对于LP4产生总体存储器亲和性分数89.42。可以看到,图10中对于图9中所建议的资源再分配的用于LP1的94.96,高于图6所示对于当前资源分配的91.38,因此LP1可请求动态分区管理器为LP1执行图9所示的资源再分配。类似地,可以看到,图11中对于图9所建议的资源再分配的用于LP4的89.42,高于图7所示对于当前资源分配的55.61,因此LP2可请求动态分区管理器为LP4执行图9所示的资源再分配。
参照图12,根据优选实施例的第一方法1200示出了用于动态再分配资源以改善逻辑分区中的存储器亲和性的步骤。通过对选定逻辑分区判定当前存储器亲和性分数(步骤1210),方法1200开始。如果没有可用于改善所选逻辑分区的存储器亲和性的资源(步骤1220=否),方法1200结束。如果有可改善所选逻辑分区的存储器亲和性的一个或多个资源(步骤1220=是),判定对于所选逻辑分区的可能存储器亲和性分数(步骤1230)。于是,在步骤1240中将步骤1210中判定的当前存储器亲和性分数与步骤1230中判定的可能存储器亲和性分数进行比较。如果对于所选逻辑分区的可能存储器亲和性分数不大于当前存储器亲和性分数(步骤1240=否),方法1200结束。如果对于所选逻辑分区的可能存储器亲和性分数大于当前存储器亲和性分数(步骤1240=是),对所选逻辑分区中的资源进行动态调节,以便为所选逻辑分区获得改善的存储器亲和性(步骤1250)。注意,步骤1250中资源的调节可包括从所选逻辑分区中合适地移除一个或多个资源或者添加一个或多个资源。
参照图13,根据优选实施例的第二方法1300显示了在更为具体的示例中执行的步骤,其中,每一逻辑分区包括存储器亲和性代理(例如图1中的126A),该存储器亲和性代理请求由存储器亲和性计算机制123进行的存储器亲和性分数计算。对于此示例,假设逻辑分区中的存储器亲和性代理时常地比如说每5分钟唤醒一次,以检查其存储器亲和性是否能被改善。因此,当所选逻辑分区中的存储器亲和性代理唤醒时(步骤1310),图13中的方法1300开始。逻辑分区(在图13中被称为LP)的存储器亲和性代理(在图13中被称为MA代理)查询动态分区管理器,以便为所选逻辑分区计算当前存储器亲和性分数(步骤1320)。如果没有可用于改善所选逻辑分区的存储器亲和性的资源(步骤1330=否),方法1300结束。如果有可改善所选逻辑分区的存储器亲和性的一个或多个资源(步骤1330=是),所选逻辑分区判定在改善逻辑分区的存储器亲和性的尝试中建议的资源再分配(步骤1340)。所选逻辑分区中的存储器亲和性代理查询动态分区管理器,以得到基于步骤1340中判定的所建议的再分配的可能的存储器亲和性分数(步骤1350)。如果可能的存储器亲和性分数不大于当前存储器亲和性分数(步骤1360=否),方法1300结束。如果可能的存储器亲和性分数大于当前存储器亲和性分数(步骤1360=是),逻辑分区于是请求动态分区管理器执行所建议的资源再分配(步骤1370)。注意,这里所用的术语“资源再分配”广义地用于指对所选逻辑分区的资源分配的任何改变。例如,假设在初始程序加载后未分配的存储块可用,且所选逻辑分区发现它可以通过使未分配的存储块分配给它自己来改善其存储器亲和性。在所选逻辑分区的总资源改变的意义上,将该未分配的存储块分配给所选逻辑分区是“再分配”,而不是因为被分配给该逻辑分区的存储块先前被分配给了不同的逻辑分区。
注意,上面讨论的优选实施例假设逻辑分区最终具有对资源再分配的控制。这是一个重要特征,因为它给予各个逻辑分区判定是否以及何时请求资源再分配以改善存储器亲和性的能力。在另一实施例中,动态分区管理器可监视所有逻辑分区的存储器亲和性,确定建议的资源再分配,并判定所建议的资源再分配是否在一个或多个逻辑分区中产生存储器亲和性的净增加。这种方法还允许动态分区管理器进行权衡。例如,动态分区管理器可判定所建议的资源再分配对一个逻辑分区的存储器亲和性增大30,而对一不同的逻辑分区的存储器亲和性减小3。于是,动态分区管理器可确定执行这种建议的再分配,尽管其由于在另一逻辑分区的存储器亲和性上的巨大增益而产生存储器亲和性的轻微降低。注意,分区管理器还可对逻辑分区进行分级,且如果存储器亲和性将减小3的逻辑分区与存储器亲和性将增大30的逻辑分区相比具有较高的等级,则不执行所建议的资源再分配。当然,也可使用其他合适的标准或试探法。优选实施例显然扩展到任何这样的机制或方法:其用于在包括多个逻辑分区的多节点计算机系统上动态再分配一个或多个资源,以便改善一个或多个逻辑分区的存储器亲和性。
优选实施例提供了逻辑分区随时间监测其存储器亲和性的方法。当资源分配中的变化减小其存储器亲和性时,逻辑分区确定可望改善存储器亲和性的、建议的资源再分配。然后,将当前资源分配的当前存储器亲和性分数与所建议的资源分配的、可能的存储器亲和性分数进行比较。如果可能的存储器亲和性分数大于当前存储器亲和性分数,逻辑分区可启动资源再分配,以便改善该逻辑分区的存储器亲和性。通过动态跟踪存储器亲和性并调节资源分配以便随时间改善存储器亲和性,当资源在包含多个节点上的多个逻辑分区的计算机系统上被动态分配时,随时间逐渐发展的计算机系统仍然能够提供好的存储器亲和性。
本领域技术人员将明了,在本发明范围内,许多变化是可行的。因此,尽管参照本发明的优选实施例特别示出和介绍了本发明,本领域技术人员将会明了,其中可进行形式和细节上的这些以及其他改变,而不脱离本发明的精神和范围的情况。例如,尽管上面讨论的优选实施例在可能的存储器亲和性分数大于当前存储器亲和性分数的条件下执行动态资源再分配,优选实施例显然包括可能的存储器亲和性分数与当前存储器亲和性分数之间任何合适的试探法或关系。例如,执行所建议资源再分配的决定可仅在可能的存储器亲和性分数超过当前存储器亲和性分数某个值-例如10-的情况下进行。本领域技术人员将会想到,判定何时进行资源再分配以改善逻辑分区的存储器亲和性的、任何合适的标准或试探法属于优选实施例的范围。
Claims (13)
1.一种计算机系统,包含:
定义在多个节点上的多个逻辑分区;
动态分区管理器,其管理所述多个节点上的多个资源到所述多个逻辑分区的分配,所述动态分区管理器包含对于选择的逻辑分区计算存储器亲和性的存储器亲和性计算机制;以及
所述选择的逻辑分区中的存储器亲和性代理,所述存储器亲和性代理基于在所述选择的逻辑分区中的当前资源分配,由所述存储器亲和性计算机制判定对于所述选择的逻辑分区的当前存储器亲和性,所述存储器亲和性代理基于在所述选择的逻辑分区中的、建议的资源再分配,由所述存储器亲和性计算机制判定对于所述选择的逻辑分区的可能的存储器亲和性。
2.根据权利要求1的计算机系统,其中,如果对于所述选择的逻辑分区所述可能的存储器亲和性大于所述当前存储器亲和性,所述存储器亲和性代理请求所述动态分区管理器执行所述建议的资源再分配。
3.根据权利要求1的计算机系统,其中,如果所述可能的存储器亲和性满足至少一个标准,所述存储器亲和性代理请求所述动态分区管理器执行所述建议的资源再分配。
5.根据权利要求4的计算机系统,其中,如果PMn为零或PCn为零,对于节点的所述存储器亲和性被定义为零。
6.根据权利要求1的计算机系统,其中,以预定的时间间隔自动激活所述存储器亲和性代理,以判定是否可改善所述选择的逻辑分区的所述当前存储器亲和性。
7.一种计算机实现的方法,其用于动态改善包含多个节点上的多个逻辑分区的计算机系统中被选择的逻辑分区的存储器亲和性,该方法包括以下步骤:
(A)基于所述选择的逻辑分区上当前的资源分配,为所述逻辑分区判定当前的存储器亲和性;
(B)判定是否有可用于改善所述当前存储器亲和性的至少一个资源;
(C)如果有至少一个资源可用于改善所述当前存储器亲和性,执行下面的步骤:
(C1)基于建议的、在所述选择的逻辑分区中的资源再分配,判定对于所述选择的逻辑分区的可能的存储器亲和性;以及
(C2)如果步骤(C1)中判定的所述可能的存储器亲和性大于步骤(A)中判定的所述当前存储器亲和性,在所述选择的逻辑分区中动态调节至少一个资源。
8.根据权利要求7的方法,其中,步骤(C2)中在所述选择的逻辑分区中动态调节至少一个资源的所述步骤包括:执行所述建议的资源再分配。
10.根据权利要求9的方法,其中,如果PMn为零或PCn为零,对于节点的所述当前存储器亲和性被定义为零。
11.根据权利要求7的方法,其中,所述步骤(C1)使用以下公式对于选择的逻辑分区判定所述可能的存储器亲和性:
其中,n=基于所述建议的资源再分配的、所述选择的逻辑分区使用的节点数量
PMn=基于所述建议的资源再分配的、所述选择的逻辑分区的存储器在所述节点上的百分比
PCn=基于所述建议的资源再分配的、所述选择的逻辑分区的处理器在所述节点上的百分比
PRn=基于所述建议的资源再分配的、所述选择的逻辑分区的总资源在所述节点上的百分比,其等于(PMn+PCn)/2。
12.根据权利要求11的方法,其中,如果PMn为零或PCn为零,对于节点的所述可能的存储器亲和性被定义为零。
13.根据权利要求7的方法,其中,以预定的时间间隔自动执行步骤(A)-(C),以判定是否可改善对于所述选择的逻辑分区的所述当前存储器亲和性。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/335,812 US7673114B2 (en) | 2006-01-19 | 2006-01-19 | Dynamically improving memory affinity of logical partitions |
US11/335,812 | 2006-01-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101004695A true CN101004695A (zh) | 2007-07-25 |
CN100461112C CN100461112C (zh) | 2009-02-11 |
Family
ID=38264621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100015967A Active CN100461112C (zh) | 2006-01-19 | 2007-01-09 | 动态改善逻辑分区的存储器亲和性的装置和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7673114B2 (zh) |
JP (1) | JP4965233B2 (zh) |
CN (1) | CN100461112C (zh) |
TW (1) | TWI402753B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843683A (zh) * | 2015-02-03 | 2016-08-10 | 国际商业机器公司 | 用于动态优化平台资源分配的方法、系统和设备 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005116833A1 (en) * | 2004-05-21 | 2005-12-08 | Computer Associates Think, Inc. | Method and apparatus for dynamic cpu resource management |
WO2005116828A2 (en) * | 2004-05-21 | 2005-12-08 | Computer Associates Think, Inc. | Method and apparatus for dynamic memory resource management |
US8104033B2 (en) | 2005-09-30 | 2012-01-24 | Computer Associates Think, Inc. | Managing virtual machines based on business priorty |
US8225313B2 (en) | 2005-10-19 | 2012-07-17 | Ca, Inc. | Object-based virtual infrastructure management |
US8782322B2 (en) * | 2007-06-21 | 2014-07-15 | International Business Machines Corporation | Ranking of target server partitions for virtual server mobility operations |
US8762999B2 (en) * | 2007-09-27 | 2014-06-24 | Oracle America, Inc. | Guest-initiated resource allocation request based on comparison of host hardware information and projected workload requirement |
US8819675B2 (en) * | 2007-11-28 | 2014-08-26 | Hitachi, Ltd. | Virtual machine monitor and multiprocessor system |
US8607020B2 (en) * | 2008-06-06 | 2013-12-10 | International Business Machines Corporation | Shared memory partition data processing system with hypervisor managed paging |
US8145871B2 (en) | 2008-06-09 | 2012-03-27 | International Business Machines Corporation | Dynamic allocation of virtual real memory for applications based on monitored usage |
CN102112967B (zh) * | 2008-08-04 | 2014-04-30 | 富士通株式会社 | 多处理器系统、多处理器系统用管理装置以及方法 |
US8490094B2 (en) * | 2009-02-27 | 2013-07-16 | International Business Machines Corporation | Non-uniform memory access (NUMA) enhancements for shared logical partitions |
US10169087B2 (en) | 2011-01-28 | 2019-01-01 | International Business Machines Corporation | Technique for preserving memory affinity in a non-uniform memory access data processing system |
US9348852B2 (en) * | 2011-04-27 | 2016-05-24 | Microsoft Technology Licensing, Llc | Frequent pattern mining |
US9684600B2 (en) * | 2011-11-30 | 2017-06-20 | International Business Machines Corporation | Dynamic process/object scoped memory affinity adjuster |
US8856567B2 (en) | 2012-05-10 | 2014-10-07 | International Business Machines Corporation | Management of thermal condition in a data processing system by dynamic management of thermal loads |
US9009421B2 (en) * | 2012-11-13 | 2015-04-14 | International Business Machines Corporation | Dynamically improving memory affinity of logical partitions |
US9342342B2 (en) * | 2013-03-15 | 2016-05-17 | International Business Machines Corporation | Refreshing memory topology in virtual machine operating systems |
US9665474B2 (en) * | 2013-03-15 | 2017-05-30 | Microsoft Technology Licensing, Llc | Relationships derived from trace data |
GB2515537A (en) * | 2013-06-27 | 2014-12-31 | Ibm | Backup management for a plurality of logical partitions |
US10223282B2 (en) | 2017-05-23 | 2019-03-05 | International Business Machines Corporation | Memory affinity management |
WO2019113329A1 (en) | 2017-12-07 | 2019-06-13 | Hubbell Incorporated | Shallow electrical protection device (gfci, afci, and afci/gfci) system and method |
US10621004B2 (en) * | 2018-03-19 | 2020-04-14 | Accenture Global Solutions Limited | Resource control stack based system for multiple domain presentation of cloud computing resource control |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6167490A (en) * | 1996-09-20 | 2000-12-26 | University Of Washington | Using global memory information to manage memory in a computer network |
US6289424B1 (en) * | 1997-09-19 | 2001-09-11 | Silicon Graphics, Inc. | Method, system and computer program product for managing memory in a non-uniform memory access system |
US6249802B1 (en) * | 1997-09-19 | 2001-06-19 | Silicon Graphics, Inc. | Method, system, and computer program product for allocating physical memory in a distributed shared memory network |
US6691146B1 (en) * | 1999-05-19 | 2004-02-10 | International Business Machines Corporation | Logical partition manager and method |
US7140020B2 (en) * | 2000-01-28 | 2006-11-21 | Hewlett-Packard Development Company, L.P. | Dynamic management of virtual partition computer workloads through service level optimization |
US6769017B1 (en) * | 2000-03-13 | 2004-07-27 | Hewlett-Packard Development Company, L.P. | Apparatus for and method of memory-affinity process scheduling in CC-NUMA systems |
US6829714B2 (en) * | 2001-03-01 | 2004-12-07 | International Business Machines Corporation | Method for timed booting of logical partitions in a computer system in accordance with a preset schedule stored in nonvolatile memory |
US6871219B2 (en) * | 2001-03-07 | 2005-03-22 | Sun Microsystems, Inc. | Dynamic memory placement policies for NUMA architecture |
US7565398B2 (en) * | 2002-06-27 | 2009-07-21 | International Business Machines Corporation | Procedure for dynamic reconfiguration of resources of logical partitions |
US7143412B2 (en) * | 2002-07-25 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | Method and apparatus for optimizing performance in a multi-processing system |
US6892284B2 (en) * | 2002-09-11 | 2005-05-10 | Intel Corporation | Dynamic memory allocation for assigning partitions to a logical port from two groups of un-assigned partitions based on two threshold values |
US20040088498A1 (en) * | 2002-10-31 | 2004-05-06 | International Business Machines Corporation | System and method for preferred memory affinity |
US6912625B2 (en) * | 2003-01-09 | 2005-06-28 | International Business Machines Corporation | Method, system, and computer program product for creating and managing memory affinity in logically partitioned data processing systems |
US20040158834A1 (en) * | 2003-02-06 | 2004-08-12 | International Business Machines Corporation | Apparatus and method for dynamically allocating resources of a dead logical partition |
US7472246B2 (en) * | 2003-04-30 | 2008-12-30 | International Business Machines Corporation | Method and system for automated memory reallocating and optimization between logical partitions |
US6965978B2 (en) * | 2003-05-15 | 2005-11-15 | Microsoft Corporation | Memory tracking tool |
US20050076179A1 (en) * | 2003-10-02 | 2005-04-07 | International Business Machines Corporation | Cache optimized logical partitioning a symmetric multi-processor data processing system |
US7574708B2 (en) * | 2004-03-04 | 2009-08-11 | International Business Machines Corporation | Mechanism for enabling the distribution of operating system resources in a multi-node computer system |
US7584476B2 (en) * | 2004-03-04 | 2009-09-01 | International Business Machines Corporation | Mechanism for reducing remote memory accesses to shared data in a multi-nodal computer system |
US7231504B2 (en) * | 2004-05-13 | 2007-06-12 | International Business Machines Corporation | Dynamic memory management of unallocated memory in a logical partitioned data processing system |
US20070073993A1 (en) * | 2005-09-29 | 2007-03-29 | International Business Machines Corporation | Memory allocation in a multi-node computer |
US8806166B2 (en) * | 2005-09-29 | 2014-08-12 | International Business Machines Corporation | Memory allocation in a multi-node computer |
US7577813B2 (en) * | 2005-10-11 | 2009-08-18 | Dell Products L.P. | System and method for enumerating multi-level processor-memory affinities for non-uniform memory access systems |
-
2006
- 2006-01-19 US US11/335,812 patent/US7673114B2/en not_active Expired - Fee Related
- 2006-11-28 JP JP2006320921A patent/JP4965233B2/ja active Active
-
2007
- 2007-01-05 TW TW096100520A patent/TWI402753B/zh not_active IP Right Cessation
- 2007-01-09 CN CNB2007100015967A patent/CN100461112C/zh active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843683A (zh) * | 2015-02-03 | 2016-08-10 | 国际商业机器公司 | 用于动态优化平台资源分配的方法、系统和设备 |
US10222985B2 (en) | 2015-02-03 | 2019-03-05 | International Business Machines Corporation | Autonomous dynamic optimization of platform resources |
CN105843683B (zh) * | 2015-02-03 | 2019-04-26 | 国际商业机器公司 | 用于动态优化平台资源分配的方法、系统和设备 |
Also Published As
Publication number | Publication date |
---|---|
US20070168635A1 (en) | 2007-07-19 |
US7673114B2 (en) | 2010-03-02 |
JP2007193776A (ja) | 2007-08-02 |
JP4965233B2 (ja) | 2012-07-04 |
TW200813843A (en) | 2008-03-16 |
CN100461112C (zh) | 2009-02-11 |
TWI402753B (zh) | 2013-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100461112C (zh) | 动态改善逻辑分区的存储器亲和性的装置和方法 | |
US8230434B2 (en) | Entitlement management system, method and program product for resource allocation among micro-partitions | |
US8156370B2 (en) | Computer system and method of control thereof | |
US8826290B2 (en) | Method of monitoring performance of virtual computer and apparatus using the method | |
US9058218B2 (en) | Resource allocation based on anticipated resource underutilization in a logically partitioned multi-processor environment | |
US7730486B2 (en) | System and method for migrating virtual machines on cluster systems | |
CN100568182C (zh) | 在逻辑地分区的数据处理系统内分布工作的方法和系统 | |
US8688923B2 (en) | Dynamic control of partition memory affinity in a shared memory partition data processing system | |
JP3978199B2 (ja) | リソースの利用およびアプリケーションの性能の監視システムおよび監視方法 | |
CN100367220C (zh) | 用于在逻辑分区数据处理系统中管理资源的方法和设备 | |
US9081621B2 (en) | Efficient input/output-aware multi-processor virtual machine scheduling | |
US8020164B2 (en) | System for determining and reporting benefits of borrowed computing resources in a partitioned environment | |
KR100843587B1 (ko) | 복수의 대기 자원의 이용 관리 방법, 장치 및 프로그램 제품 | |
US7099814B2 (en) | I/O velocity projection for bridge attached channel | |
KR20040028805A (ko) | 프로세서로 산출하기 위한 시스템 | |
EP1947566B1 (en) | Information processing method and information processing apparatus | |
CN1979408B (zh) | 管理设备访问的方法和系统 | |
CN100487656C (zh) | 资源管理的方法与系统 | |
JPWO2013018288A1 (ja) | 計算機およびリソース検索方法 | |
CN115373964A (zh) | 内存越界检测方法、装置、设备及介质 | |
US8276151B2 (en) | Determination of running status of logical processor | |
US20240160487A1 (en) | Flexible gpu resource scheduling method in large-scale container operation environment |
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 |