CN102279771B - 一种虚拟化环境中自适应按需资源分配的方法及*** - Google Patents

一种虚拟化环境中自适应按需资源分配的方法及*** Download PDF

Info

Publication number
CN102279771B
CN102279771B CN 201110258144 CN201110258144A CN102279771B CN 102279771 B CN102279771 B CN 102279771B CN 201110258144 CN201110258144 CN 201110258144 CN 201110258144 A CN201110258144 A CN 201110258144A CN 102279771 B CN102279771 B CN 102279771B
Authority
CN
China
Prior art keywords
module
resource
virtual machine
request
physical machine
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.)
Active
Application number
CN 201110258144
Other languages
English (en)
Other versions
CN102279771A (zh
Inventor
祝明发
张伟
徐威
刘家军
肖利民
阮利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rizhao Yucheng Technology Consulting Service Co.,Ltd.
Original Assignee
Beihang University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN 201110258144 priority Critical patent/CN102279771B/zh
Publication of CN102279771A publication Critical patent/CN102279771A/zh
Application granted granted Critical
Publication of CN102279771B publication Critical patent/CN102279771B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种虚拟化环境中自适应按需资源分配的***,它包括动态感知请求分发模块、1-PM:N-VM模块和数据中心全局管理模块。1-PM:N-VM模块根据实时收集的用户体验进行一台物理机上资源的分配;动态感知请求分发模块根据监测的应用请求负载信息和虚拟机容量信息把负载分发到合适的虚拟机上对请求进行响应;数据中心全局管理模块根据收集的物理机资源负载信息决定是否需要虚拟机在物理机之间进行迁移以重新进行放置,在物理机过量或不足时是否向空闲资源池释放或申请新的物理机以退出或加入应用的服务。一种虚拟化环境中自适应按需资源分配的方法,它包括自适应的虚拟机动态容量感知请求分发策略、1-PM:N-VM资源分配策略和虚拟机迁移策略。本发明在计算机技术领域里有应用前景。

Description

一种虚拟化环境中自适应按需资源分配的方法及***
(一)技术领域
本发明涉及资源分配,尤其涉及一种虚拟化环境中自适应按需资源分配的方法及***,属于计算机技术领域。
(二)背景技术
随着Internet应用的飞速发展,越来越多的服务提供商把服务外包给数据中心,使得数据中心的规模变得越来越大、越来越复杂。虚拟化技术由于具有以下特点使得其在构建大规模数据中心中发挥着越来越重要的作用:1、提升基础架构的资源利用率。一台物理机(PM)上可以同时运行多台虚拟机(VM),虚拟机监控器(VMM)提供更细粒度的资源分配机制支持,例如xen(一种开源的虚拟化产品)默认的credit调度策略提供CPU资源动态分配的机制支持,balloon driver提供memory资源动态分配机制支持,细粒度的资源分配接近于优化分配;2、更好的安全、隔离性。一台虚拟机受到病毒、安全威胁或其中的应用导致***崩溃不会影响其他虚拟机的运行;3、具有更好的高可用性。当虚拟机所运行的物理机意外宕机,可以使用虚拟机迁移机制将整个虚拟机快速迁移到其他物理机继续运行;4、能更好的降低功耗、制冷和机房空间。利用服务器整合技术,减少数据中心物理服务器和相关硬件的数量,从减少机房空间、能耗与制冷需求中获益;5、提高了IT员工的工作效率。一台新服务器的上线需要复杂的流程,而新建虚拟机只是几分钟的事,大大简化了服务器的供应。
数据中心中的资源管理分三个层次:(1)同一台物理机上多个虚拟机之间如何划分物理机资源;(2)虚拟机在物理机上的放置问题;(3)对外提供服务的服务器不止一台,如何在提供相同服务的虚拟机之间进行请求分发。
在目前的资源管理***中,对于资源的分配与管理,存在着如下几个问题:
1)这三个层次相互独立考虑,没有考虑相互之间的依赖关系。例如,层次(3)中的请求分发策略设计的不合理,不能感知到虚拟机资源的动态变化,会出现层次(1)中“徒劳”增加或减少虚拟机资源的现象。在层次(1)中准确的按需为虚拟机分配资源,可以使得层次(2)中虚拟机在更少量的物理机上进行放置。
2)目前针对层次(1)HP公司的HP-UX Workload Manager、VMware的DRS、IBM的Tivoli都是基于定义的期望资源使用率来激发资源重新分配调整的。在学术界P.Padala,X.Zhu等也都是基于类似的思路进行资源的调整。基于资源使用率进行调整存在着以下一些缺点:(a)随着Internet应用的发展,应用变得越来越“庞大”、越来越复杂,期望的资源使用率定义多少合适变得越来越困难。如果定义的太高,会影响应用的性能。如果定义的过低,导致浪费资源。(b)在虚拟化环境下,准确的资源使用率采样变得更加困难,因为需要过滤虚拟机监控器带来的开销。(c)当多个虚拟机运行于同一个物理机上时,以当前测得的资源使用率预测真实的资源需求准确性很差。
3)传统的针对物理机环境下的请求分发策略在虚拟化环境下不再适用。在物理机环境下除非管理员手工进行scale up或scale down,否则在运行过程中应用所占用的服务器资源容量是不变的,而在虚拟化环境下由于VMM提供动态的更细粒度资源分配机制支持,虚拟机的资源容量在应用运行过程中会发生动态变化。
4)传统情况下为了降低功耗和制冷成本,不使用的物理机进行关机以达到节能的目的。但是实际情况下web服务具有很大的突发性,这种情况发生时加入新的物理机器参与运行时间上的开销太大。据统计,如果***不能对用户的请求按时响应超出用户的满意度,服务提供商不仅面临着“提升”用户对服务沮丧程度的风险,更有甚者用户可能会转向竞争者的服务,影响公司的产品和公司声誉,带来很大的经济损失。
为了解决以上存在的问题,我们设计了一套自适应按需资源分配***。针对问题2),在层次(1)根据用户的期望响应时间进行一台物理机上多个虚拟机之间资源重新分配的依据,这种方式更直接更符合现实情况。针对问题3),在层次(2)设计了一个虚拟机资源容量动态感知模块能实时感知虚拟机容量的动态变化。针对问题4),维护了一个空闲资源池,当物理机不使用加入空闲资源池时,不是让其立即关机,而是让其处于休眠状态维持一段时间。针对问题1)我们所设计的***考虑这三个层次之间的相互依赖。
(三)发明内容
本发明的目的是提供一种虚拟化环境中自适应按需资源分配的方法及***,以更有效的满足用户体验,更有效的使用资源。
本发明是通过以下技术方案实现的:
1、本发明一种虚拟化环境中自适应按需资源分配的***,它包括动态感知请求分发模块、一台物理机上多个虚拟机之间的按需分配模块(简称1-PM:N-VM模块)和数据中心全局管理模块,如图1所示。它们之间的关系是:1-PM:N-VM模块101根据实时收集的用户体验进行一台物理机上资源的分配;动态感知请求分发模块102根据监测的应用请求负载信息和虚拟机容量信息把负载分发到合适的虚拟机上对请求进行响应;数据中心全局管理模块103根据收集的物理机资源负载信息决定是否需要虚拟机在物理机之间进行迁移以重新进行放置,在物理机过量或不足时是否向空闲资源池释放或申请新的物理机以退出或加入应用的服务。
所述的动态感知请求分发模块包括:应用负载监控模块、应用负载预测模块、虚拟机容量动态感知模块和请求分发模块,如图2所示。它们之间的关系是:应用负载监控模块201监测请求负载信息,把结果传递给应用负载预测模块202;应用负载预测模块202使用长期预测加短期修正方法对负载量进行预测;虚拟机容量动态感知模块203实时收集各个虚拟机的容量信息;请求分发模块204根据负载预测的结果和各个虚拟机的容量信息选择合适的虚拟机处理请求对其进行响应。
该应用负载监控模块是:每一类应用都需要一台负载分发器,负载监控模块运行于其上。所有的请求首先到达相应的负载分发器,此处的应用负载监控模块可以很容易的获知全局负载信息。该模块是个程序元件。
该应用负载预测模块是:使用长期预测加短期修正的方法对负载进行预测。根据应用负载监控模块第i个阶段的实测负载和第i个阶段的预测误差预测第i+1个阶段的负载状态。该模块是个程序元件。
该虚拟机容量动态感知模块是:在物理机中的domain0控制台虚拟机中实时监测运行其上的各个虚拟机的容量变化。该模块是个程序元件。
该请求分发模块是:根据所设计的策略把请求转发到相应的虚拟机中进行处理。该模块是个程序元件。
所述的按需分配模块即1-PM:N-VM模块包括:请求响应时间获得模块、资源需求控制模块和资源裁决控制模块,如图3所示。它们之间的关系是:请求响应时间模块301实时获得每个虚拟机中所运行应用的请求响应时间;资源需求控制模块302依据实时获得的实际响应时间和所定义的期望响应时间的差异,决定需要增加或减少的资源量;资源裁决控制模块303根据资源需求控制模块所提供的各个虚拟需求和资源总量的限制条件,做出最终资源分配的决定。
该请求响应时间获得模块是:根据请求到达时间戳和响应处理完毕时间戳的差值获得每个请求在服务器端的实际处理时间。该模块是个程序元件。
该资源需求控制模块是:根据请求的实际处理时间和期望响应时间决定虚拟机的资源需求。该模块是个程序元件。
该资源裁决控制模块是:根据各个虚拟机的资源需求和资源总量的限制决定最终的资源分配结果。当不发生资源竞争时,按需为各个虚拟机分配资源。当发生竞争时,提供服务差异,优先保证高优先级应用的资源需求。该模块是个程序元件。
所述的数据中心全局管理模块包括:物理机资源监控模块、虚拟机迁移管理模块和空闲资源池管理模块。如图4所示。它们之间的关系是:物理机资源监控模块401监控物理机的各类资源使用情况;虚拟机迁移管理模块402根据物理机资源监控模块收集的信息决定是否需要发生虚拟机在各个物理机之间的迁移进行重新放置,以及选择哪些虚拟机进行迁移;空闲资源池管理模块403根据虚拟机迁移管理模块进行迁移后的结果决定是否需要向空闲池申请或释放物理机。
该物理机资源监控模块是:监控物理机的各类资源使用情况。该模块是个程序元件。
该虚拟机迁移管理模块是:当物理机监控模块监测到物理机的资源使用率过高时,需要把其上运行的一些虚拟机采取一定的策略迁移到其他负载资源使用率较轻的物理结点上。当物理机监控模块监测到大多数物理机的资源使用率过低时,需要把某些负载低的物理上运行的虚拟机采取一定的策略迁移到其他物理节点上,以空闲出更多的物理机释放到空闲资源池达到降低功耗的目的。该模块是个程序元件。
该空闲资源池管理模块是:负责维护空闲资源池,当前正在运行的物理机数量“过量”或“不足”时,空闲资源池管理模块负责向空闲资源池申请添加或释放物理机。该模块是个程序元件。
2、本发明一种虚拟化环境中自适应按需资源分配的方法,其中包括三个具体的策略:
1)自适应的虚拟机动态容量感知请求分发策略,其具体步骤如下:
步骤1:实时监控应用负载;
步骤2:使用长期预测和短期修正的方法,根据第i个阶段的实测负载和预测误差预测第i+1个阶段的应用负载;
步骤3:实时获得虚拟机的资源容量信息;
步骤4:据步骤1预测的负载量信息与预设的负载阈值进行比较,若小于负载阈值,应用负载很低时,应尽量将负载集中,以便空出更多的物理机释放到空闲资源池以达到降低功耗的目的;若高于负载阈值,应尽量将负载均衡,避免出现有的虚拟机“忙死”,有的虚拟机“闲死”现象的发生。
2)1-PM:N-VM资源分配策略
设计了一种一台物理机上多台虚拟机之间根据应用的用户体验(在这指响应时间)进行资源分配的方法(简称1-PM:N-VM资源分配策略)。其具体步骤如下:
步骤1:实时获得运行在每个虚拟机上应用的请求响应时间;
步骤2:为每类应用定义一个期望的响应时间范围。统计在每个周期内响应时间落入期望响应时间范围左侧,正好落入期望响应时间范围内,落入期望响应时间范围右侧的请求数。定义期望的用户满意度,期望的用户满意度以落入期望响应时间范围内的请求数和总请求数的比例来表示,越高效果越好。当落入期望响应时间范围左侧的请求数和总请求数的比例超出一定的阈值意味着为应用提供的资源充足,应当减少资源。当落入期望响应时间范围右侧的请求数和总请求数的比例超出一定的阈值意味着发生资源不足供应的现象,应该增加资源;
步骤3:根据设计的资源差异和响应时间差异的函数模型决定需要增加或减少的资源量;
步骤4:依据设计的优化理论模型,根据各个虚拟机的资源需求和资源总量的限制裁决最终的资源分配。
3)虚拟机迁移策略,其具体步骤如下:
步骤1:为每台物理机定义一个资源使用率的上下限阈值
步骤2:当物理机资源使用率低于下限此时又没有物理机的资源使用率高于上限,并且存在着物理机可以接收其上运行的虚拟机(可以接收意味着其他物理机接收虚拟机不会导致物理机的资源使用率超出上限)预示着物理机“过量”供应,将其上运行的虚拟机迁移到可以接收的物理机上,减少物理机的数量。当物理机资源使用率高于上限,但存在物理机可以接收其上运行的虚拟机,需要把虚拟机迁移到可以接收的物理机上继续运行。当物理机资源使用率高于上限阈值并维持了一段时间,此时没有可以接收其上运行的虚拟机继续运行的物理机,应从空闲资源池中吸收正在休眠的物理机加入运行。
3、本发明的优点在于:
1)设计了一个综合考虑一台物理机上多个虚拟机之间资源分配、提供同等服务的多个虚拟机之间请求分发、虚拟机放置三个层次的自适应资源管理框架。所设计的***具有自适应性,减少了***管理员的维护成本。
2)设计了根据实际的用户体验进行资源分配的策略,与传统的依据期望资源使用率进行资源分配调整的方法相比,不仅直接更具有现实意义。
3)不同于传统的请求分发策略,所设计的虚拟机容量动态感知模块能实时感知到虚拟机容量的变化,进而能更好的利用资源。
4)所维护的空闲资源池能更好的应对负载的“突变”。由于释放到空闲资源池中的物理机不是立即关机,而是处于休眠状态维持一段时间,减少了负载突变动态加入需要的启动时间。
(四)附图说明
图1本发明自适应按需资源分配整体框架图
图2本发明动态感知请求分发模块结构示意图
图3本发明1-PM:N-VM资源分配模块结构示意图
图4本发明数据中心全局管理模块结构示意图
图5本发明动态感知请求分发策略流程图
图61-PM:N-VM资源分配策略流程图
图7虚拟机迁移策略流程图
图中符号说明如下:
101 1-PM:N-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个统计周期实际响应时间落入期望响应时间的请求数;Lij第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+1个阶段的负载状态。该模块是个程序元件。
该虚拟机容量动态感知模块203:在物理机中的domain0控制台虚拟机中实时监测运行其上的各个虚拟机的容量变化,利用xenstore和使用xentop命令可以实时获得各个虚拟机的资源容量信息。该模块是个程序元件。
该请求分发模块204:根据应用预测模块预测的负载量和虚拟机容量动态感知模块收集的各虚拟机容量信息,依据所设计的策略(见实时例一中的请求分发策略)把请求转发到相应的虚拟机中进行处理。该模块是个程序元件。
所述的按需分配模块即1-PM:N-VM模块101包括:请求响应时间获得模块301、资源需求控制模块302和资源裁决控制模块303,如图3所示。请求响应时间模块301实时获得每个虚拟机中所运行应用的请求响应时间;资源需求控制模块302依据实时获得的实际响应时间和所定义的期望响应时间的差异,决定需要增加或减少的资源量;资源裁决控制模块303根据资源需求控制模块所提供的各个虚拟需求和资源总量的限制条件,做出最终资源分配的决定。
该请求响应时间获得模块301:根据请求到达时间戳和响应处理完毕时间戳的差值获得每个请求在服务器端的实际处理时间。每类应用定义一个期望的响应时间。所有的请求都会通过位于domain0中的虚拟bridge进行转发,使用tshark工具从数据链路层对请求和响应包进行获得,使用四元组<源IP,目的IP,源端口,目的端口>标识一个连接,分析获得响应时间。该模块是个程序元件。
该资源需求控制模块302:根据请求的实际处理时间和期望响应时间决定虚拟机的资源需求。资源量和响应时间之间的关系很复杂,很难用一个数学模型来表达之间的关系。田纳西大学的王晓瑞等人证实资源量之间的差异和响应时间的差异关系更容易用数学模型表示,本发明设计资源差异和响应时间差异的关系模型以此得出需要增加或减少的资源量(见实施例二)。该模块是个程序元件。
该资源裁决控制模块303:根据各个虚拟机的资源需求和资源总量的限制决定最终的资源分配结果。当不发生资源竞争时,按需为各个虚拟机分配资源。当发生竞争时,提供服务差异,优先保证高优先级应用的资源需求。该模块是个程序元件。
所述的数据中心全局管理模块103包括:物理机资源监控模块401、虚拟机迁移管理模块402和空闲资源池管理模块403。物理机资源监控模块401监控物理机的各类资源使用情况;虚拟机迁移管理模块402根据物理机资源监控模块收集的信息决定是否需要发生虚拟机在各个物理机之间的迁移进行重新放置,以及选择哪些虚拟机进行迁移;空闲资源池管理模块403根据虚拟机迁移管理模块402进行迁移后的结果决定是否需要向空闲池申请或释放物理机。
该物理机资源监控模块401:监控物理机的各类资源使用情况。使用开源的性能收集工具sysstat对物理机各类资源使用情况进行实时收集。该模块是个程序元件。
该虚拟机迁移管理模块402:当物理机监控模块监测到物理机的资源使用率过高时,需要把其上运行的一些虚拟机采取一定的策略迁移(见实施例三)到其他负载资源使用率较轻的物理结点上。当物理机监控模块监测到大多数物理机的资源使用率过低时,需要把某些负载低的物理上运行的虚拟机采取一定的策略(见实施例三)迁移到其他物理节点上,以空闲出更多的物理机释放到空闲资源池达到降低功耗的目的。该模块是个程序元件。
该空闲资源池管理模块403:负责维护空闲资源池,当前正在运行的物理机数量“过量”或“不足”时,空闲资源池管理模块负责向空闲资源池申请添加或释放物理机。该模块是个程序元件。
2、本发明一种在虚拟化环境中自适应按需分配资源的方法,其中包括三个具体的策略:实施例一,自适应的虚拟机动态容量感知请求分发策略;实施例二,1-PM:N-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)实施例二:1-PM:N-VM资源分配策略
图6为本发明实施例二提供的1-PM:N-VM资源分配策略的流程图,在本实施例中,1-PM:N-VM资源分配策略的方法步骤为:
步骤1:使用请求响应时间获得模块301获得每个请求的实际响应时间。根据<源IP,目的IP,源端口,目的端口>标示一个连接,利用请求时间戳和响应时间戳的差值得到每个请求的实际响应时间,并且统计每个应用i在第j个周期内的吞吐量Tij,设定期望的响应时间为
Figure BDA0000088567360000091
统计响应时间落入期望响应时间范围内的请求数Nij和响应时间落入左侧的请求数Lij或响应时间落入
Figure BDA0000088567360000094
右侧的请求数Uij。dij为第i个虚拟机第j个周期内的实测响应时间,Rij为第i个虚拟机第j个周期的资源。
步骤2:设定应用的满意度为
Pij=Nij/Tij    (公式3)
应用i的最坏承受度为
Figure BDA0000088567360000095
,当
Figure BDA0000088567360000096
时应用的满意度得到满足。
Figure BDA0000088567360000097
(公式4)时,落入期望响应时间范围左侧的请求数和总请求数的比例超出设定的阈值意味着为应用提供的资源充足,用户体验很好。但是这种情况在实际当中也是不期望发生的现象,因为应用占用越多的资源需要付出更多的成本,服务提供商并没有因为提供更好的用户体验而获得比落入期望响应时间范围内更多的收益,这种情况下提供商的净收益其实是减少了,所以应当减少资源。
Figure BDA0000088567360000098
(公式5)时,落入期望响应时间范围右侧的请求数和总请求数的比例超出设定的阈值意味着发生资源不足供应的现象,用户体验受到影响,应该为其增加资源。
步骤3:资源量之间的差异和响应时间的差异关系更容易用数学模型表示,本发明设计资源差异和响应时间差异的关系模型以此得出需要增加或减少的资源量。离期望响应时间范围越接近,需要增加或减少的资源量越小。
ΔRij=λ(1-Pij)*Δdij    (公式6)
其中ΔRij=Rij-Rij-1,Δdij=|dij-Dij|,λ为系数。
步骤4:根据各个虚拟机的资源需求,考虑到资源总量的限制,当不发生资源竞争时按需进行分配,当发生资源竞争时优先保证高优先级应用的资源需求。
3)实施例三:虚拟机迁移策略
图7为本发明实施例三提供的虚拟机迁移策略的流程图,在本实施例中虚拟机迁移策略的方法步骤为:
步骤1:使用物理机资源监控模块401获得每个物理机的资源使用情况。为每个物理机定义一个资源使用率的上下限。
步骤2:判断资源使用率是否大于上限?
若大于上限,按如下公式计算:
W1*VM内存量+W2*VM内存脏页率+W3/VM的CPU负载(公式7)
选择值最小的虚拟机进行迁移。这是因为据实验分析,虚拟机迁移的开销主要跟虚拟机所占用的内存量大小和虚拟机在运行过程中产生的脏页率有关。按这种方式进行迁移可以降低虚拟机迁移时的开销,节省时间。
判断是否存在可以接收虚拟机继续运行的物理机?可以接收虚拟机,是指虚拟机迁移过去后,不会使得目的物理机的资源使用率超出使用率的上限限制。
若存在,则进行迁移的操作。
若不存在,则向空闲资源池管理模块进行申请加入新的物理机投入运行。
若小于上限,判断是否存在可以接收物理机上所运行所有虚拟机的物理机?
若存在,则进行迁移操作。
是否可以把物理机上所有的虚拟机迁移完毕?若可以,则把此时空闲的物理机释放到空闲资源池中。

Claims (1)

1.一种虚拟化环境中自适应按需资源分配的***,其特征在于:它包括动态感知请求分发模块、一台物理机上多个虚拟机之间的按需分配模块即1-PM:N-VM模块和数据中心全局管理模块,1-PM:N-VM模块根据实时收集的用户体验进行一台物理机上资源的分配;动态感知请求分发模块根据监测的应用请求负载信息和虚拟机容量信息把负载分发到合适的虚拟机上对请求进行响应;数据中心全局管理模块根据收集的物理机资源负载信息决定是否需要虚拟机在物理机之间进行迁移以重新进行放置,在物理机过量或不足时是否向空闲资源池释放或申请新的物理机以退出或加入应用的服务;
所述的动态感知请求分发模块包括:应用负载监控模块、应用负载预测模块、虚拟机容量动态感知模块和请求分发模块,应用负载监控模块监测请求负载信息,把结果传递给应用负载预测模块;应用负载预测模块使用长期预测加短期修正方法对负载量进行预测;虚拟机容量动态感知模块实时收集各个虚拟机的容量信息;请求分发模块根据负载预测的结果和各个虚拟机的容量信息选择合适的虚拟机处理请求对其进行响应;
该应用负载监控模块是:每一类应用都需要一台负载分发器,应用负载监控模块运行于其上;所有的请求首先到达相应的负载分发器,此处的应用负载监控模块很容易的获知全局负载信息,该应用负载监控模块是个程序元件;
该应用负载预测模块是:使用长期预测加短期修正的方法对负载进行预测;根据应用负载监控模块第i个统计周期的实测负载和第i个统计周期的预测误差预测第i+1个统计周期的负载状态,该应用负载预测模块是个程序元件;
该虚拟机容量动态感知模块:在物理机中的domain0控制台虚拟机中实时监测运行其上的各个虚拟机的容量变化,利用xenstore和使用xentop命令实时获得各个虚拟机的资源容量信息;该虚拟机容量动态感知模块是个程序元件;
该请求分发模块:根据应用负载预测模块预测的负载量和虚拟机容量动态感知模块收集的各虚拟机容量信息,依据所设计的策略把请求转发到相应的虚拟机中进行处理;该请求分发模块是个程序元件;
所述的按需分配模块即1-PM:N-VM模块包括:请求响应时间获得模块、资源需求控制模块和资源裁决控制模块,请求响应时间模块实时获得每个虚拟机中所运行应用的请求响应时间;资源需求控制模块依据实时获得的实际响应时间和所定义的期望响应时间的差异,决定需要增加或减少的资源量;资源裁决控制模块根据资源需求控制模块所提供的各个虚拟需求和资源总量的限制条件,做出最终资源分配的决定;
该请求响应时间获得模块:根据请求到达时间戳和响应处理完毕时间戳的差值获得每个请求在服务器端的实际处理时间;每类应用定义一个期望的响应时间;所有的请求都会通过位于domain0中的虚拟bridge进行转发,使用tshark工具从数据链路层对请求和响应包进行获得,使用四元组<源IP,目的IP,源端口,目的端口>标识一个连接,分析获得响应时间;该请求响应时间获得模块是个程序元件;
该资源需求控制模块是:根据请求的实际处理时间和期望响应时间决定虚拟机的资源需求,该资源需求控制模块是个程序元件;
该资源裁决控制模块是:根据各个虚拟机的资源需求和资源总量的限制决定最终的资源分配结果;当不发生资源竞争时,按需为各个虚拟机分配资源;当发生竞争时,提供服务差异,优先保证高优先级应用的资源需求;该资源裁决控制模块是个程序元件;
所述的数据中心全局管理模块包括:物理机资源监控模块、虚拟机迁移管理模块和空闲资源池管理模块,物理机资源监控模块监控物理机的各类资源使用情况;虚拟机迁移管理模块根据物理机资源监控模块收集的信息决定是否需要发生虚拟机在各个物理机之间的迁移进行重新放置,以及选择哪些虚拟机进行迁移;空闲资源池管理模块根据虚拟机迁移管理模块进行迁移后的结果决定是否需要向空闲池申请或释放物理机;
该物理机资源监控模块:监控物理机的各类资源使用情况;使用开源的性能收集工具sysstat对物理机各类资源使用情况进行实时收集;该物理机资源监控模块是个程序元件;
该虚拟机迁移管理模块是:当物理机资源监控模块监测到物理机的资源使用率过高时,需要把其上运行的一些虚拟机采取一定的策略迁移到其它负载资源使用率较轻的物理结点上;当物理机资源监控模块监测到大多数物理机的资源使用率过低时,需要把某些负载低的物理上运行的虚拟机采取一定的策略迁移到其他物理节点上,以空闲出更多的物理机释放到空闲资源池达到降低功耗的目的,该虚拟机迁移管理模块是个程序元件;
该空闲资源池管理模块是:负责维护空闲资源池,当前正在运行的物理机数量“过量”或“不足”时,空闲资源池管理模块负责向空闲资源池申请添加或释放物理机,该空闲资源池管理模块是个程序元件;
所述过量的含义为:当物理机资源使用率低于下限此时又没有物理机的资源使用率高于上限,并且存在着物理机接收其上运行的虚拟机预示着物理机过量供应;
所述不足的含义为:为每类应用定义一个期望的响应时间范围;统计在每个周期内响应时间落入期望响应时间范围左侧,正好落入期望响应时间范围内,落入期望响应时间范围右侧的请求数;定义期望的用户满意度,期望的用户满意度以落入期望响应时间范围内的请求数和总请求数的比例来表示,越高效果越好;当落入期望响应时间范围左侧的请求数和总请求数的比例超出一定的阈值意味着为应用提供的资源充足,应当减少资源;当落入期望响应时间范围右侧的请求数和总请求数的比例超出一定的阈值,则资源不足。
CN 201110258144 2011-09-02 2011-09-02 一种虚拟化环境中自适应按需资源分配的方法及*** Active CN102279771B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110258144 CN102279771B (zh) 2011-09-02 2011-09-02 一种虚拟化环境中自适应按需资源分配的方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110258144 CN102279771B (zh) 2011-09-02 2011-09-02 一种虚拟化环境中自适应按需资源分配的方法及***

