分布式计算机系统中的性能驱动的资源管理的制作方法

文档序号:6550677阅读:311来源:国知局
分布式计算机系统中的性能驱动的资源管理的制作方法
【专利摘要】本发明涉及分布式计算机系统中的性能驱动的资源管理,具体地,涉及一种用于管理分布式计算机系统中的资源的系统和方法,该分布式计算机系统包括用于虚拟机(VM)集合的至少一个资源池,该VM使用对应于用于在分布式计算机系统中运行的应用的观察的性能的目标资源分配的期望个体VM资源设置的集合。期望的个体VM资源设置的集合通过构造作为当前VM等级资源分配的函数的观察的应用性能的模型来构造,并且继而求逆该函数以计算目标资源分配,以便满足至少一个用户定义的服务等级目标(SLO)。期望的个体资源池的集合被用以确定应用属于的资源池的最终RP等级资源设置、以及在资源池下运行的VM的最终VM等级资源设置,继而将其选择性地应用。
【专利说明】分布式计算机系统中的性能驱动的资源管理

【技术领域】
[0001]本发明概括地涉及计算机系统的领域,并且设计计算机系统中资源的分配。

【背景技术】
[0002]可以使用物理设备(诸如,主机计算机和存储设备)在云计算环境中实现多个虚 拟数据中心(VDCh这些物理设备可以支持虚拟机(VM)以及由这些VM执行的应用。VDC 是资源池(RP)的示例,其是表示用于VM集合的聚合资源分配的逻辑容器。单一VDC可以 支持多个RP。用于VDC的资源管理技术对于VDC而言是重要的,以确保运行在 VDC上的应 用在其服务等级目标(SLO)处操作。现有资源分配技术提供有力的资源控制基元,诸如保 留、限制和共孚,其可以在VM等级或者RP等级(包括VDC)被设置,以确保满足在VDC上运 行的应用的SLO。
[0003]这些资源控制基元允许管理员来控制由VM或者RP (包括VDC)消费的资源的绝对 和相对数量。然而,由于各种因素确定资源控制基元的正确设置可能受到极大地挑战。作 为示例,支持相同应用的不同VM可以需要不同数量的资源以满足应用性能目标。另外,在 VDC上运行的应用可以具有时间可变的需求,这意味着针对一个时段确定的资源控制设置 针对之后的时段而言可能变得变为无效。由此,针对多个RP设置资源控制以便在RP上运 行的应用获得足够资源以满足相应的SLO,这变成几乎不可能的任务。
[0004]目标在于当操作虚拟数据中心(VDC)或者其他资源池(RP)时改进分布式计算机 系统的物理设备中的资源分配。


【发明内容】

[0005]根据本发明,在此提供了在所附权利要求书中阐明的装置和方法。本发明的其他 特征将从从属权利要求以及下文的说明书中变得明了。
[0006]在一个示例中,在此提供了一种用于管理分布式计算机系统中的资源的系统和方 法。分布式计算机系统可以包括用于虚拟机(VM)的集合的至少一个资源池(RP)使用的资 源。该系统和方法使用对应于目标资源分配的期望个体VM等级资源设置的集合,来用于在 分布式计算机系统中运行的应用的观察的性能。期望个体VM等级资源设置的集合通过如 下来确定:构造作为当前VM等级资源分配的函数的所述应用的观察到的性能的模型,并且 继而将所述函数求逆以计算目标资源分配的集合,从而满足至少一个用户定义的服务等级 目标(SLO)。期望个体VM等级资源设置的集合被用以确定应用所属于的最终 Rp等级资源 设置、以及用于在资源池下运行的VM的最终VM等级资源设置,其继而被选择性地应用。 [0007]在一个示例中,在此提供了一种用于管理分布式计算机系统中的资源的方法。计 算机系统包括用于VM集合的至少一个资源池。该方法包括:构造所述分布式计算机系统中 运行的应用的观察的性能的模型,所述模型作为当前VM等级资源分配的函数;将函数求逆 以计算目标资源分配的集合,从而满足至少一个用户定义的服务等级目标(SL0);确定对 应于目标资源分配的期望个体VM等级资源设置;至少基于期望个体VM等级资源设置的集 合、资源池的当前RP等级资源设置以及资源池的可用资源容量,确定应用所属于的最终RP 等级资源设置以及用于在资源池下运行的VM的最终VM等级资源设置;以及至少基于资源 池的资源属性,将最终RP等级资源设置和最终VM等级资源设置中的至少一个应用至资源 池和在资源池下运行的应用中的至少一个。在某些实施方式中,在包括在计算机可读存储 介质中的程序指令由主机计算机的一个或者多个处理器执行时,执行此方法的步骤。
[000S]在一个示例中,在此提供了 一种用于分布式计算机系统的应用资源分配模块,该 分布式计算机系统包括用于VM集合的至少一个资源池。该模块可以包括至少一个应用管 理器、至少一个资源池管理器和致动器。应用管理器包括模块建立器,配置以构造应用的 观察的性能的模型,所述模型作为应用的当前VM等级资源分配的函数;应用控制器,配置 以将函数求逆以计算目标资源分配的集合,从而满足至少一个用户定义的服务等级目标 (SLO);以及资源控制器,配置以确定对应于目标资源分配的期望个体vm等级资源设置。资 源池管理器配置以至少基于期望个体VM等级资源设置的集合、资源池的当前RP等级资源 设置以及资源池的可用资源容量,确定应用所属于的最终RP等级资源设置以及用于在资 源池下运行的VM的最终VM等级资源设置。致动器配置以基于资源池的至少一个资源属性, 将最终RP等级资源设置和最终VM等级资源设置中的至少一个应用至资源池和在资源池下 运行的应用中的至少一个。
[0009]结合附图,借助于本发明的原理的示例,从下文详细描述中,本发明的实施方式的 其他方面和优势将变得明显。

【专利附图】

【附图说明】
[0010]图1是根据本发明一个实施方式的分布式计算机系统的框图;
[0011]图2是根据本发明一个实施方式的主机计算机的框图;
[0012]图3是根据本发明一个实施方式的如图1所示的分布式计算机系统的、具有多个 VDC的层级资源池资源池(RP)结构;
[0013]图4是根据本发明一个实施方式的应用资源分配模块的框图;
[0014]图5是根据本发明一个实施方式的如图4所示的应用资源分配模块的应用管理器 的框图;
[0015]图6是示出根据本发明一个实施方式的如图5所示的应用管理器的资源控制器的 操作的流程图,该流程图用于针对每个资源类型计算期望VM等级资源控制设置;
[0016]图7是示出根据本发明一个实施方式的如图4中所示的应用资源分配模块的RP 管理器的操作的流程图,该流程图用于计算针对每个资源类型的最终VM等级和RP等级资 源设置;
[0017]图8是根据本发明一个实施方式的在包括针对组虚拟机的至少一个资源池的分 布式计算机系统中用于管理资源的方法的流程图;
[0018]贯穿说明书,使用相同的参考数字标识相同的元素。

【具体实施方式】
[0019]易于理解,在此一般性描述以及在附图中示出的实施方式的组件可以以广泛的不 同配置来安排和涉及。由此,下文更详细的各种实施方式的描述,如在附图中呈现的,并不 曰在限制本公开的沮围,而是仅仅是各种实施方式的示意性表示。尽管在附图中呈现了实 施方式的各个方面,除非特别指示不必按比例绘制附图。
[0020] A在不脱离本发明的^神和基本特征的情况下,本发明可以以具体形式来体现。所 描述的实施方式将在仅仅是示例性而并非限制性的全部方面中考虑。本发明的范围由此通 过所附权利要求书而不是借助于此详细的描述来限定。在权利要求书的等效范围和含义内 的全部改变将被涵盖在其范围内。
[0021]、贯穿说明书,对特征、优势或者相似语言的引用并不暗示应当在本发明的任何单 二头施方式中实现利用本发明的实现的全部特征和优势。而是,涉及特征和优势的语言应 当被理解为思味着结合实施方式而描述的特定特征、优势或者特性被包括在本发明的至少 一个实施方式中。由此,贯穿本说明书,特征和优势以及类似语言的讨论可以不必涉及相同 的实施方式。
[0022]此外,本发明的所描述的特征、优势和特性可以在一个或者多个实施方式中以任 何适当的方式进行组合。相关领域技术人员应当认识到,在此描述的启示下,本实施方式可 以在不具备特定实施方式的一个或者多个特定特征或者优势的情况下实现。在其他实例 中,附加特征和优势可以在特定实施方式中体现而不必出现在本发明的全部实施方式中。 [00 23]贯穿本说明书,对于"一个实施方式,,、" 一种实施方式,,或者类似语言的引用意味 着结合指定实施方式而描述的特定特征、结构或者特性被包括在本发明的至少一个实施方 式中。由此,贯穿此说明书,短语"在一个实施方式中"以及类似的语言可以单不必全部指 示相同的实施方式。
[0024]现在参见图1,分布式计算机系统100示出为提供根据本发明的一个实施方式的 云计算环境。分布式计算机系统例如可以是计算机网络系统。如图i中所示,分布式计算 机系统包括网络102、主机计算机的集群C-1、C- 2、· · .、C-N(其中N为正整数)、存储设备 104和具有资源分配模块108的管理服务器1〇6。包括在分布式计算机系统中的主机计算 机集群的实际数量可以是从一到十个集群或者更多的任意数量的集群。不同集群的主机计 算机、存储104和管理服务器106被连接至网络1〇2。由此,集群中的每个主机计算机和管 理服务器106能够经由网络102访问存储1〇4,并且可以共享由存储1〇4提供的资源。由 此,运行在任何主机计算机和管理服务器上的任何进程还可以经由网络 1〇2访问存储104。 [0025]在示出的实施方式中,集群C-l、C-2、...、C-N中的每一个包括多个主机计算机 H-1'H-2.....Η-M(其中^^是正整数)。主机计算机可以基于预定标准而被指派给主机计算 机集群,其可以包括主机计算机之间的地理和/或逻辑关系。包括在每个集群中的主机计 算机的数量可以是从一到数百或者更多的任何数量。另外,包括在每个集群中的主机计算 机的数量可以是变化的,以便不同主机可以具有不同数量的主机计算机。主机计算机是物 理计算系统,其主管或者支持一个或者多个客户端以便客户端在物理计算机系统上执行。 如在此使用,术语"客户端"是任意软件实体,其在计算机系统上运行,诸如软件应用、软件 进程或者虚拟机(VM)。主机计算机可以是通常在数据中心中找到的服务器。作为示例,主 机计算机可以是安装在一个或者多个服务器机架上的服务器。通常,集群的主机计算机位 于相同服务器机架内。
[0026]现在转向图2,示出了根据本发明一个示例实施方式的在集群C-l、C-2.....C-N 中的主机计算机H-UH-2.....Η-Μ的代表的主机计算机200。在图2中,出于清楚目的而 没有示出在主机计算机的各个组件之间的物理连接,而是本领域技术人员应当理解这些物 理连接。在示出的实施方式中,主机计算机配置用于支持客户端22〇A、2〇〇B..... 200L (其 中L是正整数)。在此示例中,客户端220A-L中的每个是虚拟机(VM)。由主机计算机支持 的VM的数量可以是从一个到超过1〇〇个的任意数量。由主机计算机支持的麗的数量受限 于主机计算机的物理资源。VM共享主机计算机的硬件资源中的至少某些,包括系统存储器 22 2、一个或者多个处理器2料、存储接口 2况、以及网络接口 MS。可以是随机访问存储器 (RAM)系统存储器是主机计算机的主存。处理器可以是任意类型的处理器,诸如通常在服务 器中找到的中央处理器(CPU)。存储接口是允许主机计算机与存储1〇4通信的接口。作为 不例,存储接口可以是主机总线适配器或者网络文件系统接口。网络接口是允许主机计算 机与连接至网络102的其他设备通信的接口。作为示例,网络接口可以是网络适配器。
[0027]在示出的实施方式中,VM220A、220B.....220L运行在虚拟机监视器(VMM)的顶 部,其是支持由VM共享主机计算机200的硬件资源的软件接口层。然而,在其他实施方式 中,一个或者多个VM可以是嵌入式的,例如,VM在另一 VM中运行。例如,VM之一可以运行 在一 VM中,其还运行在另一 VM中。虚拟机监视器可以运行在主机计算机的操作系统的顶 部,或者直接运行在主机计算机的硬件上。在某些实施方式中,虚拟机监视器运行在管理程 度的顶端,该管理程序安装在主机计算机的硬件组件的顶端。在虚拟机监视器的支持下, VM 提供虚拟化计算机系统,其给出的外观不同于主机计算机并且不同于彼此。每个VM包括访 客操作系统(OS) 232以及一个或者多个访客应用(APP) 234。访客操作系统是相应VM的主 控制程序,并且在其他事务之中,访客操作系统形成软件平台,访客应用在该软件平台上运 行。
[0028]类似于连接到网络102的任何其他计算机系统,VM22〇A、220B、···、2 2〇L能够使用 主机计算机2〇〇的网络接口 228来与连接到网络的其他计算机系统通信。另外,VM能够通 过使用主机计算机的存储接口 226来访问存储104。
[0029]主机计算机200还包括本地资源分配模块236,其作为本地资源管理系统(诸如, 分布式资源调度器系统)的部分操作,以管理由VM220A、220B、____220L消费的资源。集群 的主机计算机2〇0中的本地资源分配模块与相同集群中的其他主机计算机200中的本地资 源分配模块协同操作,以执行资源调度。资源调度可以包括平衡软件过程和/或存储资源 调度的负载。尽管在图2中的本地资源分配模块236示出为分离于虚拟机监视器230,在一 个示例中,本地资源分配模块2 36可以实现为虚拟机监视器230的部分。在某些实施方式 中,本地资源分配模块230实现为在主机计算机200上运行的一个或者多个软件程序。然 而,在其他实施方式中,本地资源分配模块236可以通过使用软件和硬件的任意组合来实 现。
[0030] 返回图1,网络102可以是任意类型的计算机网络或者网络的组合,该网络允许在 连接到网络的设备之间进行通信。网络102可以包括因特网、广域网(WAN)、局域网(LAN)、 存储区域网(SAN)、光纤信道网络和/或其他网络。网络 102可以配置以支持适用于与存储 阵列进行通信的协议,诸如光纤信道、因特网小型计算机接口(iSCSI)、以太网上的光纤信 道以及 HyperSCSI。
[0031] 存储104被用于存储用于主机C-l、C-2.....C-N的主机计算机H-UH-2、. . .、H-Μ 的数据,其可以类似于连接至计算机系统的任何其他存储设备而被访问。在一个实施方式 中,由实体可访问的存储(诸如运行在主机计算机上的客户端(例如,VM))使用任何文件 系统(例如,虚拟机文件系统(VMFS)或者网络文件系统(NFS)。存储包括一个或者多个计 算机系统存储设备110可以是任何类型的存储设备,诸如固态设备(SSD)、硬盘或者两者的 组合。存储设备可以操作为网络附接存储(NAS)和/或存储区域网(SAN)的组件。存储包 括存储管理模块112,其管理存储104的操作。在一个实施方式中,存储管理模块是在存储 104的一个或者多个计算机系统(未示出)上执行的计算机程序。存储 104支持多个数据 存储DS-1、DS_2.....DS-X (其中X是整数),其可以使用逻辑单元号(LUN)来标识。在一 个实施方式中,数据是在存储设施的虚拟化表示。由此,每个数据存储DS1-X可以使用来自 包括在存储104中的一个以上的存储设备110的存储资源。数据存储被用于存储与由机器 的主机计算机支持的客户端相关联的数据,例如,虚拟盘,由虚拟机中的每一个使用的,以 及支持虚拟机所需的其他文件。一个或者多个数据存储可以与一个或者多个主机计算机相 关联。由此,每个主机计算机与至少一个数据存储相关联。某些数据存储可以被分组到数 据存储的一个或者多个集群,其通常被称为存储箱(storage pod)。
[0032] 管理服务器1〇6操作以监视和管理分布式计算系统100的存储104和/或集群 C-UC-2.....C-N的主机计算机H-UH-2.....Η-M。管理服务器可以配置以监视主机计算 机的当前配置以及运行在主机计算机上的客户端,例如,虚拟机(VM)。监视到的配置可以包 括每个主机计算机的硬件配置,诸如CTO类型和存储器大小、和/或每个主机计算机的软件 配置,诸如操作系统(0S)类型和安装的应用或者软件程序。监视的配置还可以包括集群化 信息,即,哪些计算机包括在集群中。监视的配置还可以包括客户端主管信息,即,哪些客户 端(例如,VM)被主管或者运行在哪个主机计算机上。监视的配置还可以包括客户端信息。 客户端信息可以包括每个客户端的大小、每个客户端的虚拟化硬件配置(诸如,虚拟CPU类 型和虚拟存储器大小)、每个客户端的软件配置(诸如0S类型和安装的应用或者在每个客 户端上运行的软件程序)、以及针对每个客户端的虚拟存储大小。客户端信息还可以包括资 源设置(诸如,限制、保留、权利)以及由客户端消费的各种资源的共享值(例如,CPU、存储 器、网络带宽和存储)。
[0033] 管理服务器106还可以配置以监视存储104的当前配置,包括物理存储设备110 和存储的数据存储DS-UDS-2.....DS-X。监视的存储配置可以包括存储设备配置,其可以 包括存储中的存储设备的编号、存储设备的设备类型(诸如固态设备(SSD)和硬盘)以及 每个存储设备的存储容量。监视的存储配置还可以包括数据存储配置,诸如每个数据存储 的存储容量和数据存储和主机计算机H-l、H-2.....Η-M和/或运行在主机计算机上的客 户端之间的连接和关联。
[0034] 管理服务器106还可以配置以监视客户端对资源的当前使用、主机计算机H-1、 H-2.....Η-M和主机计算机的集群C-l、C-2.....C-N。例如,管理服务器可以监视客户端 的CPU处理使用、存储器使用、网络使用和存储使用。管理服务器还可以配置以存储客户端 对资源的使用、主机计算机、主机计算机的集群以管理历史资源使用信息。历史资源使用信 息继而可以用以开发针对单独客户端的各种资源使用统计数据、单独主机计算机和主机计 算机的单独主机。
[0035] 管理服务器106还可以配置以执行各种操作,以管理客户端、主机计算机H-1、 H-2、. . .、H_M、主机计算机的客户端C-l、C-2、----C-N以及存储104。作为示例,管理服务器 可以配置以初始地在特定集群中的一个或者多个主机计算机上放置新的客户端,以及将现 有客户端移至不同的主机计算机和/或不同的集群。管理服务器可以以使得在主机计算机 集群上运行的软件过程的负载平衡的方式,来向主机计算机集群指派软件过程。过程(诸 如,VM)可以基于分配策略、资源需求和由主机计算机机器提供的资源的可用性而平衡。平 衡可以应用于计算机资源,诸如处理器时间,即CRJ周期、存储器空间、网络带宽(包括任意 类型的输入/输出或者总线带宽)、存储空间、功率消耗、高速缓存空间、软件许可、以及其 他。为了有效地平衡计算机资源,运行的VM可以在被称作活动VM迁移的过程中,从一个主 机计算机集群迁移至另一个。作为另一示例,管理服务器可以被配置以将特定的客户端和 /或主机计算机断电,或者将其下降至保留功率。
[0036]为了执行这些各种操作,管理服务器106针对主机计算机和数据存储来保持用于 客户端的需求和性能。这些需求和性能可以包括针对某些客户端的密切性或者非密切性规 贝!],其可以是强制性或者优选的。例如,这些密切性或者非密切性规则可以包括指定如下的 规则:执行客户端应当在相同主机计算机上运行,或者保持在独立的主机计算机上。作为另 一示例,这些密切相或者非密切性规则可以包括指定对于客户端而言哪些主机计算机是可 接受的、而哪些主机计算机是不可接受的。管理服务器可以配置以或者编程以执行其他操 作,用于管理分布式计算机系统100。在一个实现中,管理服务器是VMware vCenter?服务 器,其中至少某些特征从此类服务器可获得。
[0037] 在一个实施方式中,管理服务器106进一步配置以允许管理员定义并创建VDC和 /或其他资源池(RP)。每个RP (包括VDC)是一种逻辑容器,其表示针对虚拟机集合的聚合 资源分配。每个RP可以包括一个或者多个甚至更小的RP,其中的每一个可以进一步包括一 个或者多个更小的RP。VDC可以被看作特定类型的RP,其通常包括被分配给单独组织的资 源集合。VDC的配置容量可以关联于组织被收取多少费用。 VDC可以包括多个Rp,每个支持 特定的组织部分。另外,VDC的每个RP可以包括一个或者多个应用,每个支持特定业务规 贝1J。由此,由分布式计算机系统100提供的资源可以以层级RP结构表示。
[0038] 在图3中,示出了用于分布式计算机系统100的具有多个VDC的层级RP结构。如 图3所示,层级RP结构包括根1^300、¥00302、1^304、应用306和¥1\1308。根1^表示分布式 计算机系统的资源总量。根RP的资源被分配给VDC。每个VDC的所分配资源进一步被分配 给该VDC的RP。每个RP的所分配资源更进一步地被分配给该 RP的VM。这些VM中的某些 可以是执行应用。这些应用可以是由多个VM支持的应用,诸如多级应用,每个应用具有 web 级、应用级和数据库级。在示出的示例中,RP3〇4-l包括运行在RP304-1的VM中的某些VM 上的应用306-1、以及运行在RP304-1的其他VM上的另一应用304-2。然而,RP304-2不包 括运行在多个VM上的任何应用。
[0039]在一个实施方式中,可以由管理服务器106设置的资源控制包括针对包括VDC的 分布式计算机系统100中的各个VM和RP的保留、限制和共享。保留值指定VM或者RP必 须接收的特定资源的最小数量,甚至是当此资源被过渡承诺时,以便例如向组织内的特定 应用或者部门提供确保数量的资源。限制值指定应当向VM或者RP做出的最大分配,以便 例如防止一个应用或者RP内的需求突刺影响其他。共享值(即,共享的数量)提供在相同 RP内的VM群组或者rp群组之间的相关重要性的测量,并且由此用于当容量受限时将分配 排列优先级。由此,共享值允许相同组织内的多个应用或者RP,以与相应优先级成比例地共 享资源。
[0040] 应用资源分配模块1〇8操作以针对一个或者多个计算机资源、计算在分布式计算 机系统100上运行的应用相关联的VM和/或RP的资源控制设置,以便应用服务等级目标 (SL0)需求得以满足。计算机资源可以是可以被分配的任何资源,诸如处理器时间(g卩,CPU 周期)存储器空间、网络带宽(包括任意类型的输入/输出或者总线带宽)、存储空间、功率 消耗和高速缓存空间。应用资源分配模块108可以是周期性激活的,g卩,在被调用运行时、 在预定间隔例如每五分钟。另外,资源分配模块108可以在特定事件或者条件出现时按需 激活。例如,资源分配模块108可以在业务关键应用被部署并且开始运行之后被激活,或者 当应用延迟超过阈值时激活。备选地,应用资源分配模块108可以由管理服务器106的用 户手工激活。
[0041] 现在转向图4,示出了根据本发明实施方式的在管理服务器1〇6中的应用资源分 配模块1〇8的组件的框图。如图4所示,应用资源分配模块108包括多个应用管理器410、 多个RP管理器412和致动器414。每个应用管理器410配置以确定分布式计算机系统 100 中的用于运行特定应用的VM的资源控制设置以满足任何应用SL0需求。由此,包括在应用 资源分配模块1〇8中的应用管理器的数量可以与由应用资源分配模块管理的分布式计算 机系统100上运行的应用的数量一致。每个RP管理器412配置以确定针对特定RP的适当 资源控制设置和/或用于该RP中的VM的最终资源控制设置。由此,包括在应用资源分配 模块108中的RP管理器的数量可以与将由应用资源分配模块管理的分布式计算机系统 1〇〇 的存在的RP数量一致。致动器414配置以设置或者应用用于VM和/或RP的资源控制设 置,如由RP管理器412确定。应用资源分配模块1〇8的这些组件可以实现为软件、硬件或 者软件和硬件的组合。在一个实施方式中,应用资源分配模块 108安装在管理服务器1〇6 上。在特定实现中,应用资源分配模块108可以安装在由与服务器相关联的一个或者多个 处理器执行的VMware vCenter?中。然而,在其他实施方式中,应用资源分配模块108可以 安装在任何其他计算机系统中。
[0042] 一在图5中示出了根据本发明一个实施方式的应用管理器5〇〇。应用管理器 5〇〇代 表图4示出的应用资源分配模块108的应用管理器41〇。如图 5所示,应用管理器5〇〇与由 多个VM执行的应用502配对以管理应用。应用500代表在分布式计算机系统 1〇〇中运行 的应用。由应用管理器500管理的应用502可以是多级应用,其中应用的每个级由一个或 者多个VM执行。作为示例,应用502可以是具有web级、应用级和数据库级的多级应用,每 个级由多个VM支持。
[0043] #如图5所示,应用502由应用传感器模块504和系统传感器模块506监视。应用 传感器模块5〇4针对运行在分布式计算机系统上的全部应用(包括应用5〇2)周期性地采 集各种应用等级性能度量,诸如,流量、平均响应时间和百分比响应时间。系统传感器模块 57^对2布式计算机系统中的全部包括运行应用5〇2的卿)周期性地测量并保持对 当iu头时资源分配的跟踪。在特定实现中,资源使用统计通过 vSphereTM Web服务应用编程 接口^API)来由系统传感器模块采集。作为示例,系统传感器模块可以使用"使用,,性能计 数器米集-时=间隔之上的平均每 VM cpu使用,并删"消费"计数器采集每vm的存储器 使用。在一个实施方式中,应用传感器模块5〇4和系统传感器模块 5〇6是应用资源分配模 块500的部分。在其他实施方式中,应用传感器模块5〇4和系统传感器模块 5〇6可以是管 理服务器106中的其他模块或者系统的部分。
[0044] 如图5所示,应用管理器500包括模型建立器510、应用控制器512和资源控制器 514。模型建立器510配置以使用来自应用传感器模块5〇4和系统传感器模块506的信息, 执行并迭代地细化作为VM等级资源分配的函数的用于观察到的应用性能的模型,即,运行 应用502的VM的资源分配。应用控制器512配置以将函数求逆以计算期望或者目标资源 分配的新集合,以便满足用户定义的SL0。资源控制器514配置以确定单独VM等级资源设 置的集合,其将使得运行在应用502上的VM在下一控制时段中获得期望资源分配。在特定 实现中,模型建立器510、应用控制器514和资源控制器514继续用于单一应用502的应用 管理器500的实例。页面500的执行组件将在下文更详细地描述。
[0045] 下文表格列出了在此使用的标记,该标记用以描述应用管理器500的模型建立器 510、应用控制器512和资源控制器514。
[0046]

【权利要求】
1. 一种计算机系统,包括: 应用资源分配模块,管理分布式计算机系统的由用于虚拟机(VM)的集合的至少一个 资源池(RP)使用的资源, 特征在于所述应用资源分配模块包括: 至少一个应用管理器,可操作地耦合至运行在所述分布式计算机系统中的应用,其中 所述应用管理器包括: 模型建立器,配置以构造作为当前VM等级资源分配的函数的所述应用的观察到的性 能的模型; 应用控制器,配置以将所述函数求逆以计算目标资源分配的集合;以及 资源控制器,配置以确定对应于所述目标资源分配的期望个体VM等级资源设置的集 合; 至少一个资源池管理器,可操作地耦合至所述至少一个应用管理器,所述资源池管理 器配置以至少基于所述期望个体VM等级资源设置的所述集合、所述资源池的当前RP等级 资源设置和所述资源池的可用资源容量,确定用于所述应用属于的资源池的最终RP等级 资源设置、以及用于在所述资源池下运行的所述VM的最终VM等级资源设置;以及 致动器,可操作地耦合至所述至少一个资源池管理器,所述致动器配置以基于所述资 源池的至少一个资源属性,将所述最终RP等级资源设置和所述最终VM等级资源设置中的 至少一个应用至所述资源池和在所述资源池下运行的所述VM。
2. 根据权利要求1所述的计算机系统,其中所述应用控制器配置以计算百分比单元形 式的所述目标资源分配,以及其中所述资源控制器配置以确定资源的绝对单元形式的期望 个体VM等级资源设置。
3. 根据权利要求1所述的计算机系统,其中所述资源控制器配置以向所述目标资源分 配添加安全缓冲,以确定期望个体VM等级资源设置的集合。
4. 根据权利要求3所述的计算机系统,其中所述资源控制器进一步配置以基于所述应 用的所述观察的性能选择增量值,以及基于选择的所述增量值计算所述安全缓冲。
5. 根据权利要求4所述的计算机系统,其中所述资源控制器配置以当所述应用的观察 的所述性能优于用户定义的服务等级目标时选择较低增量值,以及当所述应用的观察的所 述性能差于所述用户定义的服务等级目标时选择较高的增量值。
6. 根据权利要求5所述的计算机系统,其中所述资源控制器配置以计算资源限制值作 为保留值和所述安全值的总和。
7. 根据权利要求1所述的计算机系统,其中所述资源控制器配置以通过将用于资源的 目标分配值乘以用于该资源的所述容量来计算资源保留值。
8. 根据权利要求1所述的计算机系统,其中所述资源控制器配置以如果当前资源类型 为可扩展则仅应用所述最终VM等级资源设置。
9. 根据权利要求1所述的计算机系统,其中所述资源控制器配置以如果当前资源类型 为不可扩展并且不可修改则仅应用已经被成比例地限制的所述最终VM等级资源设置。
10. -种用于管理分布式计算机系统中的资源的方法,所述方法特征在于: 构造所述分布式计算机系统中运行的应用的观察的性能的模型,所述模型作为在虚拟 机(VM)等级分配的所述资源的当前VM等级资源分配的函数,其中所述分布式计算机系统 包括用于虚拟机(VM)的集合的至少一个资源池(RP); 将所述函数求逆以计算所述分布式计算机系统内的所述资源的目标资源分配的集合; 以及 确定对应于所述目标资源分配的期望个体VM等级资源设置的集合; 基于至少所述期望个体VM等级资源设置的所述集合、所述资源池的当前RP等级资源 设置和所述资源池的可用资源容量,确定用于所述应用属于的资源池的最终RP等级资源 设置、以及用于在所述资源池下运行的所述VM的最终VM等级资源设置;以及 基于所述资源池的至少一个资源属性,将所述最终RP等级资源设置和所述最终VM等 级资源设置中的至少一个应用至所述资源池和在所述资源池下运行的所述VM。
11. 根据权利要求10所述的方法,其中所述求逆所述函数包括:计算百分比单元形式 的所述目标资源分配,以及其中确定期望个体VM等级资源设置的所述集合包括:确定资源 的绝对单元形式的期望个体VM等级资源设置。
12. 根据权利要求10所述的方法,其中所述确定对应于所述目标资源分配的期望个体 VM等级资源设置的所述集合包括:向所述目标资源分配添加安全缓冲。
13. 根据权利要求12所述的方法,其中所述确定对应于所述目标资源分配的期望个体 VM等级资源设置的所述集合包括:基于所述应用的所述观察的性能选择增量值,以及基于 选择的所述增量值计算所述安全缓冲。
14. 根据权利要求13所述的方法,其中所述选择所述增量值包括:当所述应用的观察 的所述性能优于用户定义的服务等级目标时选择较低增量值,以及当所述应用的观察的所 述性能差于所述用户定义的服务等级目标时选择较高的增量值。
15. 根据权利要求14所述的方法,其中所述确定对应于所述目标资源分配的期望个体 VM等级资源设置的所述集合进一步包括:计算资源限制值作为保留值和所述安全值的总 和。
16. 根据权利要求10所述的方法,其中所述确定对应于所述目标资源分配的期望个体 VM等级资源设置的所述集合进一步包括:通过将用于资源的目标分配值乘以用于该资源 的所述容量来计算资源保留值。
17. 根据权利要求10所述的方法,其中应用所述最终RP等级资源设置和所述最终VM 等级资源设置中的至少一个包括:如果当前资源类型为可扩展则仅应用所述最终VM等级 资源设置。
18. 根据权利要求10所述的方法,其中应用所述最终RP等级资源设置和所述最终VM 等级资源设置中的至少一个包括:如果当前资源类型为不可扩展并且不可修改则仅应用已 经被成比例地限制的所述最终VM等级资源设置。
【文档编号】G06F9/50GK104252393SQ201410286077
【公开日】2014年12月31日 申请日期:2014年6月24日 优先权日:2013年6月25日
【发明者】朱晓芸, R·格里菲斯, P·帕达拉, A·帕里克, P·谢, 路磊 申请人:威睿公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1