CN106970831B - 一种面向云平台的虚拟机资源动态调度系统及方法 - Google Patents

一种面向云平台的虚拟机资源动态调度系统及方法 Download PDF

Info

Publication number
CN106970831B
CN106970831B CN201710338875.6A CN201710338875A CN106970831B CN 106970831 B CN106970831 B CN 106970831B CN 201710338875 A CN201710338875 A CN 201710338875A CN 106970831 B CN106970831 B CN 106970831B
Authority
CN
China
Prior art keywords
physical host
virtual machine
migration
host
usage
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
CN201710338875.6A
Other languages
English (en)
Other versions
CN106970831A (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.)
Avicit's Science And Technology Ltd Co
Original Assignee
Avicit's Science And Technology Ltd Co
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 Avicit's Science And Technology Ltd Co filed Critical Avicit's Science And Technology Ltd Co
Priority to CN201710338875.6A priority Critical patent/CN106970831B/zh
Publication of CN106970831A publication Critical patent/CN106970831A/zh
Application granted granted Critical
Publication of CN106970831B publication Critical patent/CN106970831B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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 the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种面向云平台的虚拟机资源动态调度系统及方法,为云平台的物理资源提供了一种有效的监控和管理工具,该方法主要由五个模块组成:资源监控模块、实时数据分析模块、迁移判定模块、待迁移虚拟机选择模块以及目标主机定位模块。本方法通过对资源监控、数据分析、迁移时机判定、迁移虚拟机选择和目标主机定位五个过程实现;本发明具有对资源的实时调度和管理,提升数据中心负载均衡度,降低能耗的优点。

Description