Publications (2)

Publication Number Publication Date
CN102279771A CN102279771A (zh) 2011-12-14
CN102279771B true CN102279771B (zh) 2013-07-10

Family

ID=45105233

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110258144 Active CN102279771B (zh) 2011-09-02 2011-09-02 一种虚拟化环境中自适应按需资源分配的方法及***

Country Status (1)

Country Link
CN (1) CN102279771B (zh)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2608029A1 (en) * 2011-12-19 2013-06-26 Siemens Aktiengesellschaft Method and system for managing resources among different clients for an exclusive use
CN103188277B (zh) * 2011-12-27 2016-05-18 中国电信股份有限公司 负载能耗管理***、方法和服务器
CN102404412B (zh) * 2011-12-28 2014-01-08 北京邮电大学 云计算数据中心节能方法及***
US8756609B2 (en) 2011-12-30 2014-06-17 International Business Machines Corporation Dynamically scaling multi-tier applications vertically and horizontally in a cloud environment
WO2013097176A1 (zh) * 2011-12-30 2013-07-04 华为技术有限公司 一种用户体验指标监控方法及监控虚拟机
CN103259817B (zh) * 2012-02-17 2018-04-10 华为技术有限公司 资源释放方法及装置
CN103309723B (zh) * 2012-03-16 2016-08-10 山东智慧生活数据***有限公司 虚拟机资源整合***及方法
TWI456944B (zh) * 2012-05-02 2014-10-11 Quanta Comp Inc 管理方法及其系統
CN103164283B (zh) * 2012-05-10 2018-08-10 上海兆民云计算科技有限公司 一种虚拟桌面***中虚拟化资源动态调度管理方法及***
CN102722413B (zh) * 2012-05-16 2017-12-29 上海兆民云计算科技有限公司 一种桌面云集群使用的分布式资源调度方法
CN103514043B (zh) * 2012-06-29 2017-09-29 华为技术有限公司 多处理器***及该***的数据处理方法
CN102981910B (zh) * 2012-11-02 2016-08-10 曙光云计算技术有限公司 虚拟机调度的实现方法和装置
CN103856512A (zh) * 2012-11-30 2014-06-11 华为技术有限公司 云计算的管理服务器、工作和闲置主机以及资源调度方法
CN103051564B (zh) * 2013-01-07 2016-03-30 杭州华三通信技术有限公司 资源动态调配的方法和装置
CN103226496B (zh) * 2013-03-15 2016-05-25 杭州华三通信技术有限公司 业务同步处理方法和多核设备
CN104077187B (zh) * 2013-03-29 2017-06-06 国际商业机器公司 用于调度应用程序的执行的方法和***
CN104077189A (zh) * 2013-03-29 2014-10-01 西门子公司 一种用于资源分配的方法和装置
CN104102541B (zh) * 2013-04-08 2018-02-13 鸿富锦精密工业(深圳)有限公司 签核动态调整方法及***
CN104142860A (zh) * 2013-05-10 2014-11-12 中国电信股份有限公司 应用服务***的资源调整方法与装置
CN103336722B (zh) * 2013-07-16 2017-09-26 上海大学 一种虚拟机cpu资源监控和动态分配方法
CN103559093B (zh) * 2013-11-15 2016-11-16 北京中指实证数据信息技术有限公司 一种服务器资源的配置方法及装置
CN104657082A (zh) * 2013-11-18 2015-05-27 英业达科技有限公司 电脑装置及其存储器管理方法
CN104714845B (zh) * 2013-12-17 2018-06-26 华为技术有限公司 资源动态调整方法、装置及多内核操作***
CN103823714B (zh) * 2014-01-15 2017-05-24 浙江大学 一种基于虚拟化下NUMA节点内存QoS的调节方法及装置
TWI603266B (zh) * 2014-03-03 2017-10-21 廣達電腦股份有限公司 虛擬機器之資源調整方法及系統
CN103945548B (zh) * 2014-04-29 2018-12-14 西安电子科技大学 一种c-ran网络中的资源分配***及任务/业务调度方法
EP3148163B1 (en) * 2014-06-30 2018-11-07 Huawei Technologies Co., Ltd. Function transfer method, device and system
CN105320559B (zh) * 2014-07-30 2019-02-19 ***通信集团广东有限公司 一种云计算***的调度方法和装置
CN105487927B (zh) * 2014-09-15 2019-01-11 华为技术有限公司 一种资源管理方法及装置
CN104283946B (zh) * 2014-09-26 2017-08-25 东北大学 一种单物理机下多虚拟机的资源自适应调整***及方法
CN104281496B (zh) * 2014-10-27 2018-02-02 深圳中兴网信科技有限公司 虚拟资源的分配方法及分配装置
CN104320481A (zh) * 2014-11-04 2015-01-28 浪潮电子信息产业股份有限公司 一种基于用户体验的虚拟资源动态算法
CN104503826B (zh) * 2015-01-04 2018-06-26 中国联合网络通信集团有限公司 一种云计算数据中心的虚拟机映射方法及装置
CN104540234B (zh) * 2015-01-19 2018-03-27 西安电子科技大学 一种C‑RAN架构下基于CoMP同步约束的关联任务调度机制
CN104601585B (zh) * 2015-01-29 2018-12-14 武汉理工大学 基于用户体验的多媒体云数据中心高能效资源分配方法
CN104572307B (zh) * 2015-01-30 2019-03-05 无锡华云数据技术服务有限公司 一种对虚拟资源进行弹性调度的方法
CN104917839A (zh) * 2015-06-12 2015-09-16 浪潮电子信息产业股份有限公司 一种用于云计算环境下的负载均衡方法
CN105160456A (zh) * 2015-08-06 2015-12-16 中国石油大学(华东) 一种石油平台资源池管理***
CN105245523B (zh) * 2015-10-15 2019-02-12 成都电科致远网络科技有限公司 应用于桌面虚拟化场景的存储服务平台及其实现方法
CN106656535B (zh) * 2015-10-29 2021-01-15 阿里巴巴集团控股有限公司 用于资源调度的方法和设备
JP2017097707A (ja) * 2015-11-26 2017-06-01 沖電気工業株式会社 仮想マシン動的配置システム及びサーバ
CN105760224A (zh) * 2016-01-06 2016-07-13 杭州华三通信技术有限公司 一种资源的动态调整方法和装置
CN106095529B (zh) * 2016-06-08 2019-07-02 西安电子科技大学 一种c-ran架构下的载波迁移方法
CN107818013A (zh) * 2016-09-13 2018-03-20 华为技术有限公司 一种应用调度方法及装置
CN106528266B (zh) * 2016-10-28 2020-01-14 柏域信息科技(上海)有限公司 一种云计算***中的资源动态调整方法及装置
CN106598733A (zh) * 2016-12-08 2017-04-26 南京航空航天大学 一种云计算能耗关键的三维度虚拟资源调度方法
CN106886458B (zh) * 2016-12-27 2021-06-22 北京奇艺世纪科技有限公司 一种集群资源分配方法和装置
CN108337179B (zh) * 2017-01-19 2021-02-05 华为技术有限公司 链路流量控制方法及装置
CN107147517A (zh) 2017-03-24 2017-09-08 上海交通大学 一种针对虚拟网络功能的自适应计算资源分配方法
CN107122235B (zh) * 2017-04-19 2020-09-29 中国舰船研究设计中心 基于应用优先级的公共基础设施资源调度方法
CN107743138A (zh) * 2017-07-24 2018-02-27 上海壹账通金融科技有限公司 推送服务器分配方法、装置、计算机设备和存储介质
CN107888690A (zh) * 2017-11-17 2018-04-06 深圳泉眼体育运营管理有限公司 响应时间的统计方法及***
CN108319501B (zh) * 2017-12-26 2022-01-14 中山大学 一种基于微服务网关的弹性资源供给方法及***
CN108804210B (zh) * 2018-04-23 2021-05-25 北京奇艺世纪科技有限公司 一种云平台的资源配置方法及装置
CN110096365A (zh) * 2019-05-06 2019-08-06 燕山大学 一种云数据中心的虚拟机资源公平分配***及方法
CN112559122A (zh) * 2020-11-12 2021-03-26 国家电网有限公司 一种基于电力专用安防设备的虚拟化实例管控方法及***
CN112667401A (zh) * 2020-12-29 2021-04-16 深圳大普微电子科技有限公司 一种资源分配方法、***及设备
CN112631784A (zh) * 2020-12-31 2021-04-09 联想未来通信科技(重庆)有限公司 基于资源的分配/处理方法及电子设备
CN116560822A (zh) * 2022-01-27 2023-08-08 华为技术有限公司 一种资源流动方法、装置及设备
CN114327918B (zh) * 2022-03-11 2022-06-10 北京百度网讯科技有限公司 调整资源量的方法、装置、电子设备和存储介质
CN115150402B (zh) * 2022-08-30 2022-11-18 京华信息科技股份有限公司 一种云资源分配方法及***
CN118170549A (zh) * 2024-05-11 2024-06-11 中移(苏州)软件技术有限公司 资源分配方法、装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008073553A2 (en) * 2006-12-12 2008-06-19 Lsi Corporation Using storage load information to balance clustered virtual machines
CN101452406A (zh) * 2008-12-23 2009-06-10 北京航空航天大学 一种对操作***透明的机群负载平衡方法
CN102004671A (zh) * 2010-11-15 2011-04-06 北京航空航天大学 一种云计算环境下数据中心基于统计模型的资源管理方法
CN102096461A (zh) * 2011-01-13 2011-06-15 浙江大学 基于虚拟机迁移和负载感知整合的云数据中心节能方法
CN102104496A (zh) * 2010-12-23 2011-06-22 北京航空航天大学 一种云计算环境下中间数据的容错性优化方法
CN102156665A (zh) * 2011-04-13 2011-08-17 杭州电子科技大学 一种虚拟化***竞争资源差异化服务方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070271560A1 (en) * 2006-05-18 2007-11-22 Microsoft Corporation Deploying virtual machine to host based on workload characterizations

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008073553A2 (en) * 2006-12-12 2008-06-19 Lsi Corporation Using storage load information to balance clustered virtual machines
CN101452406A (zh) * 2008-12-23 2009-06-10 北京航空航天大学 一种对操作***透明的机群负载平衡方法
CN102004671A (zh) * 2010-11-15 2011-04-06 北京航空航天大学 一种云计算环境下数据中心基于统计模型的资源管理方法
CN102104496A (zh) * 2010-12-23 2011-06-22 北京航空航天大学 一种云计算环境下中间数据的容错性优化方法
CN102096461A (zh) * 2011-01-13 2011-06-15 浙江大学 基于虚拟机迁移和负载感知整合的云数据中心节能方法
CN102156665A (zh) * 2011-04-13 2011-08-17 杭州电子科技大学 一种虚拟化***竞争资源差异化服务方法

Also Published As

Publication number Publication date
CN102279771A (zh) 2011-12-14

Similar Documents

Publication Publication Date Title
CN102279771B (zh) 一种虚拟化环境中自适应按需资源分配的方法及***
CN102236582B (zh) 虚拟化集群负载在多台物理机中均衡分配的方法
CN102790793A (zh) 一种面向云计算虚拟机迁移的决策方法及控制模块
CN103248659B (zh) 一种云计算资源调度方法和***
CN104102543B (zh) 一种云计算环境中负载调整的方法和装置
CN103605567B (zh) 面向实时性需求变化的云计算任务调度方法
Kanakala et al. Performance analysis of load balancing techniques in cloud computing environment
CN103678003B (zh) 一种实时性增强的虚拟cpu调度方法
CN101488098A (zh) 基于虚拟计算技术的多核计算资源管理***
Deboosere et al. Efficient resource management for virtual desktop cloud computing
CN102253857B (zh) 一种多核环境下的Xen虚拟机调度控制方法
CN102521055B (zh) 一种虚拟机资源分配方法及其***
CN103530189A (zh) 一种面向流式数据的自动伸缩及迁移的方法及装置
CN102662750A (zh) 基于弹性虚拟机池的虚拟机资源优化控制方法及其***
Li et al. Opportunistic scheduling in clouds partially powered by green energy
CN104298550A (zh) 一种面向Hadoop的动态调度方法
Ma et al. Dynamic task scheduling in cloud computing based on greedy strategy
Wu et al. An energy efficient VM migration algorithm in data centers
Tao et al. Load feedback-based resource scheduling and dynamic migration-based data locality for virtual hadoop clusters in openstack-based clouds
CN105607943A (zh) 一种云环境下虚拟机动态部署机制
CN109558216A (zh) 一种基于在线迁移的单根i/o虚拟化优化方法及其***
CN108287749A (zh) 一种数据中心综合管理***云资源调度方法
CN104917839A (zh) 一种用于云计算环境下的负载均衡方法
Li et al. Cost-aware automatic scaling and workload-aware replica management for edge-cloud environment
Zhang et al. An energy-aware host resource management framework for two-tier virtualized cloud data centers

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210220

Address after: 276800 4th floor, building 1, wisdom Valley, high tech Zone, Xueyuan Road, Donggang District, Rizhao City, Shandong Province

Patentee after: Rizhao Yucheng Technology Consulting Service Co.,Ltd.

Address before: 100191 Beijing City, Haidian District Xueyuan Road No. 37 North College of computer

Patentee before: BEIHANG University