一种虚拟化环境中自适应按需资源分配的方法及系统的制作方法

文档序号:6432263阅读:194来源:国知局
专利名称:一种虚拟化环境中自适应按需资源分配的方法及系统的制作方法
技术领域
本发明涉及资源分配,尤其涉及一种虚拟化环境中自适应按需资源分配的方法及系统,属于计算机技术领域。
背景技术
随着hternet应用的飞速发展,越来越多的服务提供商把服务外包给数据中心, 使得数据中心的规模变得越来越大、越来越复杂。虚拟化技术由于具有以下特点使得其在构建大规模数据中心中发挥着越来越重要的作用1、提升基础架构的资源利用率。一台物理机(PM)上可以同时运行多台虚拟机(VM),虚拟机监控器(VMM)提供更细粒度的资源分配机制支持,例如xen(—种开源的虚拟化产品)默认的credit调度策略提供CPU资源动态分配的机制支持,balloon driver提供memory资源动态分配机制支持,细粒度的资源分配接近于优化分配;2、更好的安全、隔离性。一台虚拟机受到病毒、安全威胁或其中的应用导致系统崩溃不会影响其他虚拟机的运行;3、具有更好的高可用性。当虚拟机所运行的物理机意外宕机,可以使用虚拟机迁移机制将整个虚拟机快速迁移到其他物理机继续运行;4、 能更好的降低功耗、制冷和机房空间。利用服务器整合技术,减少数据中心物理服务器和相关硬件的数量,从减少机房空间、能耗与制冷需求中获益;5、提高了 IT员工的工作效率。一台新服务器的上线需要复杂的流程,而新建虚拟机只是几分钟的事,大大简化了服务器的供应。数据中心中的资源管理分三个层次(1)同一台物理机上多个虚拟机之间如何划分物理机资源;( 虚拟机在物理机上的放置问题;C3)对外提供服务的服务器不止一台, 如何在提供相同服务的虚拟机之间进行请求分发。在目前的资源管理系统中,对于资源的分配与管理,存在着如下几个问题1)这三个层次相互独立考虑,没有考虑相互之间的依赖关系。例如,层次(3)中的请求分发策略设计的不合理,不能感知到虚拟机资源的动态变化,会出现层次(1)中“徒劳”增加或减少虚拟机资源的现象。在层次(1)中准确的按需为虚拟机分配资源,可以使得层次O)中虚拟机在更少量的物理机上进行放置。2)目前针对层次(I)HP 公司的 HP-UX Workload Manager、VMware 的 DRS、IBM 的 Tivoli都是基于定义的期望资源使用率来激发资源重新分配调整的。在学术界P. Padala, X. Zhu等也都是基于类似的思路进行资源的调整。基于资源使用率进行调整存在着以下一些缺点(a)随着hternet应用的发展,应用变得越来越“庞大”、越来越复杂,期望的资源使用率定义多少合适变得越来越困难。如果定义的太高,会影响应用的性能。如果定义的过低,导致浪费资源。(b)在虚拟化环境下,准确的资源使用率采样变得更加困难,因为需要过滤虚拟机监控器带来的开销。(c)当多个虚拟机运行于同一个物理机上时,以当前测得的资源使用率预测真实的资源需求准确性很差。3)传统的针对物理机环境下的请求分发策略在虚拟化环境下不再适用。在物理机环境下除非管理员手工进行scale up或scale down,否则在运行过程中应用所占用的服
5务器资源容量是不变的,而在虚拟化环境下由于VMM提供动态的更细粒度资源分配机制支持,虚拟机的资源容量在应用运行过程中会发生动态变化。4)传统情况下为了降低功耗和制冷成本,不使用的物理机进行关机以达到节能的目的。但是实际情况下web服务具有很大的突发性,这种情况发生时加入新的物理机器参与运行时间上的开销太大。据统计,如果系统不能对用户的请求按时响应超出用户的满意度,服务提供商不仅面临着“提升”用户对服务沮丧程度的风险,更有甚者用户可能会转向竞争者的服务,影响公司的产品和公司声誉,带来很大的经济损失。为了解决以上存在的问题,我们设计了一套自适应按需资源分配系统。针对问题 2),在层次(1)根据用户的期望响应时间进行一台物理机上多个虚拟机之间资源重新分配的依据,这种方式更直接更符合现实情况。针对问题幻,在层次( 设计了一个虚拟机资源容量动态感知模块能实时感知虚拟机容量的动态变化。针对问题4),维护了一个空闲资源池,当物理机不使用加入空闲资源池时,不是让其立即关机,而是让其处于休眠状态维持一段时间。针对问题1)我们所设计的系统考虑这三个层次之间的相互依赖。

发明内容
本发明的目的是提供一种虚拟化环境中自适应按需资源分配的方法及系统,以更有效的满足用户体验,更有效的使用资源。本发明是通过以下技术方案实现的1、本发明一种虚拟化环境中自适应按需资源分配的系统,它包括动态感知请求分发模块、一台物理机上多个虚拟机之间的按需分配模块(简称1-PM:N-VM模块)和数据中心全局管理模块,如图1所示。它们之间的关系是1-PM:N-VM模块101根据实时收集的用户体验进行一台物理机上资源的分配;动态感知请求分发模块102根据监测的应用请求负载信息和虚拟机容量信息把负载分发到合适的虚拟机上对请求进行响应;数据中心全局管理模块103根据收集的物理机资源负载信息决定是否需要虚拟机在物理机之间进行迁移以重新进行放置,在物理机过量或不足时是否向空闲资源池释放或申请新的物理机以退出或加入应用的服务。所述的动态感知请求分发模块包括应用负载监控模块、应用负载预测模块、虚拟机容量动态感知模块和请求分发模块,如图2所示。它们之间的关系是应用负载监控模块 201监测请求负载信息,把结果传递给应用负载预测模块202 ;应用负载预测模块202使用长期预测加短期修正方法对负载量进行预测;虚拟机容量动态感知模块203实时收集各个虚拟机的容量信息;请求分发模块204根据负载预测的结果和各个虚拟机的容量信息选择合适的虚拟机处理请求对其进行响应。该应用负载监控模块是每一类应用都需要一台负载分发器,负载监控模块运行于其上。所有的请求首先到达相应的负载分发器,此处的应用负载监控模块可以很容易的获知全局负载信息。该模块是个程序元件。该应用负载预测模块是使用长期预测加短期修正的方法对负载进行预测。根据应用负载监控模块第i个阶段的实测负载和第i个阶段的预测误差预测第i+ι个阶段的负载状态。该模块是个程序元件。该虚拟机容量动态感知模块是在物理机中的domainO控制台虚拟机中实时监测运行其上的各个虚拟机的容量变化。该模块是个程序元件。该请求分发模块是根据所设计的策略把请求转发到相应的虚拟机中进行处理。 该模块是个程序元件。所述的按需分配模块即1-PM:N-VM模块包括请求响应时间获得模块、资源需求控制模块和资源裁决控制模块,如图3所示。它们之间的关系是请求响应时间模块301实时获得每个虚拟机中所运行应用的请求响应时间;资源需求控制模块302依据实时获得的实际响应时间和所定义的期望响应时间的差异,决定需要增加或减少的资源量;资源裁决控制模块303根据资源需求控制模块所提供的各个虚拟需求和资源总量的限制条件,做出最终资源分配的决定。该请求响应时间获得模块是根据请求到达时间戳和响应处理完毕时间戳的差值获得每个请求在服务器端的实际处理时间。该模块是个程序元件。该资源需求控制模块是根据请求的实际处理时间和期望响应时间决定虚拟机的资源需求。该模块是个程序元件。该资源裁决控制模块是根据各个虚拟机的资源需求和资源总量的限制决定最终的资源分配结果。当不发生资源竞争时,按需为各个虚拟机分配资源。当发生竞争时,提供服务差异,优先保证高优先级应用的资源需求。该模块是个程序元件。所述的数据中心全局管理模块包括物理机资源监控模块、虚拟机迁移管理模块和空闲资源池管理模块。如图4所示。它们之间的关系是物理机资源监控模块401监控物理机的各类资源使用情况;虚拟机迁移管理模块402根据物理机资源监控模块收集的信息决定是否需要发生虚拟机在各个物理机之间的迁移进行重新放置,以及选择哪些虚拟机进行迁移;空闲资源池管理模块403根据虚拟机迁移管理模块进行迁移后的结果决定是否需要向空闲池申请或释放物理机。该物理机资源监控模块是监控物理机的各类资源使用情况。该模块是个程序元件。该虚拟机迁移管理模块是当物理机监控模块监测到物理机的资源使用率过高时,需要把其上运行的一些虚拟机采取一定的策略迁移到其他负载资源使用率较轻的物理结点上。当物理机监控模块监测到大多数物理机的资源使用率过低时,需要把某些负载低的物理上运行的虚拟机采取一定的策略迁移到其他物理节点上,以空闲出更多的物理机释放到空闲资源池达到降低功耗的目的。该模块是个程序元件。该空闲资源池管理模块是负责维护空闲资源池,当前正在运行的物理机数量“过量”或“不足”时,空闲资源池管理模块负责向空闲资源池申请添加或释放物理机。该模块是个程序元件。2、本发明一种虚拟化环境中自适应按需资源分配的方法,其中包括三个具体的策略1)自适应的虚拟机动态容量感知请求分发策略,其具体步骤如下步骤1 实时监控应用负载;步骤2 使用长期预测和短期修正的方法,根据第i个阶段的实测负载和预测误差预测第i+Ι个阶段的应用负载;步骤3 实时获得虚拟机的资源容量信息;
步骤4 据步骤1预测的负载量信息与预设的负载阈值进行比较,若小于负载阈值,应用负载很低时,应尽量将负载集中,以便空出更多的物理机释放到空闲资源池以达到降低功耗的目的;若高于负载阈值,应尽量将负载均衡,避免出现有的虚拟机“忙死”,有的虚拟机“闲死”现象的发生。2) I-PM N-VM资源分配策略设计了一种一台物理机上多台虚拟机之间根据应用的用户体验(在这指响应时间)进行资源分配的方法(简称1-PM:N-VM资源分配策略)。其具体步骤如下步骤1 实时获得运行在每个虚拟机上应用的请求响应时间;步骤2 为每类应用定义一个期望的响应时间范围。统计在每个周期内响应时间落入期望响应时间范围左侧,正好落入期望响应时间范围内,落入期望响应时间范围右侧的请求数。定义期望的用户满意度,期望的用户满意度以落入期望响应时间范围内的请求数和总请求数的比例来表示,越高效果越好。当落入期望响应时间范围左侧的请求数和总请求数的比例超出一定的阈值意味着为应用提供的资源充足,应当减少资源。当落入期望响应时间范围右侧的请求数和总请求数的比例超出一定的阈值意味着发生资源不足供应的现象,应该增加资源;步骤3 根据设计的资源差异和响应时间差异的函数模型决定需要增加或减少的
资源量;步骤4 依据设计的优化理论模型,根据各个虚拟机的资源需求和资源总量的限制裁决最终的资源分配。3)虚拟机迁移策略,其具体步骤如下步骤1 为每台物理机定义一个资源使用率的上下限阈值步骤2 当物理机资源使用率低于下限此时又没有物理机的资源使用率高于上限,并且存在着物理机可以接收其上运行的虚拟机(可以接收意味着其他物理机接收虚拟机不会导致物理机的资源使用率超出上限)预示着物理机“过量”供应,将其上运行的虚拟机迁移到可以接收的物理机上,减少物理机的数量。当物理机资源使用率高于上限,但存在物理机可以接收其上运行的虚拟机,需要把虚拟机迁移到可以接收的物理机上继续运行。 当物理机资源使用率高于上限阈值并维持了一段时间,此时没有可以接收其上运行的虚拟机继续运行的物理机,应从空闲资源池中吸收正在休眠的物理机加入运行。3、本发明的优点在于1)设计了一个综合考虑一台物理机上多个虚拟机之间资源分配、提供同等服务的多个虚拟机之间请求分发、虚拟机放置三个层次的自适应资源管理框架。所设计的系统具有自适应性,减少了系统管理员的维护成本。2)设计了根据实际的用户体验进行资源分配的策略,与传统的依据期望资源使用率进行资源分配调整的方法相比,不仅直接更具有现实意义。3)不同于传统的请求分发策略,所设计的虚拟机容量动态感知模块能实时感知到虚拟机容量的变化,进而能更好的利用资源。4)所维护的空闲资源池能更好的应对负载的“突变”。由于释放到空闲资源池中的物理机不是立即关机,而是处于休眠状态维持一段时间,减少了负载突变动态加入需要的启动时间。

图1本发明自适应按需资源分配整体框架2本发明动态感知请求分发模块结构示意3本发明I-PM N-VM资源分配模块结构示意4本发明数据中心全局管理模块结构示意5本发明动态感知请求分发策略流程61-PM N-VM资源分配策略流程7虚拟机迁移策略流程中符号说明如下101 I-PMiN-VM模块;102动态感知请求分发模块;103数据中心全局管理模块; 201应用负载监控模块;202应用负载预测模块;203虚拟机容量动态感知模块;204请求分发模块;301请求响应时间获得模块;302资源需求控制模块;303资源裁决控制模块;401 物理机资源监控模块;402虚拟机迁移管理模块;403空闲资源池管理模块。PM Physical Machine,物理机;VM Virtual Machine,虚拟机;1-PM:N-VM 表示一个物理机上多个虚拟机之间的资源分配;Tij第i个应用在第j个统计周期的总请求数; Nij第i个应用在第j个统计周期实际响应时间落入期望响应时间的请求数;Li j第i个应用在第j个统计周期实际响应时间落入期望响应时间左侧的请求数;Uij第i个应用在第j 个统计周期实际响应时间落入期望响应时间右侧的请求数。
具体实施例方式为使本发明技术方案和优点更加清楚,下面结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整的描述。需要说明的是,在附图或说明书中,相同的元件皆使用相同的附图标记。本发明一种虚拟化环境中自适应按需资源分配的系统,它包括一台物理机上多个虚拟机之间的按需分配模块(简称1-PM:N-VM模块)101、动态感知请求分发模块102、数据中心全局管理模块103,如图1所示。1-PM:N-VM模块101根据实时收集的用户体验进行一台物理机上资源的分配;动态感知请求分发模块102根据监测的应用请求负载信息和虚拟机容量信息把负载分发到合适的虚拟机上对请求进行响应;数据中心全局管理模块103根据收集的物理机资源负载信息决定是否需要虚拟机在物理机之间进行迁移以重新进行放置,在物理机过量或不足时是否向空闲资源池释放或申请新的物理机以退出或加入应用的服务。所述的动态感知请求分发模块102包括应用负载监控模块201、应用负载预测模块202、虚拟机容量动态感知模块203和请求分发模块204,如图2所示。应用负载监控模块201监测请求负载信息,把结果传递给应用负载预测模块202 ;应用负载预测模块202使用长期预测加短期修正方法对负载量进行预测;虚拟机容量动态感知模块203实时收集各个虚拟机的容量信息;请求分发模块204根据负载预测的结果和各个虚拟机的容量信息选择合适的虚拟机处理请求对其进行响应。该应用负载监控模块201 每一类应用都需要一台负载分发器,负载监控模块运行于其上。所有的请求首先到达相应的负载分发器,此处的应用负载监控模块可以很容易的获知全局负载信息,实时收集各应用的负载量信息。该模块是个程序元件。该应用负载预测模块202 针对web服务的负载,长期而言负载具有一定的规律性,但是短期内又具有一定的突发性,对负载的预测采取长期预测加短期修正的方法。根据应用负载监控模块第i个阶段的实测负载和第i个阶段的预测误差预测第i+Ι个阶段的负载状态。该模块是个程序元件。该虚拟机容量动态感知模块203 在物理机中的domainO控制台虚拟机中实时监测运行其上的各个虚拟机的容量变化,利用xenstore和使用xentop命令可以实时获得各个虚拟机的资源容量信息。该模块是个程序元件。该请求分发模块204 根据应用预测模块预测的负载量和虚拟机容量动态感知模块收集的各虚拟机容量信息,依据所设计的策略(见实时例一中的请求分发策略)把请求转发到相应的虚拟机中进行处理。该模块是个程序元件。所述的按需分配模块即1-PM:N-VM模块101包括请求响应时间获得模块301、资源需求控制模块302和资源裁决控制模块303,如图3所示。请求响应时间模块301实时获得每个虚拟机中所运行应用的请求响应时间;资源需求控制模块302依据实时获得的实际响应时间和所定义的期望响应时间的差异,决定需要增加或减少的资源量;资源裁决控制模块303根据资源需求控制模块所提供的各个虚拟需求和资源总量的限制条件,做出最终资源分配的决定。该请求响应时间获得模块301 根据请求到达时间戳和响应处理完毕时间戳的差值获得每个请求在服务器端的实际处理时间。每类应用定义一个期望的响应时间。所有的请求都会通过位于domainO中的虚拟bridge进行转发,使用tshark工具从数据链路层对请求和响应包进行获得,使用四元组〈源IP,目的IP,源端口,目的端口 >标识一个连接,分析获得响应时间。该模块是个程序元件。该资源需求控制模块302 根据请求的实际处理时间和期望响应时间决定虚拟机的资源需求。资源量和响应时间之间的关系很复杂,很难用一个数学模型来表达之间的关系。田纳西大学的王晓瑞等人证实资源量之间的差异和响应时间的差异关系更容易用数学模型表示,本发明设计资源差异和响应时间差异的关系模型以此得出需要增加或减少的资源量(见实施例二)。该模块是个程序元件。该资源裁决控制模块303 根据各个虚拟机的资源需求和资源总量的限制决定最终的资源分配结果。当不发生资源竞争时,按需为各个虚拟机分配资源。当发生竞争时,提供服务差异,优先保证高优先级应用的资源需求。该模块是个程序元件。所述的数据中心全局管理模块103包括物理机资源监控模块401、虚拟机迁移管理模块402和空闲资源池管理模块403。物理机资源监控模块401监控物理机的各类资源使用情况;虚拟机迁移管理模块402根据物理机资源监控模块收集的信息决定是否需要发生虚拟机在各个物理机之间的迁移进行重新放置,以及选择哪些虚拟机进行迁移;空闲资源池管理模块403根据虚拟机迁移管理模块402进行迁移后的结果决定是否需要向空闲池申请或释放物理机。该物理机资源监控模块401 监控物理机的各类资源使用情况。使用开源的性能收集工具sysstat对物理机各类资源使用情况进行实时收集。该模块是个程序元件。
该虚拟机迁移管理模块402 当物理机监控模块监测到物理机的资源使用率过高时,需要把其上运行的一些虚拟机采取一定的策略迁移(见实施例三)到其他负载资源使用率较轻的物理结点上。当物理机监控模块监测到大多数物理机的资源使用率过低时,需要把某些负载低的物理上运行的虚拟机采取一定的策略(见实施例三)迁移到其他物理节点上,以空闲出更多的物理机释放到空闲资源池达到降低功耗的目的。该模块是个程序元件。该空闲资源池管理模块403:负责维护空闲资源池,当前正在运行的物理机数量 “过量”或“不足”时,空闲资源池管理模块负责向空闲资源池申请添加或释放物理机。该模块是个程序元件。2、本发明一种在虚拟化环境中自适应按需分配资源的方法,其中包括三个具体的策略实施例一,自适应的虚拟机动态容量感知请求分发策略;实施例二,I-PMiN-VM资源分配策略;实施例三,虚拟机迁移策略。1)实施例一自适应的虚拟机动态容量感知请求分发策略图5为本发明实施例一提供的虚拟化环境中动态感知请求分发策略的方法流程图,在本实施例中,动态感知请求分发策略的方法步骤为步骤1 使用应用负载监测模块201监测当前应用的负载状态信息;步骤2 使用长期预测加短期修正的预测方法根据当前的负载状态信息和当前的预测误差预测下一个阶段的负载量大小步骤3 虚拟机容量动态感知模块203实时感知虚拟机容量变化,维护一个本服务所有虚拟机容量的双向循环链表。双向循环链表按着容量从大到小的顺序对虚拟机进行排序。步骤4 请求分发模块204根据当前的负载状态和提供服务的虚拟机容量把请求转发到合适的服务器上进行服务。若负载量小于一定的阈值,应将负载尽量的集中。按如下公式1进行计算W1^PM拥有的VM数量+W2*VM资源使用率+W3*VM资源容量(公式1)对值进行降序排序,把请求转发给值最大的虚拟机上进行处理,以使得所运行的虚拟机个数少的物理机能尽快“排空”其上的负载,达到尽快释放物理机到空闲资源池以达到降低功耗的目的。若负载量高于一定的阈值,应将负载尽量的在各个虚拟机之间进行均衡。按如下公式2进行计算W1^VM所在PM的资源利用率+W2*VM资源使用率+W3/VM资源容量(公式2)对值按升序进行排序,把请求转发给值最小的虚拟机上进行处理,以使得负载能尽量的均衡。2)实施例二 I-PM N-VM资源分配策略图6为本发明实施例二提供的1-PM:N-VM资源分配策略的流程图,在本实施例中, 1-PM:N-VM资源分配策略的方法步骤为步骤1 使用请求响应时间获得模块301获得每个请求的实际响应时间。根据< 源IP,目的IP,源端口,目的端口〉标示一个连接,利用请求时间戳和响应时间戳的差值得到每个请求的实际响应时间,并且统计每个应用i在第j个周期内的吞吐量Tu,设定期望的响应时间为[A-U +&]。统计响应时间落入期望响应时间范围内[A -U的请求数Nij和响应时间落入A - A,左侧的请求数Lij或响应时间落入A + 右侧的请求数Uu。 Clij为第i个虚拟机第j个周期内的实测响应时间,Ru为第i个虚拟机第j个周期的资源。步骤2 设定应用的满意度为Pij = NijAij (公式 3)应用i的最坏承受度为4,当& >1_化时应用的满意度得到满足。当、/7;_ >4 (公式4)时,落入期望响应时间范围左侧的请求数和总请求数的比例超出设定的阈值意味着为应用提供的资源充足,用户体验很好。但是这种情况在实际当中也是不期望发生的现象,因为应用占用越多的资源需要付出更多的成本,服务提供商并没有因为提供更好的用户体验而获得比落入期望响应时间范围内更多的收益,这种情况下提供商的净收益其实是减少了,所以应当减少资源。当% ITij > Q1 (公式5)时,落入期望响应时间范围右侧的请求数和总请求数的比例超出设定的阈值意味着发生资源不足供应的现象,用户体验受到影响,应该为其增加资源。步骤3 资源量之间的差异和响应时间的差异关系更容易用数学模型表示,本发明设计资源差异和响应时间差异的关系模型以此得出需要增加或减少的资源量。离期望响应时间范围越接近,需要增加或减少的资源量越小。Δ Rij = λ (I-Pij) * Δ Clij (公式 6)其中ARij = Rij-Rij^1, Adlj = (Iij-Dij | , λ 为系数。步骤4 根据各个虚拟机的资源需求,考虑到资源总量的限制,当不发生资源竞争时按需进行分配,当发生资源竞争时优先保证高优先级应用的资源需求。3)实施例三虚拟机迁移策略图7为本发明实施例三提供的虚拟机迁移策略的流程图,在本实施例中虚拟机迁移策略的方法步骤为步骤1 使用物理机资源监控模块401获得每个物理机的资源使用情况。为每个物理机定义一个资源使用率的上下限。步骤2 判断资源使用率是否大于上限?若大于上限,按如下公式计算W1^VM内存量+W2*VM内存脏页率+W3/VM的CPU负载(公式7)选择值最小的虚拟机进行迁移。这是因为据实验分析,虚拟机迁移的开销主要跟虚拟机所占用的内存量大小和虚拟机在运行过程中产生的脏页率有关。按这种方式进行迁移可以降低虚拟机迁移时的开销,节省时间。判断是否存在可以接收虚拟机继续运行的物理机?可以接收虚拟机,是指虚拟机迁移过去后,不会使得目的物理机的资源使用率超出使用率的上限限制。若存在,则进行迁移的操作。若不存在,则向空闲资源池管理模块进行申请加入新的物理机投入运行。若小于上限,判断是否存在可以接收物理机上所运行所有虚拟机的物理机?若存在,则进行迁移操作。是否可以把物理机上所有的虚拟机迁移完毕?若可以,则把此时空闲的物理机释
12放到空闲资源池中。
权利要求
1. 一种虚拟化环境中自适应按需资源分配的系统,其特征在于它包括动态感知请求分发模块、一台物理机上多个虚拟机之间的按需分配模块即1-PM:N-VM模块和数据中心全局管理模块,1-PM:N-VM模块根据实时收集的用户体验进行一台物理机上资源的分配;动态感知请求分发模块根据监测的应用请求负载信息和虚拟机容量信息把负载分发到合适的虚拟机上对请求进行响应;数据中心全局管理模块根据收集的物理机资源负载信息决定是否需要虚拟机在物理机之间进行迁移以重新进行放置,在物理机过量或不足时是否向空闲资源池释放或申请新的物理机以退出或加入应用的服务;所述的动态感知请求分发模块包括应用负载监控模块、应用负载预测模块、虚拟机容量动态感知模块和请求分发模块,应用负载监控模块监测请求负载信息,把结果传递给应用负载预测模块;应用负载预测模块使用长期预测加短期修正方法对负载量进行预测;虚拟机容量动态感知模块实时收集各个虚拟机的容量信息;请求分发模块根据负载预测的结果和各个虚拟机的容量信息选择合适的虚拟机处理请求对其进行响应;该应用负载监控模块是每一类应用都需要一台负载分发器,负载监控模块运行于其上;所有的请求首先到达相应的负载分发器,此处的应用负载监控模块可以很容易的获知全局负载信息,该模块是个程序元件;该应用负载预测模块是使用长期预测加短期修正的方法对负载进行预测;根据应用负载监控模块第i个阶段的实测负载和第i个阶段的预测误差预测第i+Ι个阶段的负载状态,该模块是个程序元件;该虚拟机容量动态感知模块是在物理机中的domainO控制台虚拟机中实时监测运行其上的各个虚拟机的容量变化,该模块是个程序元件;该请求分发模块是根据所设计的策略把请求转发到相应的虚拟机中进行处理,该模块是个程序元件;所述的按需分配模块即1-PM:N-VM模块包括请求响应时间获得模块、资源需求控制模块和资源裁决控制模块,请求响应时间模块实时获得每个虚拟机中所运行应用的请求响应时间;资源需求控制模块依据实时获得的实际响应时间和所定义的期望响应时间的差异,决定需要增加或减少的资源量;资源裁决控制模块根据资源需求控制模块所提供的各个虚拟需求和资源总量的限制条件,做出最终资源分配的决定;该请求响应时间获得模块是根据请求到达时间戳和响应处理完毕时间戳的差值获得每个请求在服务器端的实际处理时间,该模块是个程序元件;该资源需求控制模块是根据请求的实际处理时间和期望响应时间决定虚拟机的资源需求,该模块是个程序元件;该资源裁决控制模块是根据各个虚拟机的资源需求和资源总量的限制决定最终的资源分配结果;当不发生资源竞争时,按需为各个虚拟机分配资源;当发生竞争时,提供服务差异,优先保证高优先级应用的资源需求;该模块是个程序元件;所述的数据中心全局管理模块包括物理机资源监控模块、虚拟机迁移管理模块和空闲资源池管理模块,物理机资源监控模块监控物理机的各类资源使用情况;虚拟机迁移管理模块根据物理机资源监控模块收集的信息决定是否需要发生虚拟机在各个物理机之间的迁移进行重新放置,以及选择哪些虚拟机进行迁移;空闲资源池管理模块根据虚拟机迁移管理模块进行迁移后的结果决定是否需要向空闲池申请或释放物理机;该物理机资源监控模块是监控物理机的各类资源使用情况,该模块是个程序元件; 该虚拟机迁移管理模块是当物理机监控模块监测到物理机的资源使用率过高时,需要把其上运行的一些虚拟机采取一定的策略迁移到其它负载资源使用率较轻的物理结点上;当物理机监控模块监测到大多数物理机的资源使用率过低时,需要把某些负载低的物理上运行的虚拟机采取一定的策略迁移到其他物理节点上,以空闲出更多的物理机释放到空闲资源池达到降低功耗的目的,该模块是个程序元件;该空闲资源池管理模块是负责维护空闲资源池,当前正在运行的物理机数量“过量” 或“不足”时,空闲资源池管理模块负责向空闲资源池申请添加或释放物理机,该模块是个程序元件。
2. 一种虚拟化环境中自适应按需资源分配的方法,其特征在于它包括三个具体的策略1)自适应的虚拟机动态容量感知请求分发策略,其具体步骤如下 步骤1 实时监控应用负载;步骤2 使用长期预测和短期修正的方法,根据第i个阶段的实测负载和预测误差预测第i+Ι个阶段的应用负载;步骤3 实时获得虚拟机的资源容量信息;步骤4 据步骤1预测的负载量信息与预设的负载阈值进行比较,若小于负载阈值,应用负载很低时,应尽量将负载集中,以便空出更多的物理机释放到空闲资源池以达到降低功耗的目的;若高于负载阈值,应尽量将负载均衡,避免出现有的虚拟机“忙死”,有的虚拟机“闲死”现象的发生;2)I-PMiN-VM资源分配策略,其具体步骤如下步骤1 实时获得运行在每个虚拟机上应用的请求响应时间; 步骤2 为每类应用定义一个期望的响应时间范围;统计在每个周期内响应时间落入期望响应时间范围左侧,正好落入期望响应时间范围内,落入期望响应时间范围右侧的请求数;定义期望的用户满意度,期望的用户满意度以落入期望响应时间范围内的请求数和总请求数的比例来表示,越高效果越好;当落入期望响应时间范围左侧的请求数和总请求数的比例超出一定的阈值意味着为应用提供的资源充足,应当减少资源;当落入期望响应时间范围右侧的请求数和总请求数的比例超出一定的阈值意味着发生资源不足供应的现象,应该增加资源;步骤3 根据设计的资源差异和响应时间差异的函数模型决定需要增加或减少的资源量;步骤4:依据设计的优化理论模型,根据各个虚拟机的资源需求和资源总量的限制裁决最终的资源分配;3)虚拟机迁移策略,其具体步骤如下步骤1 为每台物理机定义一个资源使用率的上下限阈值;步骤2:当物理机资源使用率低于下限此时又没有物理机的资源使用率高于上限,并且存在着物理机可以接收其上运行的虚拟机,预示着物理机“过量”供应,将其上运行的虚拟机迁移到可以接收的物理机上,减少物理机的数量;当物理机资源使用率高于上限,但存在物理机可以接收其上运行的虚拟机,需要把虚拟机迁移到可以接收的物理机上继续运行;当物理机资源使用率高于上限阈值并维持了一段时间,此时没有可以接收其上运行的虚拟机继续运行的物理机,应从空闲资源池中吸收正在休眠的物理机加入运行。
全文摘要
一种虚拟化环境中自适应按需资源分配的系统,它包括动态感知请求分发模块、1-PM:N-VM模块和数据中心全局管理模块。1-PM:N-VM模块根据实时收集的用户体验进行一台物理机上资源的分配;动态感知请求分发模块根据监测的应用请求负载信息和虚拟机容量信息把负载分发到合适的虚拟机上对请求进行响应;数据中心全局管理模块根据收集的物理机资源负载信息决定是否需要虚拟机在物理机之间进行迁移以重新进行放置,在物理机过量或不足时是否向空闲资源池释放或申请新的物理机以退出或加入应用的服务。一种虚拟化环境中自适应按需资源分配的方法,它包括自适应的虚拟机动态容量感知请求分发策略、1-PM:N-VM资源分配策略和虚拟机迁移策略。本发明在计算机技术领域里有应用前景。
文档编号G06F9/48GK102279771SQ20111025814
公开日2011年12月14日 申请日期2011年9月2日 优先权日2011年9月2日
发明者刘家军, 张伟, 徐威, 祝明发, 肖利民, 阮利 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1