一种面向云平台的虚拟机资源动态调度系统及方法
技术领域
本发明基于虚拟机动态迁移机制,涉及一种面向云平台的虚拟机资源动态调度系统及方法,属于云计算资源调度技术领域。
背景技术
随着经济的发展,服务化成为了产业发展的必然趋势,各种生产活动的成果逐渐开始以服务的方式提供给用户使用。云计算是服务化趋势的重要体现,并以其便利、经济、易监控等特点在全球获得了飞速的发展。目前越来越多的应用服务提供商和中小型企业选择把应用部署到云平台上,这也使得近年来涌现出了一批优秀的开源云平台,比如OpenStack、CloudStack、Eucalyptus、OpenNebula等。
然而这些开源云平台在资源调度方面均相对薄弱,无法适应实际生产的需要。目前云平台下的资源调度领域普遍存在着以下问题:
⑴云平台对物理主机和虚拟机的监控一般通过虚拟机监控器VMM获得,这种外部监控的方式获得的监控数据粒度较粗,且误差较大;
⑵无法实时的根据物理主机的负载状况进行资源的动态调整,通常需要人工干预,缺乏自调度的机制;
⑶随着云平台的数据逐渐增多,需要的物理主机逐渐增多,数据中心的物理主机普遍面临着负载不均衡的状况,降低了整个云平台的资源利用率,导致云平台总能耗的增加;
⑷目前针对云平台资源动态调度方法的研究中,缺乏高效、稳定的算法,很容易发生链式迁移和无效迁移。
因此,云平台下资源的合理调度是目前云计算领域面临的主要难题之一。
发明内容
本发明解决的问题主要集中在以下方面:克服现有技术的不足,采用C/S架构从虚拟机和物理主机内部获取监控数据,改善通过虚拟机监控器VMM获取数据不准确的问题;在云平台增加资源动态调度的机制,无需人工干预,可以根据物理主机的负载状态实时进行内部资源的调整;改善云平台的负载均衡度,使资源在各物理主机分布均匀,避免因资源过度集中而对节点的性能造成影响,同时关闭空闲节点,节约电能消耗;提出一套高效、稳定的资源动态调度算法,避免过度迁移和无效迁移,提升云平台运行的稳定性。
本发明的技术解决方案:面向云平台的一种虚拟机资源动态调度系统,如图1所示包括:
资源监控模块:负责物理主机和虚拟机资源使用情况的实时监控;对云平台中所有物理主机和其上虚拟机的CPU、内存、网络带宽三类资源的资源总量和使用率进行监控,并将获取的物理主机和虚拟机资源的CPU、内存、网络带宽的监控数据与当前时间t传递给实时数据分析模块,并存入到云平台作为控制节点的物理主机的MongoDB数据库中;
实时数据分析模块:负责数据分析统计工作,包括物理主机负载分析和云平台的数据分析;物理主机负载分析通过从资源监控模块获取到的当前物理主机的CPU、内存和网络带宽的资源总量和使用率,计算各物理主机的实时负载值,将物理主机的负载值传递给迁移判定模块;云平台的数据分析是对云平台的负载均衡度和总能耗进行统计,注:云平台的负载均衡度为云平台中所有物理主机负载值的标准差,总能耗为云平台中所有物理主机的能耗总和。物理主机的负载、能耗指标与CPU、内存、网络带宽的关系见后文具体实施方式中的关键概念说明。定期生成负载均衡度和能耗报告是便于对本发明中动态调度方法的效果进行观察和统计,是否随着本动态调度方法的运行,改善了云平台的负载均衡度和总能耗。
迁移判定模块:接收实时数据分析模块传递过来的各物理主机的负载值,结合负载值历史数据和预测数据判定物理主机是处于高负载、低负载及正常三个负载状态中的哪一种,并对物理主机是否需要在此刻迁移进行精准的判定,并将判定结果反馈给云平台控制节点,得到上限迁移集合Smax和下限迁移集合Smin作为判定结果,为后续资源调度过程提供依据;若迁移判定模块判定某物理主机无需迁移操作,则将结果反馈给资源监控模块,由资源监控模块继续对该物理主机进行资源监控的行为。
待迁移虚拟机选择模块:对迁移判定模块中负载状态为高负载或低负载的物理主机进行迁移虚拟机的选择。对于集合Smax,选择出最适合的虚拟机组合进行迁移,对物理主机CPU、内存及带宽使用率的值进行分析,根据当前物理主机资源超载的情形进行匹配,智能的采用多样化的虚拟机选择方案,实现细粒度的选择,得到上限虚拟机迁移列表VM_Migrate_MAX;对于集合Smin,将集合内每个物理主机的所有虚拟机加入到下限虚拟机迁移列表VM_Migrate_MIN,最终得到下限虚拟机迁移列表VM_Migrate_MIN。
目标主机定位模块:为待迁移虚拟机选择模块得到的虚拟机迁移列表VM_Migrate_MAX和VM_Migrate_MIN中的每个虚拟机选择适应度最高的物理主机作为迁移的目的主机,并通过云平台控制节点发送迁移指令进行虚拟机动态迁移操作,迁移工作完成后,将云数据中心中空闲物理主机关闭。在满足迁移要求的同时,要防止迁移后发生无效迁移和链式迁移,满足迁移后提升云平台负载均衡度和降低总能耗的要求。若当前没有适合的物理主机作为某迁移虚拟机的目的主机,则不对该虚拟机进行迁移迁移操作,并将结果反馈给资源监控模块,由资源监控模块继续对该虚拟机的宿主机进行资源监控的行为。
所述的资源监控模块系统架构图如图2所示,在云平台中均有一台性能较好的物理主机作为云平台的控制节点,云平台中除控制节点外的其他物理主机作为计算节点。云平台的计算节点由控制节点负责调度,且控制节点和计算节点是互相连通的。由图2可知,所有的物理主机底层都依赖于计算机硬件和KVM虚拟化模块,物理主机中的QEMU软件负责对底层KVM模块进行管理,从而使物理主机完成正常的虚拟机化功能。在本发明中,在控制节点安装监测Server服务脚本和MongoDB数据库,在所有的计算节点和虚拟机内部安装监测Agent服务脚本。资源监控模块具体的实现过程如下:
⑴初始化云平台下的所有物理主机资源和虚拟机资源;
⑵在控制节点上部署并开启自行编写的监控Server服务脚本,绑定该控制节点的固定端口3344,实时与云平台上其他物理主机进行通信;
⑶在所有的计算节点和虚拟机内部部署并开启自行编写的监控Agent服务脚本,该Agent服务脚本是通过psutil工具获取所在计算节点或者虚拟机的CPU、内存以及网络带宽使用情况,并与Server端通信,将获取到的监控数据和相应的时间t发送给云平台的控制节点;
⑷控制节点利用当前时间t物理主机的监控数据计算物理主机负载值,并和传递过来的虚拟机CPU、内存、网络带宽使用率数据一起存入存入控制节点上的MongoDB数据库进行保存;
⑸返回步骤⑷继续监控行为。
所述的迁移判定模块的判定流程如图3所示,其具体实现过程如下:
⑴初始化物理主机集合H={Host1,Host2,…,Hostn}为云平台所有可用物理主机,上限迁移集合Smax、下限迁移集合Smin均为空,取出H中第一个物理主机,进入步骤⑵;
⑵初步判定物理主机的负载状态,即该物理主机是高负载、低负载还是正常。具体做法如下:接收实时数据分析模块传递过来的各物理主机当前时刻t的负载值WorkLoad,若WorkLoad>0.8,则判定为负载值过高;若WorkLoad<0.3,则判定为负载值过低;否则,物理主机负载正常;
⑶物理主机历史负载值检测,若初步判定为高负载状态,则取出该主机前n个历史负载值,若该n个值均高于上限阈值0.8,则进入步骤3负载预测阶段;低负载状态的处理情况类似,若前n个历史负载值均低于0.3,则进入步骤⑷负载预测阶段,其它情形则转到步骤⑸;
⑷负载值预测阶段,对经过历史负载值检测的物理主机进行负载的预测,基于AR时间序列预测算法,对物理主机未来m个负载值进行预测,并计算预测的负载值均值,若仍然高于上限阈值或低于下限阈值,则将该节点加入Smax或Smin,转到步骤⑸。AR时序模型表述如下:
yt=θ1yt-12yt-2+…+θpyt-pt
在该模型中,{yt-p,yt-p+1,…,yt-1}为历史数据集合,θ12,…,θp为确定的模型参数,εt为噪声序列。
在本发明中,采用AR自回归时序预测模型对物理主机负载进行预测,能够有效刻画物理主机负载的变化趋势和走向,避免由瞬时峰值和瞬时低谷引起的无效迁移和频繁迁移。
⑸判断所有物理主机是否遍历完毕,若全部物理主机遍历完毕,则此阶段算法结束,并将结果反馈给云平台控制节点,得到的上限迁移集合Smax和下限迁移集合Smin,为后续资源调度过程提供依据。若迁移判定模块判定某物理主机无需迁移操作,则将结果反馈给资源监控模块,由资源监控模块继续对该物理主机进行资源监控的行为;否则遍历下一个物理主机,返回步骤⑵;
上述过程中n和m的值可根据实际应用场景自行设定。
所述待迁移虚拟机选择模块如图4所示,其具体实现过程如下:
⑴获取迁移判定模块得到的上限迁移集合Smax和下限迁移集合Smin,在云平台控制节点上初始化上限虚拟机迁移列表VM_Migrate_MAX和下限虚拟机迁移列表VM_Migrate_MIN为空;
⑵首先对集合Smax进行处理,判断Smax中是否为空,若集合不为空,则取出剩余节点的第一个,进入步骤⑶,否则进入步骤⑸;
⑶分析该物理主机资源超载属于哪一种情形,比如若物理主机CPU使用率高于上限阈值0.8,则该物理主机属于CPU超载型,内存和网络带宽类似。这样对于三类资源分别是否超载共有7种组合,本发明针对这7种组合采用多样化的虚拟机选择策略选择最适合的虚拟机,并将待迁移虚拟机加入到VM_Migrate_MAX列表中;
针对物理主机的CPU使用率、内存使用率和网络带宽使用率三类资源分别是否过高进行划分,这里用CPUusage(t)代表物理主机当前时刻t的CPU使用率,Memusage(t)代表物理主机当前时刻t的内存使用率,BWusage(t)代表物理主机当前时刻t的网络带宽使用率,具体定义如下7种组合:
①若物理主机CPUusage(t)>0.8,Memusage(t)<0.8,BWusage(t)<0.8,则物理主机属于CPU超载型;
②若物理主机CPUusage(t)<0.8,Memusage(t)>0.8,BWusage(t)<0.8,则物理主机属于内存超载型;
③若物理主机CPUusage(t)<0.8,Memusage(t)<0.8,BWusage(t)>0.8,则物理主机属于网络带宽超载型;
④若物理主机CPUusage(t)>0.8,Memusage(t)>0.8,BWusage(t)<0.8,则物理主机属于CPU和内存超载型;
⑤若物理主机CPUusage(t)>0.8,Memusage(t)<0.8,BWusage(t)>0.8,则物理主机属于CPU和网络带宽超载型;
⑥若物理主机CPUusage(t)<0.8,Memusage(t)>0.8,BWusage(t)>0.8,则物理主机属于内存和网络带宽超载型;
⑦若物理主机CPUusage(t)>0.8,Memusage(t)>0.8,BWusage(t)>0.8,则物理主机属于CPU、内存和网络带宽超载型;
表1为以上7种物理主机资源使用情况组合所对应的的虚拟机选择方案。其中VCPUusage、VBWusage表示虚拟机使用资源占相应物理节点资源总量的比例;w1,w3为物理主机CPU和网络带宽的负载权值。表1中RamFit计算方法如下:
其中,Memusage为物理主机内存的使用率;VMemusage为虚拟机内存使量占物理主机内存资源总量的比例,UpThreshold为物理主机负载上限阈值,在本发明中统一取值为0.8。表1为本发明系统中待迁移虚拟机选择模块—多样化的虚拟机选择方案。
表1多样化虚拟机选择方案
⑷检测当前物理主机负载值,若该物理主机负载值恢复到正常水平,将该物理主机从Smax删除,返回步骤⑵,否则返回步骤⑶;
⑸对集合Smin进行处理,判断Smin中是否为空,若集合不为空,则取出剩余物理主机的第一个,进入步骤⑹,否则结束;
⑹若当前物理主机满足基本迁移要求,将当前物理主机上的所有虚拟机加入到下限虚拟机迁移列表VM_Migrate_MIN,返回步骤⑸。
在本发明中,提出一种多样化的虚拟机选择方案去匹配物理节点资源超载的不同类型,保证最大化释放宿主机资源,同时考虑了迁移成本和迁移次数,减少虚拟机迁移带来的性能下降和带宽消耗过多的影响。
所述目标主机定位模块如图5所示,其具体实现过程如下:
⑴获取上限虚拟机迁移列表VM_Migrate_MAX和下限虚拟机迁移列表VM_Migrate_MIN,将其结合成总迁移列表VM_Migrate,优先处理上限虚拟机迁移列表,并初始化迁移映射表MigrationMap(vm,host为空;
⑵若总迁移列表VM_Migrate仍有剩余待迁移虚拟机,则取出VM_Migrate中第一个,进入步骤⑶,否则进入步骤⑹;
⑶根据待迁移的虚拟机的需求和可用物理主机集合进行物理主机过滤HostFilter,将剩余资源不满足虚拟机要求的物理主机剔除,得到过滤后的物理主机集合Host_Avaliable;
⑷根据虚拟机对CPU、内存和网络带宽的需求情况计算虚拟机对每个Host_Avaliable中物理主机的CPU、内存和网络带宽需求量和对物理主机的匹配度;其中,资源需求计算方法如下:
Sij=Reqij*WT
三个分量分别代表虚拟机i对物理主机j剩余CPU、内存和带宽的资源请求的占比;WT=(W1,W2,W3)为物理主机负载值的权值比例。匹配度计算方法如下:
Matchij=1-Sij
⑸对步骤⑷中的各物理主机的匹配度,计算该虚拟机迁移到各节点的迁移概率,迁移概率pij计算方法如下:
其中,Matchij为虚拟机i对物理主机j的匹配度,假设经过物理主机过滤后,共有k个节点可以选取,且有
将迁移概率从大到小排序,最终选择迁移概率最大的物理主机作为虚拟机的迁移目标物理主机,并加入到迁移映射表MigrationMap中,并返回步骤⑵;
⑹根据MigrationMap中的迁移映射关系,云平台的控制节点发送迁移指令进行虚拟机动态迁移操作,迁移工作完成后将云平台中空闲物理主机关闭。
本发明根据迁移虚拟机对物理主机匹配度大小和迁移概率选择目标物理主机,使得资源多、性能好的物理主机能匹配到较多的迁移虚拟机,更有利于提升系统的负载均衡度。
本发明与现有技术相比的优点在于:
⑴采用C/S架构从虚拟机和物理主机内部获取监控数据,实现了获取的数据更加准确和可靠,减少了外部监控的误差;
⑵在云平台增加了资源动态调度的机制,无需人工干预,可以根据物理主机的负载状态实时进行内部资源的调整;
⑶提出一套高效、稳定的资源动态调度算法和框架,有利于改善系统的负载均衡和能耗情况,同时避免无效迁移。
附图说明
图1为本发明系统的整体架构图;
图2为本发明系统中的资源监控模块架构图;
图3为本发明系统中的迁移判定模块实现过程;
图4为本发明系统中待迁移虚拟机选择模块实现过程;
图5为本发明系统中目标主机定位模块实现过程。
具体实施方式
为了更好地理解本发明,先对一些基本概念进行一下解释说明。
⑴云平台:利用OpenStack项目中的Nova、Neutron、Swift等模块构建云平台,通过标准公用服务接口API为其他模块提供数据资源。其中,为资源监控模块提供CPU、内存、网络带宽三类资源;为实时数据分析模块、迁移判定模块、迁移虚拟机选择模块和目标主机定位模块提供统一的计算分析数据。
⑵物理主机负载值:本发明中将物理主机的负载值定义为该物理主机的CPU、内存、网络带宽使用率的加权和,具体计算如下:
WorkLoad=w1*CPUusage(t)+w2*Memusage(t)+w3*BWusage(t)
CPUusage(t),Memusage(t),BWusage(t)为当前时刻t物理主机CPU、内存、网络带宽的使用率,W=[w1,w2,w3]为权重因子,可根据实际需要自行设定。
⑶物理主机能耗:物理主机运行时消耗的电能。研究表明,物理主机的能耗绝大部分来自于CPU的使用,并与CPU近似成以下线性关系:
P(t)=kFmax+CPUusage(t)*(1-k)*Fmax
其中,P(t)为物理主机t时刻的电能消耗,CPUusage为物理主机CPU的使用率,Fmax为满负载情况下物理主机的电能消耗,k为空闲情况下节点电能消耗占满负载情况下电能消耗的比例,一般取k为0.7。
⑷云平台负载均衡度:WorkLoadi表示物理主机i的负载值,LB表示云平台的负载均衡度,则LB计算公式如下:
n为云平台中所有正在运行的物理主机的数量,为云平台物理主机的负载值均值。
⑸psutil:是一个跨平台的进程管理和系统工具的python库,可以处理系统CPU,memory,disk,network等信息。主要用于系统资源的监控,分析,以及对进程进行一定的管理。
下面结合附图对本发明进行详细说明。
如图1所示,本发明面向云平台的虚拟机资源动态调度方法由资源监控、实时数据分析、迁移判定、迁移虚拟机选择和目标主机定位五个过程构成。
整个实现过程如下:
⑴资源监控。首先初始化云平台下的所有物理主机资源和虚拟机资源。云平台都有一个物理主机作为平台的控制节点。在控制节点上部署并开启自行编写的监控Server服务脚本,绑定控制节点的固定端口3344,实时与云平台上其他物理主机进行通信。云平台上除控制节点外的其他物理主机都作为计算节点,由控制节点负责调度,并与控制节点互相连通。在所有的计算节点和虚拟机内部部署并开启自行编写的监控Agent服务脚本,该Agent服务脚本是通过psutil工具获取所在计算节点或者虚拟机的CPU、内存以及网络带宽使用情况,并与Server端通信,将获取到的监控数据和相应的时间t发送给云平台的控制节点。控制节点利用当前时间t物理主机的监控数据计算物理主机负载值,并和传递过来的虚拟机CPU、内存、网络带宽使用率数据一起存入MongoDB数据库存入控制节点上的MongoDB数据库进行保存。以上过程为资源监控过程,不断重复进行。
⑵实时数据分析。负责数据分析统计工作,包括物理主机负载分析和云平台的数据分析;物理主机的负载分析通过从资源监控模块获取到的当前物理主机的CPU、内存和网络带宽的资源总量和使用率,计算各物理主机的实时负载值,将物理主机的负载值传递给迁移判定模块;云平台的数据分析是对云平台的负载均衡度和总能耗进行统计,注:云平台的负载均衡度为云平台中所有物理主机负载值的方差,总能耗为云平台中所有物理主机的能耗总和。物理主机的负载、能耗指标与CPU、内存、网络带宽的关系见后文具体实施方式中的关键概念说明。定期生成负载均衡度和能耗报告是便于对本发明中动态调度方法的效果进行观察和统计,是否随着本动态调度方法的运行,改善了云平台的负载均衡度和总能耗。
⑶物理主机迁移判定。①初始化物理主机集合H={Host1,Host2,…,Hostn}为云平台所有可用物理主机,上限迁移集合Smax、下限迁移集合Smin均为空,取出H中第一个物理主机,②初步判定物理主机的负载状态。即该物理主机是高负载、低负载还是正常。具体做法如下:接收实时数据分析模块传递过来的各物理主机当前时刻t的负载值WorkLoad,若WorkLoad>0.8,则判定为负载值过高;若WorkLoad<0.3,则判定为负载值过低;否则物理主机负载正常;③接下来进行物理主机历史负载值检测,若物理主机初步判定为高负载状态,则取出该主机前n个历史负载值,若该n个值均高于上限阈值0.8,证明物理主机历史负载值也过高,则进入步骤④负载值预测阶段;低负载状态的处理情况类似,若前n个历史负载值均低于0.3,说明物理主机历史负载值也过低,则进入步骤④负载值预测阶段;④负载值预测阶段。对经过历史负载值检测的物理主机进行负载值的预测,基于AR时间序列预测算法,对物理主机未来m个负载值进行预测,并计算预测的负载值均值,若仍然高于上限阈值或低于下限阈值,则将该节点加入Smax或Smin。AR时序模型表述如下:
yt=θ1yt-12yt-2+…+θpyt-pt
在该模型中,{yt-p,yt-p+1,…,yt-1}为物理主机历史负载值集合,θ12,…,θp为确定的模型参数,εt为噪声序列。在本发明中,采用AR自回归时序预测模型对物理主机负载值进行预测,能够有效刻画物理主机负载的变化趋势和走向,避免由瞬时峰值和瞬时低谷引起的无效迁移和频繁迁移。⑤判断集合H中所有物理主机是否遍历完毕,若全部物理主机遍历完毕,则此阶段算法结束,并将结果反馈给云平台控制节点,得到的上限迁移集合Smax和下限迁移集合Smin,为后续资源调度过程提供依据。若迁移判定模块判定某物理主机无需迁移操作,则将结果反馈给资源监控模块,由资源监控模块继续对该物理主机进行资源监控的行为;否则遍历下一个主机节点,返回步骤②;
上述物理主机判定中n和m的值可根据实际应用场景自行设定。
⑷迁移虚拟机选择。获取⑶中物理主机迁移判定过程得到的上限迁移集合Smax和下限迁移集合Smin,在云平台控制节点上初始化上限虚拟机迁移列表VM_Migrate_MAX和下限虚拟机迁移列表VM_Migrate_MIN为空;首先对集合Smax进行处理,判断Smax中是否为空,若集合不为空,则取出剩余物理主机的第一个,分析该物理主机资源超载属于哪一种情形,比如若物理主机CPU使用率高于上限阈值0.8,则该物理主机属于CPU超载型,内存和网络带宽类似。这样对于三类资源分别是否超载共有7种组合,本发明针对这7种组合采用多样化的虚拟机选择方案选择最适合的虚拟机,并将待迁移虚拟机加入到VM_Migrate_MAX列表中;接下来检测当前物理主机负载值,若该物理主机负载值恢复到正常水平,将该物理主机从Smax删除,对Smax中的其他物理主机进行同样处理操作,否则对当前物理主机继续进行迁移虚拟机的选择;对集合Smax处理完毕后,再对集合Smin进行处理,判断集合Smin是否为空,若集合Smin不为空,则取出剩余物理主机的第一个,将当前物理主机上的所有虚拟机加入到下限虚拟机迁移列表VM_Migrate_MIN中,并继续对Smin中的其他物理主机进行同样处理操作,直到集合Smin为空。
⑸目标主机定位。首先获取⑷中上限虚拟机迁移列表VM_Migrate_MAX和下限虚拟机迁移列表VM_Migrate_MIN,将其结合成总迁移列表VM_Migrate,优先处理上限虚拟机迁移列表VM_Migrate_MAX,并初始化迁移映射表MigrationMap(vm,host为空;若总迁移列表VM_Migrate仍有剩余待迁移虚拟机,则取出VM_Migrate中第一个;根据待迁移的虚拟机的需求和可用物理主机节点集合进行物理主机过滤,将剩余资源不满足虚拟机要求的物理主机剔除,得到过滤后的物理主机集合Host_Avaliable;根据虚拟机对CPU、内存和网络带宽的需求情况计算虚拟机对每个Host_Avaliable中物理主机的CPU、内存和网络带宽需求量和对物理主机的匹配度。其中,资源需求计算方法如下:
Sij=Reqij*WT
三个分量分别代表虚拟机i对物理主机j剩余CPU、内存和网络带宽的资源请求的占比;WT=(W1,W2,W3)为物理主机负载值的权值比例。匹配度计算方法如下:
Matchij=1-Sij
根据各物理主机的匹配度,计算该虚拟机迁移到各物理主机的迁移概率,迁移概率pij计算方法如下:
Matchij为虚拟机i对物理主机j的匹配度,假设经过物理主机过滤后,共有k个节点可以选取,且有将迁移概率从大到小排序,最终选择迁移概率最大的物理主机作为迁移目标物理主机,并加入到迁移映射表MigrationMap中;根据MigrationMap中的映射关系,控制节点发送迁移命令进行虚拟机动态迁移操作,迁移完成后将云平台中空闲物理主机关闭。
本发明未详细描述的部分属于本领域公知技术。

Claims (8)

1.一种面向云平台的虚拟机资源动态调度系统,其特征在于:包括资源监控模块、实时数据分析模块、迁移判定模块、待迁移虚拟机选择模块和目标主机定位模块,其中:
(1)资源监控模块:负责物理主机和虚拟机资源使用情况的实时监控;对云平台中所有物理主机和其上虚拟机的CPU、内存、网络带宽三类资源的资源总量和使用率进行监控,并将获取的物理主机和虚拟机资源的CPU、内存、网络带宽的监控数据与当前时间t传递给实时数据分析模块,并存入到云平台作为控制节点的物理主机的MongoDB数据库中;
(2)实时数据分析模块:负责数据分析统计工作,包括物理主机负载分析和云平台的数据分析;物理主机负载分析通过从资源监控模块获取到的当前物理主机的CPU、内存和网络带宽的资源总量和使用率,计算各物理主机的实时负载值,将物理主机的负载值传递给迁移判定模块;云平台的数据分析是对云平台的负载均衡度和总能耗进行统计,定期生成负载均衡度和能耗报告是便于对本发明中动态调度方法的效果进行观察和统计,是否随着本动态调度方法的运行,改善了云平台的负载均衡度和总能耗,云平台的负载均衡度为云平台中所有物理主机负载值的标准差,总能耗为云平台中所有物理主机的能耗总和;
(3)迁移判定模块:接收实时数据分析模块传递过来的各物理主机的负载值,结合负载值历史数据和预测数据判定物理主机是处于高负载、低负载及正常三个负载状态中的哪一种,并对物理主机是否需要在此刻迁移进行精准的判定,并将判定结果反馈给云平台控制节点,得到上限迁移集合Smax和下限迁移集合Smin作为判定结果,为后续资源调度过程提供依据;若迁移判定模块判定某物理主机无需迁移操作,则将结果反馈给资源监控模块,由资源监控模块继续对该物理主机进行资源监控的行为;
(4)待迁移虚拟机选择模块:对迁移判定模块中负载状态为高负载或低负载的物理主机进行迁移虚拟机的选择,对于集合Smax,选择出最适合的虚拟机组合进行迁移,对物理主机CPU、内存及带宽使用率的值进行分析,根据当前物理主机超载的情形进行匹配,根据当前物理主机资源超载的情形进行匹配,智能的采用多样化的虚拟机选择方案,实现细粒度的选择,得到上限虚拟机迁移列表VM_Migrate_MAX;对于集合Smin,将集合内每个物理主机的所有虚拟机加入到下限虚拟机迁移列表VM_Migrate_MIN,最终得到下限虚拟机迁移列表VM_Migrate_MIN;
(5)目标主机定位模块:为待迁移虚拟机选择模块得到的虚拟机迁移列表VM_Migrate_MAX和VM_Migrate_MIN中的每个虚拟机选择适应度最高的物理主机作为迁移的目的主机,并通过云平台控制节点发送迁移指令进行虚拟机动态迁移操作,迁移工作完成后,将云数据中心中空闲物理主机关闭,在满足迁移要求的同时,要防止迁移后发生无效迁移和链式迁移,满足迁移后提升云平台负载均衡度和降低总能耗的要求,若当前没有适合的物理主机作为某迁移虚拟机的目的主机,则不对该虚拟机进行迁移操作,并将结果反馈给资源监控模块,由资源监控模块继续对该虚拟机的宿主机进行资源监控的行为。
2.根据权利要求1所述的一种面向云平台的虚拟机资源动态调度系统,其特征在于:所述的资源监控模块实现过程如下:
(2.1)初始化云平台下的所有物理主机资源和虚拟机资源;
(2.2)在云平台都有一个物理主机作为平台的控制节点,在控制节点上部署并开启自行编写的监控Server服务脚本,绑定该控制节点的固定端口,实时与云平台上其他物理主机进行通信;
(2.3)云平台上除控制节点外的其他物理主机都作为计算节点,由控制节点负责调度,并与控制节点互相连通,在所有的计算节点和虚拟机内部部署并开启自行编写的监控Agent服务脚本,该Agent服务脚本是通过psutil工具获取所在计算节点或者虚拟机的CPU、内存以及网络带宽使用情况,并与Server端通信,将获取到的监控数据和相应的时间t发送给云平台的控制节点;
(2.4)控制节点利用当前时间t物理主机的监控数据计算物理主机负载值,并和传递过来的虚拟机CPU、内存、网络带宽使用率数据一起存入存入控制节点上的MongoDB数据库进行保存;
(2.5)返回步骤(2.4)继续监控行为。
3.根据权利要求1所述的一种面向云平台的虚拟机资源动态调度系统,其特征在于:所述迁移判定模块实现过程如下:
(3.1)初始化物理主机集合H={Host1,Host2,...,Hostn}为云平台所有可用物理主机,上限迁移集合Smax、下限迁移集合Smin均为空,取出H中第一个物理主机,进入步骤(3.2);
(3.2)初步判定物理主机的负载状态,即该物理主机是高负载、低负载还是正常,具体做法如下:接收实时数据分析模块传递过来的各物理主机当前时刻t的负载值WorkLoad,若WorkLoad>0.8,则判定为负载值过高;若WorkLoad<0.3,则判定为负载值过低;否则,物理主机负载正常;
(3.3)物理主机历史负载值检测,若初步判定为高负载状态,则取出该主机前n个历史负载值,若该n个值均高于上限阈值0.8,则进入步骤3负载预测阶段;低负载状态的处理情况类似,若前n个历史负载值均低于0.3,则进入步骤(4)负载预测阶段,其它情形则转到步骤(3.5);
(3.4)负载值预测阶段,对经过历史负载值检测的物理主机进行负载的预测,基于AR时间序列预测算法,对物理主机未来m个负载值进行预测,并计算预测的负载值均值,若仍然高于上限阈值或低于下限阈值,则将该节点加入Smax或Smin,转到步骤(3.5);
(3.5)判断所有物理主机是否遍历完毕,若全部物理主机遍历完毕,则此阶段算法结束,并将结果反馈给云平台控制节点,得到的上限迁移集合Smax和下限迁移集合Smin,为后续资源调度过程提供依据,若迁移判定模块判定某物理主机无需迁移操作,则将结果反馈给资源监控模块,由资源监控模块继续对该物理主机进行资源监控的行为;否则遍历下一个物理主机,返回步骤(3.2);
上述n和m的值可根据实际应用场景自行设定。
4.根据权利要求1所述的一种面向云平台的虚拟机资源动态调度系统,其特征在于:所述的待迁移虚拟机选择模块实现过程如下:
(4.1)获取迁移判定模块得到的上限迁移集合Smax和下限迁移集合Smin,在云平台控制节点上初始化上限虚拟机迁移列表VM_Migrate_MAX和下限虚拟机迁移列表VM_Migrate_MIN为空;
(4.2)首先对集合Smax进行处理,判断Smax中是否为空,若集合不为空,则取出剩余节点的第一个,进入步骤(4.3),否则进入步骤(4.5);
(4.3)分析该物理主机资源超载属于哪一种情形,比如若物理主机CPU使用率高于上限阈值0.8,则该物理主机属于CPU超载型,内存和网络带宽类似,对于三类资源分别是否超载共有7种组合,针对这7种组合采用多样化的虚拟机选择方案选择最适合的虚拟机,并将待迁移虚拟机加入到VM_Migrate_MAX列表中;
针对物理主机的CPU使用率、内存使用率和网络带宽使用率三类资源分别是否过高进行划分,这里用CPUusage(t)代表物理主机当前时刻t的CPU使用率,Memusage(t)代表物理主机当前时刻t的内存使用率,BWusage(t)代表物理主机当前时刻t的网络带宽使用率,具体定义如下7种组合:
①若物理主机CPUusage(t)>0.8,Memusage(t)<0.8,BWusage(t)<0.8,则物理主机属于CPU超载型;
②若物理主机CPUusage(t)<0.8,Memusage(t)>0.8,BWusage(t)<0.8,则物理主机属于内存超载型;
③若物理主机CPUusage(t)<0.8,Memusage(t)<0.8,BWusage(t)>0.8,则物理主机属于网络带宽超载型;
④若物理主机CPUusage(t)>0.8,Memusage(t)>0.8,BWusage(t)<0.8,则物理主机属于CPU和内存超载型;
⑤若物理主机CPUusage(t)>0.8,Memusage(t)<0.8,BWusage(t)>0.8,则物理主机属于CPU和网络带宽超载型;
⑥若物理主机CPUusage(t)<0.8,Memusage(t)>0.8,BWusage(t)>0.8,则物理主机属于内存和网络带宽超载型;
⑦若物理主机CPUusage(t)>0.8,Memusage(t)>0.8,BWusage(t)>0.8,则物理主机属于CPU、内存和网络带宽超载型;
(4.4)检测当前物理主机负载值,若该物理主机负载值恢复到正常水平,将该物理主机从Smax删除,返回步骤(4.2),否则返回步骤(4.3);
(4.5)对集合Smin进行处理,判断Smin中是否为空,若集合不为空,则取出剩余物理主机的第一个,进入步骤(4.6),否则结束;
(4.6)若当前物理主机满足基本迁移要求,将当前物理主机上的所有虚拟机加入到下限虚拟机迁移列表VM_Migrate_MIN,返回步骤(4.5)。
5.根据权利要求1所述的一种面向云平台的虚拟机资源动态调度系统,其特征在于:所述的目标主机定位模块实现过程如下:
(5.1)获取上限虚拟机迁移列表VM_Migrate_MAX和下限虚拟机迁移列表VM_Migrate_MIN,将其结合成总迁移列表VM_Migrate,优先处理上限虚拟机迁移列表,并初始化迁移映射表MigrationMap(vm,host)为空;
(5.2)若总迁移列表VM_Migrate仍有剩余待迁移虚拟机,则取出VM_Migrate中第一个,进入步骤(5.3),否则进入步骤(5.6);
(5.3)根据待迁移的虚拟机的需求和可用物理主机集合进行物理主机过滤,将剩余资源不满足虚拟机要求的物理主机剔除,得到过滤后的物理主机集合Host_Avaliable;
(5.4)根据虚拟机对CPU、内存和网络带宽的需求情况计算虚拟机对每个Host_Avaliable中物理主机的CPU、内存和网络带宽需求量和对物理主机的匹配度;
(5.5)对步骤(5.4)中各物理主机的匹配度,计算该虚拟机迁移到各节点的迁移概率,并将迁移概率从大到小排序,最终选择迁移概率最大的物理主机作为虚拟机的迁移目标物理主机,并加入到迁移映射表MigrationMap中,并返回步骤(5.2);
(5.6)根据MigrationMap中的迁移映射关系,云平台的控制节点发送迁移指令进行虚拟机动态迁移操作,迁移工作完成后将云平台中空闲物理主机关闭。
6.一种面向云平台的虚拟机资源动态调度方法,其特征在于步骤如下:
(6.1)资源监控,首先初始化云平台下的所有物理主机资源和虚拟机资源,云平台都有一个物理主机作为平台的控制节点;在控制节点上部署并开启自行编写的监控Server服务脚本,绑定控制节点的固定端口3344,实时与云平台上其他物理主机进行通信,云平台上除控制节点外的其他物理主机都作为计算节点,由控制节点负责调度,并与控制节点互相连通;在所有的计算节点和虚拟机内部部署并开启自行编写的监控Agent服务脚本,该Agent服务脚本是通过psutil工具获取所在计算节点或者虚拟机的CPU、内存以及网络带宽使用情况,并与Server端通信,将获取到的监控数据和相应的时间t发送给云平台的控制节点,控制节点利用当前时间t物理主机的监控数据计算物理主机负载值,并和传递过来的虚拟机CPU、内存、网络带宽使用率数据一起存入MongoDB数据库存入控制节点上的MongoDB数据库进行保存;以上过程为资源监控过程,不断重复进行;
(6.2)实时数据分析,负责数据分析统计工作,包括物理主机负载分析和数据中心的数据分析;物理主机负载的分析通过从资源监控模块获取到的当前物理主机的CPU、内存和网络带宽的资源总量和使用率,计算各物理主机的实时负载值,将物理主机的负载值传递给迁移判定模块;数据中心的分析是对云平台的负载均衡度和总能耗进行统计,定期生成负载均衡度和能耗报告是便于对动态调度的效果进行观察和统计,是否随着本动态调度的运行,改善了云平台的负载均衡度和总能耗:
(6.3)物理主机迁移判定,①初始化物理主机集合H={Host1,Host2,...,Hostn}为云平台所有可用节点,上限迁移集合Smax、下限迁移集合Smin均为空,取出H中第一个物理主机,②初步判定物理主机的负载状态,即该物理主机是高负载、低负载还是正常;③接下来进行物理主机历史负载值检测,若物理主机初步判定为高负载状态,则取出该主机前n个历史负载值,若该n个值均高于上限阈值0.8,证明物理主机历史负载值也过高,则进入步骤④负载值预测阶段;低负载状态的处理情况类似,若前n个历史负载值均低于0.3,说明物理主机历史负载值也过低,则进入步骤负载值预测阶段;④负载值预测阶段,对经过历史负载值检测的物理主机进行负载值的预测,基于AR时间序列预测算法,对物理主机未来m个负载值进行预测,并计算预测的负载值均值,若仍然高于上限阈值或低于下限阈值,则将该节点加入Smax或Smin,采用AR自回归时序预测模型对物理主机负载值进行预测,能够有效刻画物理主机负载的变化趋势和走向,避免由瞬时峰值和瞬时低谷引起的无效迁移和频繁迁移;⑤判断集合H中所有物理主机是否遍历完毕,若全部物理主机遍历完毕,则此阶段结束,并将结果反馈给云平台控制节点,得到的上限迁移集合Smax和下限迁移集合Smin,为后续资源调度过程提供依据,若迁移判定模块判定某物理主机无需迁移操作,则将结果反馈给资源监控模块,由资源监控模块继续对该物理主机进行资源监控的行为;否则遍历下一个主机节点,返回步骤②;
(6.4)迁移虚拟机选择,获取(6.3)中物理主机迁移判定过程得到的上限迁移集合Smax和下限迁移集合Smin,在云平台控制节点上初始化上限虚拟机迁移列表VM_Migrate_MAX和下限虚拟机迁移列表VM_Migrate_MIN为空;首先对集合Smax进行处理,判断Smax中是否为空,若集合不为空,则取出剩余物理主机的第一个,分析该物理主机资源超载属于哪一种情形,若物理主机CPU使用率高于上限阈值,则该物理主机属于CPU超载型,内存和网络带宽类似,这样对于三类资源分别是否超载共有7种组合,7种组合采用多样化的虚拟机选择方案选择最适合的虚拟机,并将待迁移虚拟机加入到VM_Migrate_MAX列表中;
针对物理主机的CPU使用率、内存使用率和网络带宽使用率三类资源分别是否过高进行划分,这里用CPUusage(t)代表物理主机当前时刻t的CPU使用率,Memusage(t)代表物理主机当前时刻t的内存使用率,BWusage(t)代表物理主机当前时刻t的网络带宽使用率,具体定义如下7种组合:
①若物理主机CPUusage(t)>0.8,Memusage(t)<0.8,BWusage(t)<0.8,则物理主机属于CPU超载型;
②若物理主机CPUusage(t)<0.8,Memusage(t)>0.8,BWusage(t)<0.8,则物理主机属于内存超载型;
③若物理主机CPUusage(t)<0.8,Memusage(t)<0.8,BWusage(t)>0.8,则物理主机属于网络带宽超载型;
④若物理主机CPUusage(t)>0.8,Memusage(t)>0.8,BWusage(t)<0.8,则物理主机属于CPU和内存超载型;
⑤若物理主机CPUusage(t)>0.8,Memusage(t)<0.8,BWusage(t)>0.8,则物理主机属于CPU和网络带宽超载型;
⑥若物理主机CPUusage(t)<0.8,Memusage(t)>0.8,BWusage(t)>0.8,则物理主机属于内存和网络带宽超载型;
⑦若物理主机CPUusage(t)>0.8,Memusage(t)>0.8,BWusage(t)>0.8,则物理主机属于CPU、内存和网络带宽超载型;
接下来检测当前物理主机负载值,若该物理主机负载值恢复到正常水平,将该物理主机从Smax删除,对Smax中的其他物理主机进行同样处理操作,否则对当前物理主机继续进行迁移虚拟机的选择;对集合Smax处理完毕后,再对集合Smin进行处理,判断集合Smin是否为空,若集合Smin不为空,则取出剩余物理主机的第一个,将当前物理主机上的所有虚拟机加入到下限虚拟机迁移列表VM_Migrate_MIN中,并继续对Smin中的其他物理主机进行同样处理操作,直到集合Smin为空;
(6.5)目标主机定位,首先获取(4)中上限虚拟机迁移列表VM_Migrate_MAX和下限虚拟机迁移列表VM_Migrate_MIN,将其结合成总迁移列表VM_Migrate,优先处理上限虚拟机迁移列表VM_Migrate_MAX,并初始化迁移映射表MigrationMap(vm,host)为空;若总迁移列表VM_Migrate仍有剩余待迁移虚拟机,则取出VM_Migrate中第一个;根据待迁移的虚拟机的需求和可用物理主机集合进行物理主机过滤,将剩余资源不满足虚拟机要求的物理主机剔除,得到过滤后的物理主机集合Host_Avaliable;根据虚拟机对CPU、内存和网络带宽的资源需求情况计算虚拟机对每个Host_Avaliable中物理主机的CPU、内存和网络资源带宽需求量和对物理主机的匹配度,其中,资源需求Sij计算方法如下:
Sij=Reqij*WT
三个分量分别代表虚拟机i对物理主机j剩余CPU、内存和网络带宽的资源请求的占比;WT=(W1,W2,W3)为物理主机负载值的权值比例,匹配度计算方法如下:
Matchij=1-Sij
根据各物理主机的匹配度,计算该虚拟机迁移到各物理主机的迁移概率,迁移概率pij计算方法如下:
其中,Matchij为虚拟机i对目标物理主机j的匹配度,假设经过物理主机过滤后,共有k个节点可以选取,且有
将迁移概率从大到小排序,最终选择迁移概率最大的物理主机作为虚拟机的迁移目标物理主机,并加入到迁移映射表MigrationMap中;根据MigrationMap中的迁移映射关系,云平台的控制节点发送迁移命令进行虚拟机动态迁移操作,迁移工作完成后将云平台中空闲物理主机关闭。
7.根据权利要求6所述的一种面向云平台的虚拟机资源动态调度方法,其特征在于:所述步骤(6.3)中,初步判定物理主机的负载状态,即该物理主机是高负载、低负载还是正常具体做法如下:接收实时数据分析模块传递过来的各物理主机当前时刻t的负载值WorkLoad,若WorkLoad>0.8,则判定为负载值过高;若WorkLoad<0.3,则判定为负载值过低;否则物理主机负载正常。
8.根据权利要求6所述的一种面向云平台的虚拟机资源动态调度方法,其特征在于:所述步骤(6.3)中,AR时序模型表述如下:
yt=θ1yt-12yt-2+...+θpyt-pt
在该模型中,{yt-p,yt-p+1,...,yt-1}为物理主机历史负载值集合,θ1,θ2,...,θp为确定的模型参数,εt为噪声序列。
CN201710338875.6A 2017-05-15 2017-05-15 一种面向云平台的虚拟机资源动态调度系统及方法 Active CN106970831B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710338875.6A CN106970831B (zh) 2017-05-15 2017-05-15 一种面向云平台的虚拟机资源动态调度系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710338875.6A CN106970831B (zh) 2017-05-15 2017-05-15 一种面向云平台的虚拟机资源动态调度系统及方法

Publications (2)

Publication Number Publication Date
CN106970831A CN106970831A (zh) 2017-07-21
CN106970831B true CN106970831B (zh) 2019-06-11

Family

ID=59331395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710338875.6A Active CN106970831B (zh) 2017-05-15 2017-05-15 一种面向云平台的虚拟机资源动态调度系统及方法

Country Status (1)

Country Link
CN (1) CN106970831B (zh)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107368352B (zh) * 2017-07-26 2020-05-15 苏州浪潮智能科技有限公司 虚拟机资源的管理方法和装置
CN107422990B (zh) * 2017-07-28 2020-02-07 郑州云海信息技术有限公司 一种动态迁移方法及装置
CN107608754A (zh) * 2017-07-31 2018-01-19 郑州云海信息技术有限公司 一种虚拟机调度方法和装置
CN107391233A (zh) * 2017-08-09 2017-11-24 郑州云海信息技术有限公司 一种虚拟机迁移方法和系统
CN107515809A (zh) * 2017-08-18 2017-12-26 国网山东省电力公司信息通信公司 一种电力系统的弹性伸缩方法及系统
CN107479947A (zh) * 2017-08-18 2017-12-15 郑州云海信息技术有限公司 一种虚拟机能耗优化方法和系统
CN107589981A (zh) * 2017-09-07 2018-01-16 北京百悟科技有限公司 一种动态电源管理与动态资源调度方法及装置
CN107872402B (zh) * 2017-11-15 2021-04-09 北京奇艺世纪科技有限公司 全局流量调度的方法、装置及电子设备
CN108134821B (zh) * 2017-12-14 2020-09-08 南京邮电大学 一种基于预计算与实时计算协同的多域资源感知迁移方法
CN109960565B (zh) * 2017-12-25 2021-06-04 航天信息股份有限公司 云平台、基于云平台的虚拟机调度方法及装置
CN108287749A (zh) * 2018-01-11 2018-07-17 郑州云海信息技术有限公司 一种数据中心综合管理系统云资源调度方法
CN108376103A (zh) * 2018-02-08 2018-08-07 厦门集微科技有限公司 一种云平台的资源平衡控制方法及服务器
CN108429815A (zh) * 2018-03-23 2018-08-21 重庆邮电大学 基于OpenStack的动态资源调度方法
CN108733475A (zh) * 2018-05-22 2018-11-02 哈尔滨工业大学(威海) 一种动态反馈调度方法
CN108829494B (zh) * 2018-06-25 2020-09-29 杭州谐云科技有限公司 基于负载预测的容器云平台智能资源优化方法
CN109117269A (zh) * 2018-07-26 2019-01-01 郑州云海信息技术有限公司 一种分布式系统虚拟机调度方法、装置和可读存储介质
CN109101319B (zh) * 2018-08-09 2021-07-27 郑州云海信息技术有限公司 一种在qemu上实现tpcm全虚拟化的平台的工作方法
CN109240806A (zh) * 2018-10-19 2019-01-18 南京机敏软件科技有限公司 云桌面资源智能调整方法及虚拟机、调整系统
CN109388478A (zh) * 2018-11-01 2019-02-26 郑州云海信息技术有限公司 用于OpenStack环境中迁移虚拟机的方法和装置
CN109491788B (zh) * 2018-11-01 2022-12-09 郑州云海信息技术有限公司 一种虚拟化平台负载均衡实现方法及装置
CN109492774B (zh) * 2018-11-06 2021-10-26 北京工业大学 一种基于深度学习的云资源调度方法
EP3696744A1 (en) * 2019-02-13 2020-08-19 Robert Bosch GmbH Safeguarding resources of physical entites in a shared environment
CN110083435A (zh) * 2019-05-08 2019-08-02 扬州大学 基于联盟形成的虚拟机迁移设计方法
CN110308973A (zh) * 2019-07-11 2019-10-08 河海大学常州校区 一种基于能耗优化的容器动态迁移方法
CN110389838B (zh) * 2019-07-24 2021-06-25 北京邮电大学 一种适用于虚拟资源的实时调度和在线迁移管控方法
CN110647077B (zh) * 2019-09-26 2020-12-25 珠海格力电器股份有限公司 一种工控装置的控制方法、系统、存储介质及工控装置
CN110865872B (zh) * 2019-11-14 2022-07-08 北京京航计算通讯研究所 基于资源合理化应用的虚拟化集群资源调度系统
CN111158862B (zh) * 2019-12-31 2024-03-05 嘉兴学院 一种虚拟机调度方法及装置
CN111858031B (zh) * 2020-06-19 2022-06-07 浪潮电子信息产业股份有限公司 一种集群分布式资源调度方法、装置、设备及存储介质
CN112162827A (zh) * 2020-10-20 2021-01-01 腾讯科技(深圳)有限公司 一种云平台容器降配方法、装置、系统及存储介质
CN112181600B (zh) * 2020-10-21 2021-07-13 甘肃柏隆电子商务科技有限责任公司 一种云计算资源管理方法及系统
CN112559122A (zh) * 2020-11-12 2021-03-26 国家电网有限公司 一种基于电力专用安防设备的虚拟化实例管控方法及系统
CN112433813A (zh) * 2020-11-19 2021-03-02 北京浪潮数据技术有限公司 一种资源调度方法、系统、设备及计算机可读存储介质
CN112363808A (zh) * 2020-11-27 2021-02-12 湖南女子学院 一种基于双游标控制机制的虚拟机动态部署方法
CN112328370A (zh) * 2020-11-27 2021-02-05 湖南女子学院 一种基于双游标控制机制的虚拟机资源分配方法
CN113157383A (zh) * 2021-01-22 2021-07-23 浪潮云信息技术股份公司 一种OpenStack环境下动态调整超配比的方法
CN113626282B (zh) * 2021-07-16 2023-12-22 济南浪潮数据技术有限公司 云计算物理节点负载监控方法、装置、终端及存储介质
CN113515503A (zh) * 2021-07-23 2021-10-19 浩鲸云计算科技股份有限公司 一种基于表的InfluxDB数据迁移方法
CN113872673A (zh) * 2021-09-27 2021-12-31 哈工大机器人(中山)无人装备与人工智能研究院 一种卫星星座仿真的容器云资源调度系统及其调度方法
CN113742090B (zh) * 2021-11-08 2022-03-08 苏州浪潮智能科技有限公司 面向虚拟机的负载均衡方法、装置和存储介质
CN114253667B (zh) * 2021-11-19 2023-11-03 苏州浪潮智能科技有限公司 一种基于网络负载的虚拟机数据迁移智能限速方法及装置
CN115617279B (zh) * 2022-12-13 2023-03-31 北京中电德瑞电子科技有限公司 分布式云数据的处理方法、装置及存储介质
CN115878329A (zh) * 2023-02-02 2023-03-31 天翼云科技有限公司 宿主机资源调度方法、装置、电子设备和存储介质
CN116866154B (zh) * 2023-09-05 2023-11-28 湖北华中电力科技开发有限责任公司 一种基于虚拟机集群的配电网通讯服务智能调度管理系统
CN117148955B (zh) * 2023-10-30 2024-02-06 北京阳光金力科技发展有限公司 一种基于能耗数据的数据中心能耗管理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102281329A (zh) * 2011-08-02 2011-12-14 北京邮电大学 一种PaaS云平台的资源调度方法和系统
CN102546379A (zh) * 2010-12-27 2012-07-04 中国移动通信集团公司 一种虚拟化资源调度的方法及虚拟化资源调度系统
CN103051710A (zh) * 2012-12-20 2013-04-17 中国科学院深圳先进技术研究院 一种虚拟云平台管理系统及方法
CN104601664A (zh) * 2014-12-22 2015-05-06 西安电子科技大学 一种云计算平台资源管理与虚拟机调度的控制系统
CN105577727A (zh) * 2014-10-16 2016-05-11 南京瀚和软件技术有限公司 一种云计算虚拟机管理平台系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546379A (zh) * 2010-12-27 2012-07-04 中国移动通信集团公司 一种虚拟化资源调度的方法及虚拟化资源调度系统
CN102281329A (zh) * 2011-08-02 2011-12-14 北京邮电大学 一种PaaS云平台的资源调度方法和系统
CN103051710A (zh) * 2012-12-20 2013-04-17 中国科学院深圳先进技术研究院 一种虚拟云平台管理系统及方法
CN105577727A (zh) * 2014-10-16 2016-05-11 南京瀚和软件技术有限公司 一种云计算虚拟机管理平台系统
CN104601664A (zh) * 2014-12-22 2015-05-06 西安电子科技大学 一种云计算平台资源管理与虚拟机调度的控制系统

Also Published As

Publication number Publication date
CN106970831A (zh) 2017-07-21

Similar Documents

Publication Publication Date Title
CN106970831B (zh) 一种面向云平台的虚拟机资源动态调度系统及方法
CN104102543B (zh) 一种云计算环境中负载调整的方法和装置
CN108829494B (zh) 基于负载预测的容器云平台智能资源优化方法
CN110389838A (zh) 一种适用于虚拟资源的实时调度和在线迁移管控方法
CN109918198A (zh) 一种基于用户特征预测的仿真云平台负载调度系统及方法
CN108182105B (zh) 基于Docker容器技术的局部动态迁移方法及控制系统
CN104038540B (zh) 一种应用代理服务器自动选择方法及系统
CN102130938B (zh) 一种面向Web应用宿主平台的资源供给方法
CN104050042B (zh) Etl作业的资源分配方法及装置
CN108388472A (zh) 一种基于Docker集群的弹性任务调度系统及方法
CN105245617A (zh) 一种基于容器的服务器资源供给方法
CN108108245B (zh) 一种云平台宽节点科学工作流的混合型调度方法及系统
CN103856337B (zh) 资源占用率获取方法、提供方法、系统及服务器
CN104298550A (zh) 一种面向Hadoop的动态调度方法
CN104050043A (zh) 基于共享缓存感知的虚拟机调度方法和装置
CN102176696B (zh) 多计算机系统
CN111752678A (zh) 面向边缘计算中分布式协同学习的低功耗容器放置方法
CN107479947A (zh) 一种虚拟机能耗优化方法和系统
CN111061561A (zh) 云计算管理平台的全阶段负载分担综合优化方法
CN103475538A (zh) 一种基于多接口的自适应的云服务测试方法
WO2023109068A1 (zh) 一种多云环境下基于用户体验的虚拟机自动迁移决策方法
CN104753977A (zh) 基于模糊聚类的地震处理解释基础设施云资源调度方法
CN106209967A (zh) 一种视频监控云资源预测方法及系统
CN108287749A (zh) 一种数据中心综合管理系统云资源调度方法
CN115718644A (zh) 一种面向云数据中心的计算任务跨区迁移方法及系统

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant