用于虚拟容器系统内的资源容量评估的方法和装置制造方法及图纸

技术编号:8082114 阅读:190 留言:0更新日期:2012-12-14 14:48
提供了用于评估在多个容器之间具有弹性和竞争的系统中的潜在资源容量的方法和装置。为竞争更大容器的总容量的多个容器中的至少一个容器确定动态潜在容量。获得多个竞争容器中的每个容器的当前利用量,并且为每个竞争容器确定平衡容量。平衡容量指示相应容器被授权的容量。基于总容量、一个或多个当前利用量与一个或多个相应平衡容量的比较、以及多个竞争容器中的每个容器的相对资源权重,来确定动态潜在容量。可选地,当多个容器的集合改变时或者在分配每项工作元素之后,重新计算动态潜在容量。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术主要涉及电气、电子和计算机技木,并且更具体地涉及具备虚拟化支持的平台的资源的动态容量。
技术介绍
在共享计算机资源时,调度器向ー个或多个可用的处理器或其它资源分配进程。通常,调度器通过匹配作业要求与资源的能力和容量来分配工作,例如批处理作业。传统上,基于当前利用量和固定容量,作业被直接分配给物理资源。然而,近来物理资源常通过一个或多个资源容器(经常被称为“虚拟机”)给出,每ー个资源容器都提供了底层资源的抽象。共享的物理资源可以包括例如处理内核、存储系统和网络通信资源。 在多容器环境中,各种容器通常在容器管理器的监瞀下共享并竞争固定的物理资源,例如处理器周期。容器管理器通常根据规则或策略的集合向容器分配物理资源。容器之间的资源竞争对于调度问题增加了更大的复杂性。容器资源容量的评估在任何调度进程中都是ー个关键步骤。另外,容器可以在执行工作时被添加、删除、挂起或联机。规划这些动作并且评估对现有容器和作业的影响也是重要的活动。然而,在多容器环境中,资源容量的评估很有难度。因此,存在对用于评估虚拟容器的系统内的资源容量的方法和装置的需求。进ー步地也存在对用于评估共享物理容量的所有虚拟容器上的动态资源容量的方法和装置的需求。
技术实现思路
一般性地,提供了用于评估在多个容器(例如虚拟机)之间存在弾性和竞争的系统中的潜在资源容量(例如用于作业分配)的方法和装置。根据本专利技术的ー个方面,为竞争较大容器的总容量的多个容器中的至少ー个容器确定动态潜在容量。获得多个竞争容器中的每个容器的当前利用量,并且为每个竞争容器确定平衡容量。平衡容量指示相应容器被授权的容量。基于总容量、一个或多个当前利用量与一个或多个相应平衡容量的比较、以及多个竞争容器中的每个容器的相对资源权重,来确定动态潜在容量。根据本专利技术的另ー个方面,可选地,当多个容器的集合被改变时或者在分配每项工作元素之后,重新计算动态潜在容量。确定的动态潜在容量能够被用于例如多个父容器之间的容器迁移或者用于工作分配。在一个示范性实施例中,多个容器被分为至少两组。过度利用组包括利用量超过全局平衡容量的容器,而未充分利用组包括利用量低于全局平衡容量的容器。过度利用组的动态潜在容量可被计算为总容量和未充分利用组内的成员的容量之和之间的差值。过度利用组中利用量低于阈值的成员被转移至未充分利用组。对本专利技术更加完整的理解以及本专利技术更多的特征和优点应通过參考以下的详细说明内容和附图获得。附图说明图I提供了常规示范性作业调度器的概要图;图2提供了另外的常规示范性作业调度器的概要图;图3示出了用于两个示范性容器的各种类型的容器容量;图4示出了为两个竞争的示范性容器分配资源;图5示出了用于并入本专利技术特征的潜在容量评估进程的实施例的示范性伪代码;图6提供了用于为三个容器的示范性集合分配资源的示例;图7是根据本专利技术的评估空闲容量的装置的示意性方块图;以及 图8示出了可以有效用于实现本专利技术的ー个或多个方面和/或元素的计算机系统。具体实施例方式本专利技术提供了用于评估在多个容器(例如虚拟机)之间存在弾性和竞争的系统中的潜在资源容量(例如用于作业分配)的方法和装置。图I提供了常规示范性作业调度器100的概要图。如图I所示,作业队列110内存储的一项或多项作业由作业调度器120处理,以把每项给定作业分配给ー个或多个可用物理资源,例如物理计算平台150。物理资源150可以包括例如处理内核、存储系统和网络通信资源。如前所述,调度器120通过匹配作业要求与资源150的能力和容量来分配作业。如图I所示,物理资源150通过ー个或多个资源容器130给出,每个资源容器都提供了底层资源150的抽象。示范性容器130通常在容器管理器140的监瞀下共享这些底层物理资源150。容器130经常要为底层资源150而彼此竞争。图I中的作业调度器100使用了单层容器130。图2提供了另外的常规示范性作业调度器200的概要图。如图2所示,特定容器(例如容器230-1)能够托管ー个或多个另外的容器210-1到210-N以及ー个或多个容器管理器220。本专利技术认识到,在多容器环境中,各种容器130、230共享和竞争固定的平台资源150、250。容器130、230的资源容量评估在由调度器120执行的调度进程中是ー个关键步骤。根据本专利技术的ー个方面,为具有多个容器130、230的系统评估潜在资源容量。图3示出了用于两个示范性容器A,B的各种类型的容器容量。如图3所示,具有固定尺寸的父容器320 (或平台)提供了总物理容量。总物理容量被动态地分配给容器A和B。在容器A上有示范性作业运行。容器A上运行的示范性作业具有利用量JA。两个示范性容器A,B均具有潜在容量(PC)。例如,容器A具有潜在容量PCA。如本文中所使用的,潜在容量相应于每个容器当前能够利用的量(例如最大可用容量)。潜在容量取决于系统状态以及管理器在竞争期间如何分配资源。如图3所示,容器A上运行的作业消耗资源量J。两个示范性容器A、B具有空闲容量(FC)。例如容器A具有空闲容量FCa。如本文中所使用的,空闲容量是每个容器内可达潜在容量的剩余资源(例如可用于新工作的容量)。因此,容器的潜在容量可以表达如下PC=J+FC.空闲容量因此可以根据潜在容量和利用量来计算。要注意的是,根据系统状态,所有容器的潜在容量之和可能会超过底层平台的物理容量。通常,根据物理容量、容器属性、状态和所有容器上的利用量来计算每个容器A、B的潜在容量。每个容器的空闲容量常常是作业调度算法中的关键參数。例如,代表性的常规调度方法把每项作业分配给具有最大空闲容量的平台。用这种方式,调度提供了基本负载平衡,在可用机器中分配作业。在物理资源调度的常规情况下,平台的空闲容量可以从利用量监测器直接获得。然而,对于竞争容器的调度,由于空闲容量取决于由容器管理器140、240实施的规则和策略,所以空闲容量无法根据当前系统状态(例如所有容器内的资源的利用量)获得。计算虚拟容器的潜在容量如前所述,本专利技术提供了用于评估具有多个容器130、230的系统内的潜在容量的 方法和装置。根据本专利技术的ー个方面,给定当前系统状态并使用容器管理器140用来对容器130、230间的需求进行仲裁的规则,来评估每个容器130、230的潜在资源容量。该潜在容量随后在作业分配算法中被应用以便为要运行的每项作业或作业元素选择容器。以下结合图5进ー步介绍用于评估容器130、230的潜在容量的示范性算法。估算的资源消耗量在向容器130、230分配每项作业时,系统状态改变,这在调度下一项作业时必须被考虑。这在例如一次调度ー组作业并且在分配下一项作业之前没有足够的时间来评估每项作业安排的效果时可能会有问题。每项作业在执行期间消耗的给定资源的量平均来说可以是已知的。因此,在把一项作业分配给ー个容器之后,该容器的空闲容量使用情况可以利用平均资源消耗量进行调节。在一个示范性实施例中,当无法得到平均资源消耗量时,例如可以基于该类型的作业最近的资源消耗量的平均值来进行估算。作业的资源消耗量常常是变量。因此,在进ー步的变形中,潜在容量和空闲容量根据作业的统计使用情况和系统中的竞争作业来进行分配。例如,假设空闲容量在90%的时间内都处于0. 8或者低于0. 8的值。而在另一种变本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:F·贝内德蒂N·鲍伯罗夫L·L·冯刘岩斌S·R·西拉姆
申请(专利权)人:国际商业机器公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1